]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
[grub2.git] / ChangeLog
CommitLineData
7e720a9b
VS
12010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
5 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
9
a7fc080b
VS
102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13 error.
14
2bf6012d
VS
152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18
265d68cd
VS
192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22 condition.
23
242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25
26 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27 part.
28
265d68cd 292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
30
31 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
32 pointers.
33
265d68cd 342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
35
36 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
37
d1b61374
CF
382010-05-01 Christian Franke <franke@computer.org>
39
40 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
41 Remove broken Cygwin path conversion.
42 * util/misc.c: [__CYGWIN__] Add include and define.
43 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
44 for Cygwin 1.7.
45 (make_system_path_relative_to_its_root): Simplify loop, replace early
46 return by break.
47 [__CYGWIN__] Add conversion to win32 path.
48 Include "/" case in trailing slash removal.
49
3558c6e9
VS
502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * kern/main.c (grub_load_config): Fix copy-pasted comment.
53 Reported by: Seth Goldberg
54
f5f3ff93
VS
552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * commands/help.c (grub_cmd_help): Fix a typo.
58 Reported by: Seth Goldberg
59
d8b5cd40
VS
602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
63 name and add N_.
64 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
65 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
66 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
67 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
68 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
69 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
70 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
71 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
72 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
73 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
74 * normal/context.c (GRUB_MOD_INIT): Likewise.
75 * normal/main.c (GRUB_MOD_INIT): Likewise.
76 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
77 * term/serial.c (GRUB_MOD_INIT): Likewise.
78 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
79
88c14915
VS
802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
83 extra == 0.
84
165134bc
VS
852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * commands/iorw.c: New file.
88 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
89 (iorw_mod_SOURCES): New variable.
90 (iorw_mod_CFLAGS): Likewise.
91 (iorw_mod_LDFLAGS): Likewise.
92
c5ac9b32
VS
932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Hotkey support
96
97 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
98 * normal/main.c (hotkey_aliases): New variable.
99 (grub_normal_add_menu_entry): Parse "--hotkey".
100 * normal/menu_text.c (run_menu): Handle hotkeys.
101
ce60689c
VS
1022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * kern/i386/coreboot/init.c (grub_machine_init): Call
105 grub_machine_mmap_init on qemu.
106
0359d006
VS
1072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * boot/i386/qemu/boot.S: Add a missing .code16.
110
7819a456
VS
1112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Use LBIO on coreboot.
114
115 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
116 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
117 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
118 New declaration.
119 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
120 grub_machine_mmap_init on coreboot.
121 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
122 GRUB_LINUXBIOS_MEMBER_LINK.
123 (grub_machine_mmap_iterate): Fix declaration.
124 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
125
7210dca9
VS
1262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Split coreboot and multiboot ports.
129
130 * conf/i386-multiboot.rmk: New file.
131 * configure.ac: Add multiboot port.
132 * include/grub/i386/multiboot/boot.h: New file.
133 * include/grub/i386/multiboot/console.h: Likewise.
134 * include/grub/i386/multiboot/init.h: Likewise.
135 * include/grub/i386/multiboot/kernel.h: Likewise.
136 * include/grub/i386/multiboot/loader.h: Likewise.
137 * include/grub/i386/multiboot/memory.h: Likewise.
138 * include/grub/i386/multiboot/serial.h: Likewise.
139 * include/grub/i386/multiboot/time.h: Likewise.
140 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
141 * loader/multiboot.c: Likewise.
142 * loader/multiboot_mbi2.c: Likewise.
143 * util/grub-mkrescue.in: Generate multiboot rescue.
144
6f8aaf68
VS
1452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
146
3080f7a7
VS
147 * kern/parser.c (grub_parser_execute): Cope with read-only config.
148
1492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
152
153 * commands/terminal.c (abstract_terminal): New struct.
154 (handle_command): New function. Based on grub_cmd_terminal_input.
155 (grub_cmd_terminal_input): Use handle_command.
156 (grub_cmd_terminal_output): Use handle_command.
157
a8ebb841
BC
1582010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
159
160 Fix comment handling.
161
162 * tests/grub_script_comments.in: New testcase.
163 * conf/tests.rmk: Rules for new testcase.
164 * script/yylex.l: Updated flex rules.
165
bb06ba08
ST
1662010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
167
168 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
169 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
170 if argc is 1.
bb06ba08 171
cc9d2425
VS
1722010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
175 autogen issues.
176
460d8402
CF
1772010-04-26 Christian Franke <franke@computer.org>
178
179 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
180 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
181 (grub_get_prefix): Remove function.
182 * util/grub-emu.c (main): Replace grub_get_prefix () call by
183 make_system_path_relative_to_its_root ().
184 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
185
553c01f9
CF
1862010-04-24 Christian Franke <franke@computer.org>
187
188 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
189 (kernel_img_LDFLAGS): Remove -static-libgcc.
190
2aec1692
CF
1912010-04-24 Christian Franke <franke@computer.org>
192
193 * configure.ac: Do not CHECK_BSS_START_SYMBOL
194 and CHECK_END_SYMBOL if grub-emu is built.
195 Unset TARGET_OBJ2ELF if grub-emu is built
196 without module support.
197
f67dc308
JS
1982010-04-24 Jiro SEKIBA <jir@unicus.jp>
199
200 Nilfs2 support.
201
202 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
203 (grub_fstest_SOURCES): Likewise.
204 (pkglib_MODULES): Add nilfs2.mod.
205 (nilfs2_mod_SOURCES): New variable.
206 (nilfs2_mod_CFLAGS): Likewise.
207 (nilfs2_mod_LDFLAGS): Likewise.
208 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
209 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
210 * fs/nilfs2.c: New file.
211
4ba8d354
VS
2122010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
215 is not supported.
216
0d2c20c6
GS
2172010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
218
219 Add grub-mkconfig support for NetBSD.
220
221 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
222 * util/grub-mkconfig.in: export new NetBSD specific variables.
223 * po/POTFILES-shell: added 10_netbsd.in.
224 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
225
bc4a2d83
BC
2262010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
227
228 Fix emu build with grub-emu-pci and grub-emu-modules.
229
230 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
231 functions.
232 * include/grub/libpciaccess.h: New file.
233 * conf/any-emu.rmk: Update kernel headers for emu build.
234
f48c87aa
VS
2352010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
238
18959385
VS
2392010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
242
0037de3f
VS
2432010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
246 Retrieve chosen/bootpath if bootpath isn't hardcoded.
247 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
248 util/ieee1275/ofpath.c.
249 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
250 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
251 * include/grub/sparc64/ieee1275/boot.h
252 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
253 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
254 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
255 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
256 const char *.
257 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
258 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
259 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
260 install.
261
38e55e90
GS
2622010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
263
264 * util/grub-mkconfig.in: Corrected two == equality tests.
265 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
266 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
267 expect a number appended to it.
268 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
269 expects a number appended to it.
270
a9e6ff28
VS
2712010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
274
0b830b8f
VS
2752010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * util/hostdisk.c (make_device_name): Change to new partition naming.
278
0973daeb
VS
2792010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
282
460d8402 2832010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
284
285 * Makefile.in: Add missing localedir setting.
286
0b456309
CW
2872010-04-14 Colin Watson <cjwatson@ubuntu.com>
288
289 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
290 mistake in r2156. Noticed by Anthony Fok.
291
292 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
293 @localedir@.
294 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
295
08f46d62
BC
2962010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
297
298 Fix a spurious, uninitialized variable warning.
299
300 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
301 Initialize variable, shdr.
302 (grub_freebsd_load_elfmodule): Likewise.
303 (grub_freebsd_load_elf_meta): Likewise.
304
8c4a72d4
BC
3052010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
306
307 Fix for escaped dollar in double quoted strings.
308
309 * script/yylex.l: Updated flex rules.
310 * conf/tests.rmk: Rule for new testcase.
311 * tests/grub_script_dollar.in: New testcase.
312
ce44826e
CPE
3132010-04-13 Carles Pina i Estany <carles@pina.cat>
3142010-04-13 Colin Watson <cjwatson@ubuntu.com>
315
316 Enclose all translated strings in grub.cfg in single quotes, and
317 escape them appropriately (Ubuntu bug #552921).
318
319 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
320 * util/grub.d/10_hurd.in: Use it.
321 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
322 * util/grub.d/10_linux.in (linux_entry): Likewise.
323
4b0cd8f8
VS
3242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Fix cygwin compilation.
327
328 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
329 * include/grub/misc.h (__register_frame_info)
330 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
331 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
332 * kern/misc.c (__register_frame_info)
333 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
334 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
335
01fcf061
VS
3362010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
339
5d04b11e
VS
3402010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Unify libgcc processing.
343
344 * Makefile.in (kernel_img_LDFLAGS): New variable.
345 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
346 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
347 overwriting.
348 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
349 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
350 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
351 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
352 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
353 overwriting. Remove -lgcc and -static-libgcc
354 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
355 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
356 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
357 (kernel_img_LDFLAGS): Append instead of overwriting.
358 Remove -lgcc and -static-libgcc
359 * conf/sparc64-ieee1275.rmk: Likewise.
360 * include/grub/powerpc/libgcc.h: Move to ...
361 * include/grub/libgcc.h: .. this.
362 * include/grub/libgcc.h: Don't export most of the function on x86.
363 (__bswapsi2): New export.
364 (__bswapdi2): Likewise.
365 * include/grub/mips/libgcc.h: Removed.
366 * include/grub/sparc64/libgcc.h: Likewise.
367
b7f3ac29
VS
3682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
371 disk_info_msg (conflicts with gettexting into languages with cases).
372
2c7031b1
GS
3732010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
374
375 Add grub-probe support for NetBSD.
376
377 * util/getroot.c (find_root_device): Convert block device to
378 character device on NetBSD.
379 * util/probe.c (probe): Require character device on NetBSD.
380 * util/hostdisk.c: NetBSD specific headers.
381 (configure_device_driver): new function to tune device driver
382 parameters (currently only for NetBSD floppy driver).
383 (grub_util_biosdisk_open): NetBSD specific code (get disk size
384 via disklabel ioctl).
385 (open_device): call configure_device_driver on NetBSD.
386 (convert_system_partition_to_system_disk): NetBSD specific code.
387 (device_is_wholedisk): Likewise.
388 (grub_util_biosdisk_get_grub_dev): Likewise.
389 (make_device_name): Fixed a typo in bsd_part_str.
390 * configure.ac: check for opendisk() and getrawpartition() on
391 NetBSD and set LIBUTIL.
392 * Makefile.in: add LIBUTIL to LIBS.
393
f516290c
BC
3942010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
395
396 Documentation fix.
397
398 * util/grub-script-check.c: Better help message.
399
d8dcc0df
BC
4002010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
401
402 Fix FreeBSD build.
403
404 * configure.ac: Flex version check.
405 * conf/common.rmk: Add -Wno-error to sh.mod.
406 * script/yylex.l: Remove all #pragma.
407
6734334a
VS
4082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * include/grub/util/misc.h (canonicalise_file_name): Add missing
411 prototype.
412 Reported by: Seth Goldberg.
413
daea6abd
VS
4142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
417 Rename "module" to "module2".
418 Reported by: Seth Goldberg.
419
f2fd9d2b
VS
4202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
423 EXPORT_FUNC.
424 Reported by: Seth Goldberg.
425
be124579
VS
4262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * lib/posix_wrap/locale.h: Add missing file.
429 Reported by: Seth Goldberg.
430
ef5da797
VS
4312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
432
433 grub-emu module load support.
434
435 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
436 NO_DYNAMIC_MODULES switched to this.
437 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
438 (CFLAGS): Likewise.
439 * conf/any-emu.rmk: Generate symlist.
440 (kernel_img_HEADERS): Add util/datetime.h.
441 (kernel_img_HEADERS) [sdl]: Add sdl.h.
442 (kernel_img_HEADERS) [libusb]: Add libusb.h.
443 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
444 kern/$(target_cpu)/cache.S.
445 * configure.ac (grub-emu-modules): New option.
446 * genmk.rb: Handle multiple source lists.
447 * include/grub/sdl.h: New file.
448 * include/grub/libusb.h: Likewise.
449 * util/grub-emu.c (main): Hanle (host) root.
450 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
451 GRUB_ERR_UNKNOWN_DEVICE.
452 * util/misc.c: Move mm functions to ...
453 * util/mm.c: ... here. All users updated.
454
47822096
VS
4552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
458 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
459 missing files.
460 (maintainer-clean): Remove libgcrypt-grub.
461
5d7e7445
VS
4622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
465
25f4e252
EC
4662010-04-09 EFI Coder <eficoder@hotmail.com>
467
468 * normal/menu_text.c (print_message): Clean up the message and show
469 the Fn information when on EFI
470 * term/efi/console.c (grub_console_checkkey): Add F4 support.
471
027de555
VS
4722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
475 All users updated.
476 * normal/crypto.c (read_crypto_list): Likewise.
477 * normal/dyncmd.c (read_command_list): Likewise.
478 * normal/term.c (read_terminal_list): Likewise.
479 * normal/main.c (read_lists): Use explicit prefix.
480 (read_lists_hook): Use read_lists.
481 (grub_normal_execute): Likewise.
482
47779711
VS
4832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
486 Reported by: Thomas Schmitt.
487 Add -no-emul-boot to grub-mkisofs parameters.
488
1118c32e
VS
4892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * font/font.c: Indented.
492
7d652447
BC
4932010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
494
495 Elif support to GRUB script (by Deepak Vankadaru).
496
497 * tests/grub_script_if.in: New testcase.
498 * conf/tests.rmk: Rule for new testcase.
499 * script/parser.y: Grammar rules for elif.
500
34bb22df
BC
5012010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
502
503 While and until loops support to GRUB script.
504
505 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
506 (grub_script_create_cmdwhile): New function prototype.
507 (grub_script_execute_cmdwhile): New function prototype.
508 * script/execute.c (grub_script_execute_cmdwhile): New function.
509 * script/parser.y (command): New commands.
510 (whilecmd): New grammar rule.
511 (untilcmd): New grammar rule.
512 * script/script.c (grub_script_create_cmdwhile): New function.
513 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
514 function.
515
516 * tests/grub_script_while1.in: New testcase.
517 * conf/tests.rmk: Rule for new testcase.
518
e215d8e0
VS
5192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
522 as *.jpg.
523
d7c43ba1
MV
5242010-04-09 Mario Vazquez <mariovazq@gmail.com>
525
526 GRUB_BACKGROUND support.
527
528 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
529 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
530
d64795c0
VS
5312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 534 Idea by: Mario Vazquez
d64795c0
VS
535
536 * util/grub.d/00_header.in: Load pf2 and image modules.
537
f267f83a
VS
5382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
539
540 grub-mkconfig multiple terminal support.
541
542 * util/grub-mkconfig.in: Handle multiple terminals correctly.
543 * util/grub.d/00_header.in: Likewise.
544
b7841ceb
VS
5452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * Makefile.in: Specify files explicitly instead of using $< and $@ since
548 we use cd $(srcdir).
549
df60998c
CW
5502010-04-08 Colin Watson <cjwatson@ubuntu.com>
551
552 * util/grub.d/10_linux.in: Only use the first word of
553 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
554 spaces in GRUB_DISTRIBUTOR.
555 * util/grub.d/10_kfreebsd.in: Likewise.
556 * util/grub.d/10_hurd.in: Likewise.
557
fa09c82e
BC
5582010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
559
14e18ae3 560 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
561
562 * tests/util/grub-shell.in: Remove -serial stdio option.
563
daf892b3
BC
5642010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
565
566 POSIX header file wrappers.
567
568 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
569 equivalents.
570 * lib/posix_wrap/ctype.h: Likewise.
571 * lib/posix_wrap/errno.h: Likewise.
572 * lib/posix_wrap/langinfo.h: Likewise.
573 * lib/posix_wrap/limits.h: Likewise.
574 * lib/posix_wrap/localcharset.h: Likewise.
575 * lib/posix_wrap/stdint.h: Likewise.
576 * lib/posix_wrap/stdio.h: Likewise.
577 * lib/posix_wrap/stdlib.h: Likewise.
578 * lib/posix_wrap/string.h: Likewise.
579 * lib/posix_wrap/sys/types.h: Likewise.
580 * lib/posix_wrap/unistd.h: Likewise.
581 * lib/posix_wrap/wchar.h: Likewise.
582 * lib/posix_wrap/wctype.h: Likewise.
583 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
584 (grub_script.yy.h): Likewise.
585 * script/yylex.l: Remove POSIX emulation #defines.
586 * Makefile.in (POSIX_CFLAGS): New variable.
587 (GNULIB_UTIL_CFLAGS): Likewise.
588
589 Regexp support.
590
591 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
592 (regexp_mod_SOURCES): New variable.
593 (regexp_mod_CFLAGS): Likewise.
594 (regexp_mod_LDFLAGS): Likewise.
595 * commands/regexp.c: New file.
596 * gnulib/regcomp.c: New file. Imported from gnulib.
597 * gnulib/regex.c: Likewise.
598 * gnulib/regex_internal.c: Likewise.
599 * gnulib/regex_internal.h: Likewise.
600 * gnulib/regexec.c: Likewise.
601 * gnulib/regex.h: Likewise.
602
974ac4f7
VS
6032010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
606 unsupported video mode types.
607
2622c3ff
VS
6082010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
611
064cb524
VS
6122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
615 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
616
a8c3b552
VS
6172010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
618
619 Remove unused grub_vga_get_font.
620
621 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
622 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
623
187bbe3d
GS
6242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
625
626 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
627 * include/grub/misc.h: Likewise.
628
b9396631
GS
6292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
630
631 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
632 for which failure is fatal.
633
50479feb
GS
6342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
635
636 * util/grub-install.in: Use mkdir -p to create grub directory.
637 * util/i386/efi/grub-install.in: Likewise.
638 * util/ieee1275/grub-install.in: Likewise.
639
b1654fdf
GS
6402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
641
642 * Makefile.in (LEX): new variable.
643
bd5a6415
GS
6442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
645
646 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
647 `=' and added double quotes on operands of this equality test.
648
3db3a82b
VS
6492010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * Makefile.in (uninstall): Remove a leftover debug echo.
652 Reported by: Grégoire Sutre
653
38023412
VS
6542010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
655
656 MIPS multiboot2 support.
657
658 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
659 (multiboot2_mod_SOURCES): New variable.
660 (multiboot2_mod_CFLAGS): Likewise.
661 (multiboot2_mod_LDFLAGS): Likewise.
662 (multiboot2_mod_ASFLAGS): Likewise.
663 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
664 definition.
665 (MULTIBOOT_ENTRY_REGISTER): Likewise.
666 (MULTIBOOT_MBI_REGISTER): Likewise.
667 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
668 (MULTIBOOT_ELF32_MACHINE): Likewise.
669 (MULTIBOOT_ELF64_MACHINE): Likewise.
670 * include/grub/mips/multiboot.h: New file.
671 * include/grub/video.h (grub_video_driver_id): New type
672 GRUB_VIDEO_DRIVER_SM712.
673 (grub_video_get_info_and_fini): Export.
674 (grub_video_get_palette): Likewise.
675 (grub_video_get_driver_id): Likewise.
676 * include/multiboot2.h: Resynced with spec.
677 * loader/i386/multiboot.c: Moved from here ...
678 * loader/multiboot.c: ... here. All users updated.
679 (grub_multiboot_boot): Use platform-specific macros.
680 * loader/i386/multiboot_elfxx.c: Moved from here ...
681 * loader/multiboot_elfxx.c: ... here. All users updated.
682 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
683 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
684 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
685
47674667
VS
6862010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Import gnulib argp module.
689
690 * gnulib/argp-ba.c: New file.
691 * gnulib/argp-eexst.c: Likewise.
692 * gnulib/argp-fmtstream.c: Likewise.
693 * gnulib/argp-fmtstream.h: Likewise.
694 * gnulib/argp-fs-xinl.c: Likewise.
695 * gnulib/argp-help.c: Likewise.
696 * gnulib/argp-namefrob.h: Likewise.
697 * gnulib/argp-parse.c: Likewise.
698 * gnulib/argp-pin.c: Likewise.
699 * gnulib/argp-pv.c: Likewise.
700 * gnulib/argp-pvh.c: Likewise.
701 * gnulib/argp-version-etc.c: Likewise.
702 * gnulib/argp-version-etc.h: Likewise.
703 * gnulib/argp-xinl.c: Likewise.
704 * gnulib/argp.h: Likewise.
705
495442ed
VS
7062010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * kern/device.c (grub_device_iterate): Clear errors after failed
709 opening device.
710
f9fd65df
VS
7112010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
714 returned by firmware.
715
af09641e
VS
7162010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
719 compilation on coreboot and qemu
720
016883a5
VS
7212010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * include/multiboot2.h: Resync with spec.
724
f97e1f7d
VS
7252010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Multiboot2 tag support
728
729 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
730 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
731 Remove loader/multiboot_loader.c.
732 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
733 (grub_multiboot2_real_boot): Likewise.
734 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
735 (grub_get_multiboot_mmap_count): New proto.
736 (grub_fill_multiboot_mmap): Likewise.
737 (grub_multiboot_set_video_mode): Likewise.
738 (grub_multiboot_set_console): Likewise.
739 (grub_multiboot_load): Likewise.
740 (grub_multiboot_load_elf): Likewise.
741 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
742 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
743 * include/multiboot.h: Resynced with specification.
744 * include/multiboot2.h: Resynced with specification.
745 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
746 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
747 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
748 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
749 users updated.
750 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
751 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
752 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
753 Removed.
754 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
755 Moved from here...
756 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
757 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
758 Moved from here...
759 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
760 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
761 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
762 All users updated.
763 * loader/i386/multiboot_mbi2.c: New file.
764
3506b90b
VS
7652010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
766
767 Resync with gnulib.
768
769 * Makefile.in (GNULIB_CFLAGS): New variable.
770 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
771 (grub_script_check_CFLAGS): New variable.
772 * gnulib/alloca.h: Resync with gnulib.
773 * gnulib/error.c: Likewise.
774 * gnulib/error.h: Likewise.
775 * gnulib/fnmatch.c: Likewise.
776 * gnulib/fnmatch_loop.c: Likewise.
777 * gnulib/getdelim.c: Likewise.
778 * gnulib/getline.c: Likewise.
779 * gnulib/getopt.c: Likewise.
780 * gnulib/getopt1.c: Likewise.
781 * gnulib/getopt_int.h: Likewise.
782 * gnulib/gettext.h: Likewise.
783 * gnulib/progname.c: Likewise.
784 * gnulib/progname.h: Likewise.
785
394a3120
GS
7862010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
787
788 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
789 which is the case with --disabled-nls.
790
791 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
792 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
793 * util/misc.c: Likewise.
794 * util/mkisofs/mkisofs.c: Likewise.
795 * util/mkisofs/mkisofs.h: Likewise.
796
969d1c78
VS
7972010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Simplify Apple CC support.
800
801 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
802 Add 0 byte at the end not to have a symbol with empty target.
803 * mmap/i386/pc/mmap_helper.S: Likewise.
804 * genmk.rb: Ignore errors 2030 and 2050.
805 * kern/i386/pc/startup.S: Use LOCAL when possible.
806
8d2977bb
BC
8072010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
808
809 Testcase and the fix for final semicolon on cmdline.
810
811 * tests/grub_script_final_semicolon.in: New testcase.
812 * conf/tests.rmk: Rules for the new testcase.
813 * script/parser.y: Grammar fix.
814
a7bd6915
BC
8152010-03-26 BVK Chaitanya <bvk@localhost>
816
817 Blank lines testcase for GRUB script.
818
819 * tests/grub_script_blanklines.in: New testcase.
820 * conf/tests.rmk: Rules for the new testcase.
821
e4ff6628
VS
8222010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Don't use __FILE__.
825
826 * genmk.rb: Add -DGRUB_FILE to all C targets.
827 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
828 * include/grub/list.h: Likewise.
829 * include/grub/misc.h: Likewise.
830 * include/grub/mm.h: Likewise.
831 * include/grub/test.h: Likewise.
832 * kern/mm.c: Likewise.
833 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
834
6a5cf6b6
VS
8352010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
836
837 Sunpc partitions support.
838
839 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
840 (grub_fstest_SOURCES): Likewise.
841 (pkglib_MODULES): Add part_sunpc.mod.
842 (part_sunpc_mod_SOURCES): New variable.
843 (part_sunpc_mod_CFLAGS): Likewise.
844 (part_sunpc_mod_LDFLAGS): Likewise.
845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
846 * partmap/sunpc.c: New file.
847
746d9045
BC
8482010-03-26 BVK Chaitanya <bvk@localhost>
849
850 For loop support to GRUB script.
851
852 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
853 (grub_script_create_cmdfor): New function prototype.
854 (grub_script_execute_cmdfor): New function prototype.
855 * script/execute.c (grub_script_execute_cmdfor): New function.
856 * script/parser.y (command): New for command.
857 (forcmd): New grammar rule.
858 * script/script.c (grub_script_create_cmdfor): New function.
859 * util/grub-script-check.c (grub_script_execute_cmdfor): New
860 function.
861 * tests/grub_script_for1.in: New testcase.
862 * conf/tests.rmk: Rules for new testcase.
863
18486b18
VS
8642010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Nested partitions
867
868 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
869 'partition' is NULL, grub_partition_get_start already does that.
870 * commands/loadenv.c (check_blocklists): Likewise.
871 (write_blocklists): Likewise.
872 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
873 (grub_fstest_SOURCES): Likewise.
874 (pkglib_MODULES): Add part_bsd.mod.
875 (part_bsd_mod_SOURCES): New variable.
876 (part_bsd_mod_CFLAGS): Likewise.
877 (part_bsd_mod_LDFLAGS): Likewise.
878 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
879 (grub_emu_SOURCES): Likewise.
880 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
881 * include/grub/bsdlabel.h: New file.
882 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
883 'get_name'.
884 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
885 (grub_partition_map_list): New variable.
886 (grub_partition_map_register): Inline.
887 (grub_partition_map_unregister): Likewise.
888 (FOR_PARTITION_MAPS): New macro.
889 (grub_partition_map_iterate): Removed.
890 (grub_partition_get_start): Handle nested partitions.
891 * include/grub/msdos_partition.h: Remove bsd-related entries.
892 (grub_pc_partition): Remove.
893 * kern/disk.c (grub_disk_close): Free partition data.
894 (grub_disk_adjust_range): Handle nested partitions.
895 * kern/partition.c (grub_partition_map_probe): New function.
896 (grub_partition_probe): Parse name to number, handle subpartitions.
897 (get_partmap): New function.
898 (grub_partition_iterate): Handle subpartitions.
899 (grub_partition_get_name): Likewise.
900 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
901 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
902 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
903 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
904 Set 'number'.
905 (acorn_partition_map_probe): Remove.
906 (acorn_partition_map_get_name): Likewise.
907 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
908 Set 'number'.
909 Set 'index' to 0 since there can be only one partition entry per sector.
910 (amiga_partition_map_probe): Remove.
911 (amiga_partition_map_get_name): Likewise.
912 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
913 Set 'number'.
914 Set 'offset' and 'index' to real positions of partitions.
915 (apple_partition_map_probe): Remove.
916 (apple_partition_map_get_name): Likewise.
917 * partmap/bsdlabel.c: New file.
918 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
919 Set 'number'.
920 Allocate 'data' so it can be correctly freed.
921 Set 'index' to offset inside sector.
922 (gpt_partition_map_probe): Remove.
923 (gpt_partition_map_get_name): Likewise.
924 * partmap/msdos.c (grub_partition_parse): Remove.
925 (pc_partition_map_iterate): Don't force raw access.
926 Set 'number'.
927 Make 'ext_offset' a local variable.
928 (pc_partition_map_probe): Remove.
929 (pc_partition_map_get_name): Remove.
930 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
931 Set 'number'.
932 (sun_partition_map_probe): Remove.
933 (sun_partition_map_get_name): Likewise.
934 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
935 (grub_pcpart_type): Likewise.
936 * util/hostdisk.c (open_device): Handle new numbering scheme.
937 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
938 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
939 * util/grub-probe.c (probe_partmap): Handle nested paritions.
940 * util/grub-install.in: Insert all subpartition modules.
941 * util/ieee1275/grub-install.in: Likewise.
942
a3940f88
AG
9432010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
944
945 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
946 grammar.
947
21b99926 9482010-03-24 Colin Watson <cjwatson@ubuntu.com>
949
950 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
951
bed1d352
CW
9522010-03-21 Colin Watson <cjwatson@ubuntu.com>
953
954 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
955 match where 'make install' puts them.
956 * util/i386/efi/grub-install.in: Likewise.
957
c9f58427
CW
9582010-03-19 Colin Watson <cjwatson@ubuntu.com>
959
960 * .bzrignore: Add gentrigtables, grub-script-check,
961 grub_script_check_init.c, grub_script_check_init.h, and
962 trigtables.c.
963
f84afb27
VS
9642010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * kern/parser.c: Indented.
967
ed0e3d30
VS
9682010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
971
0ea81d98
VS
9722010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
975 alpha_mask_size == 0 case.
976
0cdc2a09
BC
9772010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
978
979 GRUB shell lexer and parser improvements.
980
981 * conf/any-emu.rmk: Build rule updates.
982 * conf/common.rmk: Likewise.
983 * conf/i386-coreboot.rmk: Likewise.
984 * conf/i386-efi.rmk: Likewise.
985 * conf/i386-ieee1275.rmk: Likewise.
986 * conf/i386-pc.rmk: Likewise.
987 * conf/powerpc-ieee1275.rmk: Likewise.
988 * conf/x86_64-efi.rmk: Likewise.
989
990 * configure.ac: Configure check for flex.
991
992 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
993 types.
994 (grub_lexer_param): Struct member updates.
995 (grub_parser_param): Likewise.
996 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
997 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
998 (grub_script_lexer_init): Prototype update.
999 (grub_script_lexer_record_start): Likewise.
1000 (grub_script_lexer_record_stop): Likewise.
1001 (grub_script_lexer_yywrap): New function prototype.
1002 (grub_script_lexer_fini): Likewise.
1003 (grub_script_execute_argument_to_string): Removed by...
1004 (grub_script_execute_argument_to_argv): ...better version.
1005
1006 * script/execute.c (ROUND_UPTO): New macro.
1007 (grub_script_execute_cmdline): Out of memory fixes.
1008 (grub_script_execute_menuentry): Likewise.
1009 (grub_script_execute_argument_to_string): Removed. Update all
1010 users by...
1011 (grub_script_execute_argument_to_argv): ...better version.
1012 * script/function.c (grub_script_function_create): Use
1013 grub_script_execute_argument_to_argv instead of
1014 grub_script_execute_argument_to_string.
1015
1016 * script/lexer.c (check_varstate): Removed.
1017 (check_textstate): Removed.
1018 (grub_script_lexer_record_start): Likewise.
1019 (grub_script_lexer_record_stop): Likewise.
1020 (recordchar): Replaced with...
1021 (grub_script_lexer_record): ...new function.
1022 (nextchar): Removed.
1023 (grub_script_lexer_init): Rewritten.
1024 (grub_script_yylex): Rewritten.
1025 (append_newline): New function.
1026 (grub_script_lexer_yywrap): New function.
1027 (grub_script_lexer_fini): New function.
1028 (grub_script_yyerror): Sets error flag.
1029
1030 * script/yylex.l: New file.
1031 (grub_lexer_yyfree): Wrapper for flex yyffre.
1032 (grub_lexer_yyalloc): Likewise.
1033 (grub_lexer_yyrealloc): Likewise.
1034 * script/parser.y: Refactored.
1035
1036 * script/script.c (grub_script_arg_add): Out of memory fixes.
1037 (grub_script_add_arglist): Likewise.
1038 (grub_script_create_cmdline): Likewise.
1039 (grub_script_create_cmdmenu): Likewise.
1040 (grub_script_add_cmd): Likewise.
1041 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
1042 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
1043 unnecessary code.
1044
1045 * tests/grub_script_echo1.in: New testcase.
1046 * tests/grub_script_vars1.in: New testcase.
1047 * tests/grub_script_echo_keywords.in: New testcase.
1048
1d63a066
VS
10492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 Remove some redundancy in build system.
1052
1053 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
1054 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
1055 (TARGET_LDFLAGS): Add -nostdlib.
1056 (TARGET_IMG_LDFLAGS): Likewise.
1057 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
1058 anything since mmap isn't available.
1059 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
1060 Add util/time.c.
1061 (pkglib_MODULES): Remove reboot.mod.
1062 (reboot_mod_SOURCES): Removed.
1063 (reboot_mod_CFLAGS): Likewise.
1064 (reboot_mod_LDFLAGS): Likewise.
1065 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
1066 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
1067 (DEFSYMFILES): Add kernel_syms.lst.
1068 (kernel_img_HEADERS): Add common headers.
1069 (symlist.c): New target.
1070 (kernel_syms.lst): Likewise.
1071 (pkglib_MODULES): Add memdisk.mod.
1072 (memdisk_mod_SOURCES): New variable.
1073 (memdisk_mod_CFLAGS): Likewise.
1074 (memdisk_mod_LDFLAGS): Likewise.
1075 (pkglib_MODULES): Add reboot.mod.
1076 (reboot_mod_SOURCES): New variable.
1077 (reboot_mod_CFLAGS): Likewise.
1078 (reboot_mod_LDFLAGS): Likewise.
1079 (pkglib_MODULES): Add date.mod.
1080 (date_mod_SOURCES): New variable.
1081 (date_mod_CFLAGS): Likewise.
1082 (date_mod_LDFLAGS): Likewise.
1083 (pkglib_MODULES): Add datehook.mod.
1084 (datehook_mod_SOURCES): New variable.
1085 (datehook_mod_CFLAGS): Likewise.
1086 (datehook_mod_LDFLAGS): Likewise.
1087 (pkglib_MODULES): Add lsmmap.mod.
1088 (lsmmap_mod_SOURCES): New variable.
1089 (lsmmap_mod_CFLAGS): Likewise.
1090 (lsmmap_mod_LDFLAGS): Likewise.
1091 (pkglib_MODULES): Add boot.mod.
1092 (boot_mod_SOURCES): New variable.
1093 (boot_mod_CFLAGS): Likewise.
1094 (boot_mod_LDFLAGS): Likewise.
1095 * conf/i386-coreboot.rmk: Removed redundant parts.
1096 * conf/i386-ieee1275.rmk: Likewise.
1097 * conf/i386-pc.rmk: Likewise.
1098 * conf/mips-yeeloong.rmk: Likewise.
1099 * conf/mips.rmk: Likewise.
1100 * conf/powerpc-ieee1275.rmk: Likewise.
1101 * conf/sparc64-ieee1275.rmk: Likewise.
1102 * conf/x86_64-efi.rmk: Likewise.
1103 * conf/i386-coreboot.rmk: Moved qemu parts ..
1104 * conf/i386-qemu.rmk: ... here
1105 * conf/i386-efi.rmk: Moved common parts to...
1106 * conf/x86-efi.rmk: ... here.
1107 * conf/i386.rmk: Added modules common to all x86 variants.
1108 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
1109 * disk/memdisk.c: Remove grub/machine/kernel.h.
1110 * gensymlist.sh.in: Include symbol.h.
1111 * hook/datehook.c: Correct module name.
1112 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
1113 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
1114 * include/grub/i386/efi/serial.h: New file.
1115 * include/grub/x86_64/efi/serial.h: Likewise.
1116 * util/time.c: Likewise.
1117 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
1118
463ac55f
CK
11192010-03-14 Colin King <colin.king@ubuntu.com>
11202010-03-14 Colin Watson <cjwatson@ubuntu.com>
1121
1122 Shrink the pre-partition-table part of boot.img by eight bytes.
1123
1124 * boot/i386/pc/boot.S (ERR): New macro.
1125 (chs_mode): Use ERR.
1126 (geometry_error): Likewise.
1127 (hd_probe_error): Remove. This is only used once, so we wrwite
1128 it inline instead.
1129 (read_error): Instead of printing read_error_string, just set up
1130 %si and fall through to ...
1131 (error_message): ... this new function, also used by ERR.
1132
08e46ede
CW
11332010-03-14 Colin Watson <cjwatson@ubuntu.com>
1134
1135 Speed up consecutive hostdisk operations on the same device.
1136
1137 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
1138 (grub_util_biosdisk_open): Initialise disk->data.
1139 (struct linux_partition_cache): New structure.
1140 (linux_find_partition): Cache partition start positions; these are
1141 expensive to compute on every read and write.
1142 (open_device): Cache open file descriptor in disk->data, so that we
1143 don't have to reopen it and flush the buffer cache for consecutive
1144 operations on the same device.
1145 (grub_util_biosdisk_close): New function.
1146 (grub_util_biosdisk_dev): Set `close' member.
1147
1148 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
1149 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
1150 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1151 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
1152 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
1153
4a6d2d06
VS
11542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 Compile parts of grub-emu as modules.
1157
1158 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
1159 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
1160 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
1161 (all-local): Add $(GRUB_EMU).
1162 (install-local): Install $(GRUB_EMU).
1163 (uninstall): Uninstall $(GRUB_EMU).
1164 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
1165 * kern/dl.c: Likewise.
1166 * commands/sleep.c: Not include machine/time.h.
1167 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
1168 (COMMON_CFLAGS): Likewise.
1169 (sbin_UTILITIES): Remove grub-emu.
1170 (grub_emu_SOURCES): Removed.
1171 (kernel_img_RELOCATABLE): New variable.
1172 (pkglib_PROGRAMS): Add kernel.img.
1173 (kernel_img_SOURCES): New variable
1174 (kernel_img_CFLAGS): Likewise.
1175 (kernel_img_LDFLAGS): Likewise.
1176 (TARGET_NO_STRIP): Likewise.
1177 (TARGET_NO_DYNAMIC_MODULES): Likewise.
1178 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
1179 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
1180 (grub-emu): New target.
1181 (GRUB_EMU): New variable.
1182 * configure.ac: Whitelist -emu as possible x86_64 architecture.
1183 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
1184 * loader/xnu.c: Likewise.
1185 * include/grub/pci.h: Likewise.
1186 * genemuinit.sh: New file.
1187 * genemuinitheader.sh: Likewise.
1188 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
1189 Support TARGET_NO_DYNAMIC_MODULES.
1190 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
1191 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
1192 * disk/loopback.c: Likewise.
1193 * font/font_cmd.c: Likewise.
1194 * partmap/acorn.c: Likewise.
1195 * partmap/amiga.c: Likewise.
1196 * partmap/apple.c: Likewise.
1197 * partmap/gpt.c: Likewise.
1198 * partmap/msdos.c: Likewise.
1199 * partmap/sun.c: Likewise.
1200 * parttool/msdospart.c: Likewise.
1201 * term/gfxterm.c: Likewise.
1202 * video/bitmap.c: Likewise.
1203 * video/readers/jpeg.c: Likewise.
1204 * video/readers/png.c: Likewise.
1205 * video/readers/tga.c: Likewise.
1206 * video/video.c: Likewise.
1207 * util/grub-emu.c (read_command_list): Removed.
1208 (main): Don't call util_init_nls.
1209 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
1210 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
1211
91fdd2ed
VS
12122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
1215 date.mod, datehook.mod.
1216 (datetime_mod_SOURCES): New variable.
1217 (datetime_mod_CFLAGS): Likewise.
1218 (datetime_mod_LDFLAGS): Likewise.
1219 (date_mod_SOURCES): Likewise.
1220 (date_mod_CFLAGS): Likewise.
1221 (date_mod_LDFLAGS): Likewise.
1222 (datehook_mod_SOURCES): Likewise.
1223 (datehook_mod_CFLAGS): Likewise.
1224 (datehook_mod_LDFLAGS): Likewise.
1225 * conf/sparc64-ieee1275.rmk: Likewise.
1226 * lib/ieee1275/datetime.c: New file.
1227
873ccae6
VS
12282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
1231 (ieee1275_fb_mod_SOURCES): New variable.
1232 (ieee1275_fb_mod_CFLAGS): Likewise.
1233 (ieee1275_fb_mod_LDFLAGS): Likewise.
1234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
1235 New proto.
1236 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
1237 (HEAP_MAX_ADDR): Likewise.
1238 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
1239 type.
1240 Correct stop condition.
1241 (grub_ieee1275_devices_iterate): New function.
1242 * video/ieee1275.c: New file.
1243
601c97c0
VS
12442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
1247
1248 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
1249 as scratch.
1250 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
1251 SCRATCH_PAD_DISKBOOT as scratch.
1252 (bootit): Pass Openfirmware pointer in %o4.
1253 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
1254 of 0x200000.
1255 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
1256 with util/grub-mkrawimage.c.
1257 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
1258 * include/grub/aout.h (AOUT_MID_SUN): New definition.
1259 (grub_aout_get_type) [GRUB_UTIL]: Removed.
1260 (grub_aout_load) [GRUB_UTIL]: Likewise.
1261 * include/grub/kernel.h (grub_modules_get_end): New proto.
1262 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
1263 (SCRATCH_PAD_BOOT): New definition.
1264 (SCRATCH_PAD_DISKBOOT): Likewise.
1265 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
1266 * include/grub/sparc64/ieee1275/ieee1275.h
1267 (grub_ieee1275_original_stack): New variable
1268 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
1269 New definition
1270 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
1271 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
1272 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
1273 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
1274 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
1275 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
1276 (grub_platform_image_format_t): New type.
1277 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
1278 * kern/main.c (grub_modules_get_end)
1279 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
1280 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
1281 (codestart): Switch stacks.
1282 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
1283 variable.
1284 (grub_heap_init): Use grub_modules_get_end.
1285 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
1286 stack.
1287 * util/grub-mkrawimage.c (generate_image): Support sparc64.
1288 (main): Likewise.
1289 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
1290
d68b491e
TG
12912010-03-14 Thorsten Glaser <tg@mirbsd.org>
1292
1293 * util/grub-mkrescue.in: Base ISO UUID on UTC.
1294
4e02ed50
MK
12952010-03-08 Matt Kraai <kraai@ftbfs.org>
1296
1297 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
1298 bug #559005).
1299
1f15fc1e
VS
13002010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * genmoddep.awk: Output all missing symbols and not only first.
1303
fce5d8ff
VS
13042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * NEWS: Put the date of 1.98 release.
1307
d1e8a02f
VS
13082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
1311 ft2build.h.
1312
696fd607
VS
13132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
1316 completition in the middle of string.
1317
33e2e6f3
VS
13182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * util/grub-mkrescue.in: Use mktemp with explicit template.
1321
b1f6d291
VS
13222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
1325
2ac227c7
VS
13262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
1329 right pointer.
1330
8f9a632b
VS
13312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Fix FreeBSD compilation.
1334
1335 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
1336 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
1337
60b03859
VS
13382010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
1341
48a5a769
VS
13422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
1345
3ab4bd77
VS
13462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
1349
d116e0d8
RM
13502010-03-04 Robert Millan <rmh.grub@aybabtu.com>
1351
1352 Support relative image path in theme file.
1353
1354 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
1355 (image_set_property): Handle theme_dir and relative path.
1356
c7ef54aa
VS
13572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * configure.ac: Alias amd64 to x86_64.
1360
fcee14ed
VS
13612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * NEWS: mention multiboot on EFI.
1364
d0780363
VS
13652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * kern/main.c (grub_load_modules): Handle errors from init functions of
1368 embeded modules.
1369
41168ea4
VS
13702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * normal/autofs.c (autoload_fs_module): Handle errors.
1373
b54d93ac
VS
13742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 Disable linux.mod on qemu-mips since it's not functional and leads
1377 to compilation failure.
1378
1379 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
1380 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
1381 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
1382 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
1383 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
1384 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
1385 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
1386 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
1387 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
1388 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
1389 Reported by: BVK Chaitanya
1390
fc8345da
JU
13912010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
1392
1393 * INSTALL: Add gettext as a dependency and add qemu to a new section
1394 "Prerequisites for make-check".
1395
4760f979
CF
13962010-03-04 Christian Franke <franke@computer.org>
1397
1398 * util/grub-pe2elf.c: Add missing include "progname.h".
1399
f209b5b2
VS
14002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * normal/crypto.c (read_crypto_list): Fix a typo.
1403 Reported by: Seth Goldberg.
1404
b4b7be98
VS
14052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 1408 Reported by: Seth Goldberg.
b4b7be98 1409
c0ee0385
VS
14102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
1413 ascii.bitmaps.
1414
a8efbf64
VS
14152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 1418 Reported by: Seth Goldberg.
a8efbf64 1419
08dcd913
VS
14202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * util/i386/efi/grub-install.in: Copy gettext files.
1423
c4d0b332
VS
14242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
1427
c6f2fe52
VS
14282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 Wait for user entry basing on presence of output rather than on errors.
1431
1432 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
1433 (grub_install_newline_hook): Likewise.
1434 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
1435 * normal/menu.c (show_menu): Check line_counter to determine presence
1436 of output.
1437 * normal/term.c (grub_normal_line_counter): New variable.
1438 (grub_normal_get_line_counter): New function.
1439 (grub_install_newline_hook): Likewise.
1440
5382b1e4
VS
14412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
1444
5519963b
VS
14452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * configure.ac: Update version to 1.98.
1448
72b28631
VS
14492010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/grub.d/10_linux.in (linux_entry): Don't default to
1452 gfxpayload=keep if Linux doesn't support video handover.
1453
c140a180
VS
14542010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Don't compile video modules on yeeloong since video subsystem is part
1457 of kernel.
1458
1459 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
1460 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
1461 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
1462 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
1463 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
1464 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
1465 * include/grub/bitmap_scale.h: Likewise.
1466 * include/grub/bufio.h: Likewise.
1467 * include/grub/font.h: Likewise.
1468 * include/grub/gfxterm.h: Likewise.
1469 * include/grub/video.h: Likewise.
1470 * include/grub/vbe.h: Don't include video_fb.h.
1471 * video/i386/pc/vbe.c: Include video_fb.h.
1472 * commands/i386/pc/vbetest.c: Include video.h.
1473
a0ca21c2
CW
14742010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
1475
1476 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
1477 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
1478 default entry if GRUB_SAVEDEFAULT=true. This allows using
1479 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
1480 saving a new default on every boot.
1481
4a8a763c
VS
14822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * normal/crypto.c (read_crypto_list): Fix a memory leak.
1485 * normal/term.c (read_terminal_list): Likewise.
1486 * normal/main.c (grub_normal_init_page): Likewise.
1487 (grub_normal_read_line_real): Likewise.
1488
607ffde2
VS
14892010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
1492 memory leak.
1493 Reported by: Seth Goldberg.
1494
2b8fa975
CW
14952010-02-24 Joey Korkames <joey+lists@kidfixit.com>
1496
1497 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
1498 duplicate declaration of `start'.
1499
618307dd
VS
15002010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
1503 filename.
1504 Reported by: Georgy Buranov
1505
7dd05b96 15062010-02-20 Carles Pina i Estany <carles@pina.cat>
1507
1508 * util/grub-mkrawimage.c (usage): Change string formatting to
1509 improve gettext.
1510
d1484a42
MRA
15112010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1512
1513 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
1514 backspace keys.
1515
42b1d186
VS
15162010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
1519 Reported by: Michael Suchanek.
1520
15212010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
1522
1523 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
1524 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
1525
d9f31a41
VS
15262010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Remove any reference to non-free fonts.
1529
1530 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
1531 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
1532 uses non-free components.
1533 * font/font.c (grub_font_get_name): Remove example name.
1534 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
1535 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1536 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
1537 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
1538
2793c71e
GB
15392010-02-16 Georgy Buranov <gburanov@gmail.com>
1540
1541 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
1542
402e3779
VS
15432010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
1546 Double divisor.
1547 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
1548 features.
1549 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
1550
0dd1e0dd
VS
15512010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * gensymlist.sh.in: Use TARGET_CC instead of CC.
1554
6fa7cfce
ST
15552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1556
1557 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
1558 * docs/grub.texi (Command-line and menu entry commands): Document play
1559 command.
1560
37c8483b
ST
15612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1562
1563 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
1564 parse arguments as inline tempo and notes. Move code for playing notes
1565 to...
1566 (play): ... new function.
1567
14da0fb7
ST
15682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1569
1570 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
1571 grub_uint16_t instead of short.
1572 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
1573 disk from little endian to cpu endianness.
1574
04459e70
ST
15752010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
1576
1577 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
1578 GRUB_TICKS_PER_SECOND instead of 120.
1579
a0876943
VS
15802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
1583 escape sequence after \e.
1584
e29f95dc
VS
15852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
1588 non-ASCII characters.
1589
d27859b2
VS
15902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
1593 set root in single quotes to prevent \, from being unescaped.
1594
bc028f2f
VS
15952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 Prevent unknown commands from stopping menuentry execution.
1598
1599 * script/execute.c (grub_script_execute_cmdline): Print error after
1600 unknown command.
1601
095f5f82
VS
16022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
1605 Reported by: Pavel Pisa.
1606
8c717950
VS
16072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
1610
904935c3
VS
16112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 Merge grub_ieee1275_map_physical into grub_map and rename to
1614 grub_ieee1275_map
1615
1616 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
1617 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
1618 Remove.
1619 * kern/ieee1275/openfw.c (grub_map): Rename to ...
1620 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
1621 necessary.
1622 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
1623
5b59a4e3
VS
16242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
1627 opening and not after.
1628
69e137e8
VS
16292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
1632 constants.
1633
2c0fcc36
VS
16342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
1637 (alloc_phys): Use ALIGN_UP instead of align_addr.
1638
8c6052ce
VS
16392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
1642
17cec782
VS
16432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
1646
e0128bbd
VS
16472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
1650 verbose dprintf.
1651
ca62070b
VS
16522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 Fix over-4GiB seek on sparc64.
1655
1656 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
1657 Replace pos_i and pos_lo with pos. All users updated.
1658 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1659 New constant.
1660 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1661 Likewise.
1662 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
1663 and pos_lo.
1664
bdca2607
VS
16652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * util/grub-mkrawimage.c (main): Call set_program_name.
1668
da278c4d
VS
16692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Properly align 64-bit targets.
1672
1673 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
1674 (generate_image): Use ALIGN_ADDR.
1675
b274d734
VS
16762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Properly create cross-endian images.
1679
1680 * include/grub/types.h (grub_host_to_target_addr): New macro
1681 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
1682
82da2062
VS
16832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
1686
7cae4377
VS
16872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
1690
1691 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
1692 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
1693 (grub_linux_boot): Divide by 64K when on VESA.
1694
65a533e7
VS
16952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 Support GRUB_GFXPAYLOAD_LINUX.
1698
1699 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
1700 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
1701
dd01d397
VS
17022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
1705 to show messages instead of discarding them.
1706 Process errors after executing command and not before. Keep old method
1707 too as precaution.
1708
660960d6
VS
17092010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * configure.ac: Check for ft2build.h.
1712
62509f04
VS
17132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
1716
473df63d
VS
17172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * genkernsyms.sh.in: Use TARGET_CC.
1720
c98d2a13
CW
17212010-02-07 Colin Watson <cjwatson@ubuntu.com>
1722
1723 * NEWS: Update.
1724
6e14234c
VS
17252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
1728 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
1729 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 1730
b255e9cf
YB
17312010-02-07 Yves Blusseau <blusseau@zetam.org>
1732
6e14234c 1733 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 1734
98e6959d
VS
17352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Fix warnings in grub-emu when compiling with maximum warning options.
1738
1739 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
1740 (grub_arch_modules_addr): Return 0 and not NULL.
1741 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 1742 (xstrdup): Use newstr instead of dup.
f88d801b
VS
1743 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
1744 of disk to dsk to avoid shadowing.
74e4934e
VS
1745 (find_free_slot): Fix prototype.
1746 * util/getroot.c (grub_util_is_dmraid): Make static.
1747 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
1748 Add missing prototype.
1749 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 1750
74e31b5c
VS
17512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * loader/i386/linux.c (grub_linux_setup_video): Handle error
1754 appropriately.
1755
6b2ad14b
VS
17562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
1759 code out.
1760
8f891adc
VS
17612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
1764 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
1765 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
1766 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
1767 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
1768 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
1769
74b45184
VS
17702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * include/grub/err.h (grub_err_printf): Don't export.
1773
a4bced77
VS
17742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
1777
007d0695
VS
17782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/i18n.h (grub_gettext_dummy): Removed.
1781 * kern/misc.c (grub_gettext_dummy): Make static.
1782
b6c0d9c2
VS
17832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1786 by non-valid ones.
1787 * kern/term.c (grub_putchar): Likewise.
1788
f51a90d0
VS
17892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1792 buggy hook call and memory leak.
1793
6846cec5
VS
17942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1797
468d69fe
VS
17982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1801
51906b8c
VS
18022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1805 modevar.
1806 Return grub_errno on allocation error.
1807
09706ce5
VS
18082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1811
911df80c
YB
18122010-02-06 Yves Blusseau <blusseau@zetam.org>
1813
1814 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1815 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1816
3746a6bc
VS
18172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1820 non-pxe disk.
1821 (grub_pxefs_open): Likewise.
1822
09706ce5
VS
18232010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1824
1825 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1826 * util/grub.d/10_kfreebsd.in: Likewise.
1827 * util/grub.d/10_linux.in: Likewise.
1828
7cc192d9
VS
18292010-02-06 Colin D Bennett <colin@gibibit.com>
1830
1831 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1832 (gfxmenu_mod_SOURCES): New variable.
1833 (gfxmenu_mod_CFLAGS): Likewise.
1834 (gfxmenu_mod_LDFLAGS): Likewise.
1835 * include/grub/term.h (grub_term_set_current_output): Declare
1836 argument as const.
1837 * docs/gfxmenu-theme-example.txt: New file.
1838 * gfxmenu/gfxmenu.c: Likewise.
1839 * gfxmenu/gui_box.c: Likewise.
1840 * gfxmenu/gui_canvas.c: Likewise.
1841 * gfxmenu/gui_circular_progress.c: Likewise.
1842 * gfxmenu/gui_image.c: Likewise.
1843 * gfxmenu/gui_label.c: Likewise.
1844 * gfxmenu/gui_list.c: Likewise.
1845 * gfxmenu/gui_progress_bar.c: Likewise.
1846 * gfxmenu/gui_string_util.c: Likewise.
1847 * gfxmenu/gui_util.c: Likewise.
1848 * gfxmenu/icon_manager.c: Likewise.
1849 * gfxmenu/model.c: Likewise.
1850 * gfxmenu/named_colors.c: Likewise.
1851 * gfxmenu/theme_loader.c: Likewise.
1852 * gfxmenu/view.c: Likewise.
1853 * gfxmenu/widget-box.c: Likewise.
1854 * include/grub/gfxmenu_model.h: Likewise.
1855 * include/grub/gfxmenu_view.h: Likewise.
1856 * include/grub/gfxwidgets.h: Likewise.
1857 * include/grub/gui.h: Likewise.
1858 * include/grub/gui_string_util.h: Likewise.
1859 * include/grub/icon_manager.h: Likewise.
1860
18612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 Agglomerate scrolling in gfxterm.
1864
1865 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1866 (grub_virtual_screen_setup): Initialise 'total_screen'.
1867 (write_char): Split to ...
1868 (paint_char): ... this ...
1869 (write_char): ... and this.
1870 (paint_char): Handle delayed scrolling.
1871 (draw_cursor): Likewise.
1872 (scroll_up): Split to ...
1873 (real_scroll): ... this ...
1874 (scroll_up): ... and this.
1875 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1876 characters.
1877 (grub_gfxterm_refresh): Call real_scroll.
1878
18792010-02-06 Colin D Bennett <colin@gibibit.com>
1880
1881 * include/grub/misc.h (grub_iscntrl): New inline function.
1882 (grub_isalnum): Likewise.
1883 (grub_strtol): Likewise.
1884
18852010-02-06 Colin D Bennett <colin@gibibit.com>
1886
1887 * normal/menu_text.c (get_entry_number): Move from here ...
1888 * normal/menu.c (get_entry_number): ... moved here.
1889 * include/grub/menu.h (grub_menu_get_default_entry_index):
1890 New prototype.
1891 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1892 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1893 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1894 (grub_menu_viewer_should_return): Likewise.
1895 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1896 * normal/menu_text.c (run_menu): Enable menu switching.
1897 * normal/menu_viewer.c (should_return): New variable.
1898 (menu_viewer_changed): Likewise.
1899 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1900 (grub_menu_viewer_should_return): New function.
1901 (menuviewer_write_hook): Likewise.
1902 (grub_menu_viewer_init): Likewise.
1903
19042010-02-06 Colin D Bennet <colin@gibibit.com>
19052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Support for gfxterm in a window.
1908
1909 * include/grub/gfxterm.h: New file.
1910 * include/grub/video.h (struct grub_video_rect): New declaration.
1911 (grub_video_rect_t): Likewise.
1912 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1913 (refcount): New variable.
1914 (render_target): Likewise.
1915 (window): Likewise.
1916 (repaint_callback): Likewise.
1917 (grub_virtual_screen_setup): Use 'render_target'.
1918 (init_window): New function.
1919 (grub_gfxterm_init_window): Likewise.
1920 (grub_gfxterm_init): Check reference counter.
1921 Use init_window.
1922 (destroy_window): New function.
1923 (grub_gfxterm_destroy_window): Likewise.
1924 (grub_gfxterm_fini): Check reference counter.
1925 Use destroy_window.
1926 (redraw_screen_rect): Restore viewport.
1927 Use 'render_target' and 'window'.
1928 Call 'repaint_callback'.
1929 (write_char): Use 'render_target'.
1930 (draw_cursor): Likewise.
1931 (scroll_up): Restore viewport.
1932 Use 'render_target' and 'window'.
1933 Call 'repaint_callback'.
1934 (grub_gfxterm_cls): Likewise.
1935 (grub_gfxterm_refresh): Use 'window'.
1936 (grub_gfxterm_set_repaint_callback): New function.
1937 (grub_gfxterm_background_image_cmd): Use 'window'.
1938 (grub_gfxterm_get_term): New function.
1939 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1940
19412010-02-06 Colin D Bennett <colin@gibibit.com>
1942
1943 Bitmap scaling support.
1944
1945 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1946 (bitmap_scale_mod_SOURCES): New variable.
1947 (bitmap_scale_mod_CFLAGS): Likewise.
1948 (bitmap_scale_mod_LDFLAGS): Likewise.
1949 * include/grub/bitmap_scale.h: New file.
1950 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1951 (background_image_cmd_options): New variable.
1952 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1953 (cmd): Rename and change type to ...
1954 (background_image_cmd_handle): ... this. All users updated.
1955 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1956 * video/bitmap_scale.c: New file.
1957
19582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 SDL support.
1961
1962 * Makefile.in (LIBSDL): New variable.
1963 (enable_grub_emu_sdl): Likewise.
1964 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1965 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1966 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1967 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1968 * util/sdl.c: New file.
1969
19702010-02-06 Colin D Bennett <colin@gibibit.com>
19712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Double buffering support.
1974
1975 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1976 * include/grub/video.h: Update comment.
1977 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1978 New type.
1979 (grub_video_fb_doublebuf_blit_init): New prototype.
1980 * term/gfxterm.c (scroll_up): Support double buffering.
1981 (grub_gfxterm_refresh): Likewise.
1982 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1983 (grub_video_fb_doublebuf_blit_init): Likewise.
1984 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1985 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1986 'displayed_page', 'render_page' and 'update_screen'.
1987 (grub_video_vbe_fini): Free offscreen buffer.
1988 (doublebuf_pageflipping_commit): New function.
1989 (doublebuf_pageflipping_update_screen): Likewise.
1990 (doublebuf_pageflipping_init): Likewise.
1991 (double_buffering_init): Likewise.
1992 (grub_video_vbe_setup): Enable doublebuffering.
1993 (grub_video_vbe_swap_buffers): Implement.
1994 (grub_video_vbe_set_active_render_target): Handle double buffering.
1995 (grub_video_vbe_get_active_render_target): Likewise.
1996 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1997 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1998 (grub_video_vbe_enable_double_buffering): Likewise.
1999 (grub_video_vbe_swap_buffers): Use update_screen.
2000 (grub_video_set_mode): Use double buffering.
2001
20022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2003
2004 * maintainance/gentrigtables.py: Remove.
2005 * lib/trig.c: Likewise.
2006
2007 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
2008
2009 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
2010 `trigtables.c'.
2011 (trigtables.c): New rule.
2012 (gentrigtables): Likewise.
2013 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2014
20152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2016
2017 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
2018 integer constants.
2019
20202010-02-06 Colin D Bennet <colin@gibibit.com>
2021
2022 Trigonometry support.
2023
2024 * include/grub/trig.h: New file.
2025 * lib/trig.c: Likewise.
2026 * maintainance/gentrigtables.py: Likewise.
2027 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
2028 (trig_mod_SOURCES): New variable.
2029 (trig_mod_CFLAGS): Likewise.
2030 (trig_mod_LDFLAGS): Likewise.
2031
5562834e
VS
20322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
2035 disk devices.
2036
4f8528fc
VS
20372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2040 error.
2041
2b4068e9
VS
20422010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * util/hostdisk.c (open_device): Don't use partition device when reading
2045 before the partition.
2046 (grub_util_biosdisk_read): Don't read from partition and before the
2047 partition in single operation.
2048 (grub_util_biosdisk_write): Don't write to partition and before the
2049 partition in single operation.
2050
399f6e4d
TL
20512010-02-03 Torsten Landschoff <torsten@debian.org>
2052
2053 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2054 last sectors.
2055
996649b0
VS
20562010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
2059 CDROM reads.
2060 (grub_biosdisk_write): Refuse to write to CDROM.
2061
3b205d4d
VS
20622010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2065
61e89d9d
VS
20662010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * font/font.c (find_glyph): Check that bmp_idx is available before
2069 using it.
2070 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
2071 with (font == NULL).
2072
bf7fcba2
CS
20732010-01-28 Christian Schmitt <chris@ilovelinux.de>
2074
2075 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2076
f45d2663
BC
20772010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
2078
2079 * include/grub/script_sh.h (sourcecode): Add const qualifier.
2080 * util/grub-script-check.c (getline): Fix empty lines case.
2081
ec1444e6
RM
20822010-01-28 Robert Millan <rmh.grub@aybabtu.com>
2083
2084 * Makefile.in (check): Exit with fail status when one of the tests
2085 fails.
2086 * tests/example_functional_test.c (example_test): Fix reversed assert.
2087 * tests/example_unit_test.c (example_test): Likewise.
2088
2e1cb9bb
CW
20892010-01-28 Colin Watson <cjwatson@ubuntu.com>
2090
2091 * util/grub.d/10_linux.in: This script does not use any of the
2092 contents of gettext.sh, only the external command `gettext', so stop
2093 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
2094 the same prefix as GRUB.)
2095 * util/grub.d/10_kfreebsd.in: Likewise.
2096
63533ab0
VS
20972010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
2100 of the line.
2101
989e1f93
VS
21022010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2105 last sectors.
2106
e709ebe2
VS
21072010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
2110 having a 4KiB and not 32KiB buffer size.
2111
27dea7ed
RM
21122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2113
2114 * util/hostfs.c: Include `<errno.h>'.
2115 (grub_hostfs_read): Handle errors from fseeko() and fread().
2116
67667b9c
RM
21172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2118
2119 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
2120 loop when using read hooks on files whose size isn't sector-aligned.
2121
c294d9d8
RM
21222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2123
2124 Remove unused parameter.
2125
2126 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
2127 (grub_iso9660_open): Remove initialization of `data->length'.
2128
af75a9f1
RM
21292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2130
2131 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
2132 memleak conditions.
2133
254e2ce5 21342010-01-27 Carles Pina i Estany <carles@pina.cat>
2135
2136 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
2137 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2138
b510928c 21392010-01-26 Carles Pina i Estany <carles@pina.cat>
2140
2141 * util/bin2h.c (usage): Fix warning (space after backslash).
2142
aa2f9dd2 21432010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 2144
2145 * font/font.c: Include `grub/fontformat.h.
2146 Remove font file format constants.
2147 (grub_font_load): Use the new macros.
2148 * include/grub/fontformat.h: New file.
2149 * util/grub-mkfont.c: Include `grub/fontformat.c'.
2150 (write_font_pf2): Use the new macros.
2151
94e7e712
RM
21522010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2153
2154 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
2155 does.
2156
3973a59a
RM
21572010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2158
2159 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
2160
2161 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
2162 (_start): Macroify `0x7F'.
2163
2164 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
2165 (make_install_device): Use "(pxe)" as fallback prefix when booting
2166 via PXE.
2167
42e0cba3
GS
21682010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * configure.ac: Reset LIBS after check for libgcc symbols.
2171
847effd8
CW
21722010-01-25 Colin Watson <cjwatson@ubuntu.com>
2173
2174 * util/hostdisk.c (open_device): Add trailing newline to debug
2175 message.
2176
ea4a7e35
GS
21772010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2178
2179 * configure.ac: Check for `limits.h'.
2180 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
2181
67951a53
RM
21822010-01-24 Robert Millan <rmh.grub@aybabtu.com>
2183
2184 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
2185 capitalize error strings.
2186
c273d4ce
ST
21872010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
2188
2189 * util/grub.d/10_hurd.in: Add a recovery mode.
2190
69be5b74
VS
21912010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * configure.ac: Check for libgcc symbols with -nostdlib.
2194
fc9e5810
BC
21952010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
2196
2197 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
2198
4b358c0a
VS
21992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
2202 stack since heap may be unavailable at that point.
2203 (grub_ofconsole_gotoxy): Likewise.
2204
454fcd1c
VS
22052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * configure.ac: Check for _restgpr_14_x.
2208 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
2209 and _savegpr_* prototypes.
2210
566863ca
RM
22112010-01-22 Robert Millan <rmh.grub@aybabtu.com>
2212
2213 Use generic grub_reboot() for i386-efi.
2214
2215 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
2216 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
2217 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2218
bf86e59a
VS
22192010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
2222 presence of "prefix" variable as it breaks when normal.mod is
2223 embedded.
2224
d645e0f8
VS
22252010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
2228 stack since heap is unavailable at that point.
2229
f9ab2e25
VS
22302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
2233 (grub_freebsd_bootinfo): Rewritten.
2234 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2235
01fc7054
VS
22362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2239
caab4fd6
RM
22402010-01-21 Robert Millan <rmh.grub@aybabtu.com>
2241
2242 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
2243 domain now.
2244
67eb1427
FZ
22452010-01-20 Felix Zielcke <fzielcke@z-51.de>
2246
2247 * util/misc.c (make_system_path_relative_to_its_root): Change the work
2248 around for handling "/" to the correct fix. Fix a memory leak. Use
2249 xstrdup instead of strdup.
2250
a9ed4ff3
VS
22512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2254
22552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
2256
2257 Optimise glyph lookup by Basic Multilingual Plane lookup array.
2258
2259 * font/font.c (struct grub_font): New member 'bmp_idx'.
2260 (font_init): Initialise 'bmp_idx'.
2261 (load_font_index): Fill 'bmp_idx'.
2262 (find_glyph): Make inline. Use bmp_idx for BMP characters.
2263
48209f4f
VS
22642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
2267 unnecessary calls.
2268
9f0a4bb7
VS
22692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Move context handling out of the kernel.
2272
2273 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
2274 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
2275 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
2276 * conf/i386-efi.rmk: Likewise.
2277 * conf/i386-ieee1275.rmk: Likewise.
2278 * conf/i386-pc.rmk: Likewise.
2279 * conf/powerpc-ieee1275.rmk: Likewise.
2280 * conf/sparc64-ieee1275.rmk: Likewise.
2281 * conf/x86_64-efi.rmk: Likewise.
2282 * include/grub/env.h: Include grub/menu.h.
2283 (grub_env_var_type): Removed.
2284 (grub_env_var): Replaced field 'type' with 'global'.
2285 (grub_env_find): New prototype.
2286 (grub_env_context_open): Remove EXPORT_FUNC.
2287 (grub_env_context_close): Likewise.
2288 (grub_env_export): Likewise.
2289 (grub_env_set_data_slot): Removed.
2290 (grub_env_get_data_slot): Likewise.
2291 (grub_env_unset_data_slot): Likewise.
2292 (grub_env_unset_menu): New prototype.
2293 (grub_env_set_menu): Likewise.
2294 (grub_env_get_menu): Likewise.
2295 * include/grub/env_private.h: New file.
2296 * include/grub/normal.h (grub_context_init): New prototype.
2297 (grub_context_fini): Likewise.
2298 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
2299 * normal/context.c (grub_cmd_export): ... to here.
2300 * kern/env.c: Include env_private.h.
2301 (HASHSZ): Moved to include/grub/env_private.h.
2302 (grub_env_context): Likewise.
2303 (grub_env_sorted_var): Likewise.
2304 (current_context): Renamed from this ...
2305 (grub_current_context): ...to this. 'static' removed. All users updated.
2306 (grub_env_find): Removed 'static'.
2307 (grub_env_context_open): Moved to normal/context.c.
2308 (grub_env_context_close): Likewise.
2309 (grub_env_export): Likewise.
2310 (mangle_data_slot_name): Removed.
2311 (grub_env_set_data_slot): Likewise.
2312 (grub_env_get_data_slot): Likewise.
2313 (grub_env_unset_data_slot): Likewise.
2314 * kern/main.c (grub_set_root_dev): Don't export root.
2315 It will be done later.
2316 (grub_main): Don't export prefix.
2317 It will be done later.
2318 * normal/context.c: New file.
2319 * normal/main.c (free_menu): Use grub_env_unset_menu.
2320 (grub_normal_add_menu_entry): Use grub_env_get_menu.
2321 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
2322 (GRUB_MOD_INIT(normal)): Call grub_context_init.
2323 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
2324
8dd35b8c
VS
23252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 setpci support.
2328
2329 * commands/setpci.c: New file.
2330 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
2331 (setpci_mod_SOURCES): New variable.
2332 (setpci_mod_CFLAGS): Likewise.
2333 (setpci_mod_LDFLAGS): Likewise.
2334
449193d5
VS
23352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 Byte-addressable PCI configuration space.
2338
2339 * bus/pci.c (grub_pci_make_address): Use byte address instead of
2340 dword address.
2341 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
2342 GRUB_PCI_REG_CACHELINE.
2343 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
2344 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
2345 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
2346 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
2347 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
2348 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
2349 grub_pci_make_address.
2350 (lock_rom_area): Likewise.
2351 * commands/lspci.c (grub_lspci_iter): Use macroses
2352 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
2353 of grub_pci_make_address.
2354 * disk/ata.c (grub_ata_pciinit): Likewise.
2355 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
2356 (GRUB_PCI_REG_VENDOR): Likewise.
2357 (GRUB_PCI_REG_DEVICE): Likewise.
2358 (GRUB_PCI_REG_COMMAND): Likewise.
2359 (GRUB_PCI_REG_STATUS): Likewise.
2360 (GRUB_PCI_REG_REVISION): Likewise.
2361 (GRUB_PCI_REG_CLASS): Likewise.
2362 (GRUB_PCI_REG_CACHELINE): Likewise.
2363 (GRUB_PCI_REG_LAT_TIMER): Likewise.
2364 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
2365 (GRUB_PCI_REG_BIST): Likewise.
2366 (GRUB_PCI_REG_ADDRESSES): Likewise.
2367 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2368 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2369 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2370 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2371 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2372 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2373 (GRUB_PCI_REG_CIS_POINTER): Likewise.
2374 (GRUB_PCI_REG_SUBVENDOR): Likewise.
2375 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
2376 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
2377 (GRUB_PCI_REG_CAP_POINTER): Likewise.
2378 (GRUB_PCI_REG_IRQ_LINE): Likewise.
2379 (GRUB_PCI_REG_IRQ_PIN): Likewise.
2380 (GRUB_PCI_REG_MIN_GNT): Likewise.
2381 (GRUB_PCI_REG_MAX_LAT): Likewise.
2382 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
2383 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
2384 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 2385 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
2386 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
2387 space.
2388
96d73208
RM
23892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2390
2391 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
2392 can be reliably determined to be supported.
2393
d4484482
RM
23942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2395
2396 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
2397 that VESA is supported.
2398 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
2399 supported.
2400
00308ecf
VS
24012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2404
f66924a4
RM
24052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2406
2407 * util/misc.c (make_system_path_relative_to_its_root): Work around
2408 special-casing of "/", as previous incarnation of this routine did.
2409
cbca0ada
VS
24102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Fix any-emu compilation.
2413
2414 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
2415 * grub_bin2h_SOURCES: New variable.
2416
34a66d99
RM
24172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2418
2419 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
2420
94fabf58
RM
24212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2422
2423 * util/grub.d/00_header.in: Fix handling of locale_dir.
2424
02cf98ca
VS
24252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
2428 as possible unifont location (Gentoo).
2429 Reported by: Alexander BrĂ¼ning
2430
327dbcd7
VS
24312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Don't try to generate lists for kernel.img.
2434
2435 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
2436 (pkglib_MODULES): Remove kernel.img.
2437 (kernel_img_EXPORTS): Removed.
2438 (kernel_img_RELOCATABLE): New variable.
2439 * conf/x86_64-efi.rmk: Likewise.
2440 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2441
ca467290
VS
24422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
2445 grub_xasprintf or grub_snprintf.
2446 (grub_vsprintf): Likewise.
2447 (grub_snprintf): New proto.
2448 (grub_vsnprintf): Likewise.
2449 (grub_xasprintf): Likewise.
2450 (grub_xvasprintf): Likewise.
2451 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
2452 (grub_sprintf): Removed.
2453 (grub_vsnprintf): New function.
2454 (grub_snprintf): Likewise.
2455 (grub_xvasprintf): Likewise.
2456 (grub_xasprintf): Likewise.
2457 (grub_vsprintf): Renamed to ...
2458 (grub_vsnprintf_real): ...this. New argument max_len.
2459
aca655fd
BC
24602010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
2461
2462 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
2463 fix grub-script-check warning.
2464
7ee92c32
VS
24652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * include/grub/font.h (grub_font_load): Fix prototype.
2468
f80927ca
VS
24692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2472
119c50ea
VS
24732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * include/grub/x86_64/at_keyboard.h: New file.
2476
47d5f3c1
VS
24772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * loader/mips/linux.c: Include missing grub/i18n.h.
2480
55ff5266
RM
24812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2482
2483 * normal/menu.c (notify_execution_failure): Clarify error message.
2484
c893cc87
RM
24852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2486
2487 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
2488 return value (and revert all return statements). Update users.
2489
917dd370
CW
24902010-01-20 Dan Merillat <debian@dan.merillat.org>
2491
2492 * kern/device.c (grub_device_iterate): Allocate new part_ent
2493 structure based on sizeof (*p) rather than sizeof (p->next), to
2494 account for structure padding.
2495
2496 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
2497 disk is NULL, which might happen for LVM physical volumes with no
2498 LVM signature.
2499
d4a4ee57
RM
25002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2501
2502 * loader/mips/linux.c (grub_cmd_initrd)
2503 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
2504
25052009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2506
2507 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
2508 (grub_video_video_init, grub_video_bitmap_init)
2509 (grub_font_manager_init, grub_term_gfxterm_init)
2510 (grub_at_keyboard_init): New extern declarations.
2511 (grub_machine_init): Initialize gfxterm and at_keyboard.
2512
2513 * kern/main.c (grub_main): Revert grub_printf delay kludge.
2514
2515 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
2516 `gfxterm.mod' into core image.
2517
2518 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2519 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2520 (kernel_img_FORMAT): Copy to ...
2521
2522 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2523 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2524 (kernel_img_FORMAT): ... here, and ...
2525
2526 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2527 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2528 (kernel_img_FORMAT): ... here.
2529
2530 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
2531 and input (at_keyboard) terminals in kernel.
2532 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
2533
2534 (pkglib_MODULES): Remove `pci.mod'.
2535 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
2536 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
2537 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
2538 (at_keyboard_mod_LDFLAGS): Remove variables.
2539
25402010-01-11 Felix Zielcke <fzielcke@z-51.de>
2541
2542 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
2543
25442009-12-10 Robert Millan <rmh.grub@aybabtu.com>
2545
2546 * include/grub/mips/libgcc.h: Only export symbols for functions
2547 that libgcc provides.
2548
25492009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 MIPS support.
2552
2553 * bus/bonito.c: New file.
2554 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
2555 GRUB_PCI_NUM_DEVICES.
2556 * term/i386/pc/serial.c: Move to ...
2557 * term/serial.c: ... here. All users updated.
2558 * util/i386/pc/grub-mkimage.c: Move to ...
2559 * util/grub-mkrawimage.c: ... here. All users updated.
2560 * term/i386/pc/at_keyboard.c: Move to ...
2561 * term/at_keyboard.c: ... here. All users updated.
2562 * conf/mips-qemu-mips.rmk: New file.
2563 * conf/mips-yeeloong.rmk: Likewise.
2564 * conf/mips.rmk: Likewise.
2565 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
2566 mipsel-qemu-mips.
2567 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
2568 to port addresses.
2569 (grub_ata_pciinit): Support CS5536.
2570 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
2571 * font/font_cmd.c (loadfont_command): Open file before passing it to
2572 grub_font_load.
2573 (pseudo_file_read): New function.
2574 (pseudo_file_close): Likewise.
2575 (pseudo_fs): New structure.
2576 (load_font_module): New function.
2577 (GRUB_MOD_INIT(font_manager)): Load embedded font.
2578 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
2579 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
2580 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
2581 * include/grub/i386/at_keyboard.h: Split into ...
2582 * include/grub/at_keyboard.h: ... this ...
2583 * include/grub/i386/at_keyboard.h: ... and this.
2584 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
2585 New prototype.
2586 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
2587 updated.
2588 (grub_elf64_size): Likewise.
2589 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
2590 filename.
2591 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
2592 * include/grub/i386/coreboot/serial.h: Rewritten.
2593 * include/grub/i386/ieee1275/serial.h: Include
2594 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
2595 * include/grub/i386/pc/serial.h: Moved from here ...
2596 * include/grub/serial.h: ... to here. All users updated.
2597 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
2598 (GRUB_PCI_NUM_BUS): Likewise.
2599 (GRUB_PCI_NUM_DEVICES): Likewise.
2600 (grub_pci_device_map_range): Add missing volatile keyword.
2601 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
2602 * include/grub/mips/at_keyboard.h: New file.
2603 * include/grub/mips/cache.h: Likewise.
2604 * include/grub/mips/io.h: Likewise.
2605 * include/grub/mips/kernel.h: Likewise.
2606 * include/grub/mips/libgcc.h: Likewise.
2607 * include/grub/mips/pci.h: Likewise.
2608 * include/grub/mips/qemu-mips/boot.h: Likewise.
2609 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2610 * include/grub/mips/qemu-mips/loader.h: Likewise.
2611 * include/grub/mips/qemu-mips/memory.h: Likewise.
2612 * include/grub/mips/qemu-mips/serial.h: Likewise.
2613 * include/grub/mips/qemu-mips/time.h: Likewise.
2614 * include/grub/mips/relocator.h: Likewise.
2615 * include/grub/mips/time.h: Likewise.
2616 * include/grub/mips/types.h: Likewise.
2617 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
2618 * include/grub/mips/yeeloong/boot.h: Likewise.
2619 * include/grub/mips/yeeloong/kernel.h: Likewise.
2620 * include/grub/mips/yeeloong/loader.h: Likewise.
2621 * include/grub/mips/yeeloong/memory.h: Likewise.
2622 * include/grub/mips/yeeloong/pci.h: Likewise.
2623 * include/grub/mips/yeeloong/serial.h: Likewise.
2624 * include/grub/mips/yeeloong/time.h: Likewise.
2625 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
2626 * kern/elf.c (grub_elf32_size): New parameter. All users
2627 updated.
2628 (grub_elf64_size): Likewise.
2629 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
2630 Load modules before saying "Welcome to GRUB!".
2631 Call grub_refresh after saying "Welcome to GRUB!".
2632 * kern/mips/cache.S: New file.
2633 * kern/mips/cache_flush.S: Likewise.
2634 * kern/mips/dl.c: Likewise.
2635 * kern/mips/init.c: Likewise.
2636 * kern/mips/qemu-mips/init.c: Likewise.
2637 * kern/mips/startup.S: Likewise.
2638 * kern/mips/yeeloong/init.c: Likewise.
2639 * kern/term.c (grub_putcode): Handle NULL terminal.
2640 (grub_getcharwidth): Likewise.
2641 (grub_getkey): Likewise.
2642 (grub_checkkey): Likewise.
2643 (grub_getkeystatus): Likewise.
2644 (grub_getxy): Likewise.
2645 (grub_getwh): Likewise.
2646 (grub_gotoxy): Likewise.
2647 (grub_cls): Likewise.
2648 (grub_setcolorstate): Likewise.
2649 (grub_setcolor): Likewise.
2650 (grub_getcolor): Likewise.
2651 (grub_refresh): Likewise.
2652 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
2653 (write_jump): Add hatch nop.
2654 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
2655 * lib/mips/setjmp.S: New file.
2656 * loader/mips/linux.c: Likewise.
2657 * term/i386/pc/at_keyboard.c: Move from here ...
2658 * term/at_keyboard.c: ... to here.
2659 * term/i386/pc/serial.c: Moved from here ...
2660 * term/serial.c: ... to here. All users updated.
2661 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
2662 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
2663 (serial_translate_key_sequence): Avoid deadlock.
2664 (grub_serial_getkey): Handle backspace.
2665 (grub_serial_putchar): Fix newline handling.
2666 * util/i386/pc/grub-mkimage.c: Move from here ...
2667 * util/grub-mkrawimage.c: ... to here. All users updated.
2668 (generate_image): New parameters 'font_path' and 'format'.
2669 Support embedding font.
2670 Use grub_host_to_target* instead of grub_cpu_to_le*.
2671 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
2672 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
2673 (options): New option "--font".
2674 (usage): Likewise.
2675 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
2676 (main): Handle "--font".
2677 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
2678 (grub_virtual_screen_setup): Set bg_color_display.
2679 (redraw_screen_rect): Use bg_color_display instead of incorrect
2680 bg_color.
2681 (grub_gfxterm_cls): Likewise.
2682 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
2683 Support embedding config file.
2684 (add_segments): Likewise.
2685 (options): New option "--config".
2686 (main): Handle "--config".
2687 * video/sm712.c: New file.
2688
25c2b5b3
RM
26892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2690
2691 Fix parallel builds.
2692
2693 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
2694 font.c depend on ascii.h).
2695
26962010-01-12 Carles Pina i Estany <carles@pina.cat>
2697
2698 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
2699
27002010-01-11 Carles Pina i Estany <carles@pina.cat>
2701
2702 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
2703 By default: disabled.
2704 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
2705 parameter.
2706
27072010-01-10 Carles Pina i Estany <carles@pina.cat>
2708
2709 * font/font.c: Update copyright years.
2710 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
2711
27122010-01-10 Carles Pina i Estany <carles@pina.cat>
2713
2714 * font/font.c: Include `ascii.h'.
2715 (ASCII_BITMAP_SIZE): New macro.
2716 (ascii_font_glyph): Define.
2717 (ascii_glyph_lookup): New function.
2718 (grub_font_get_string_width): Change comment. If glyph not found, use
2719 ascii_glyph_lookup.
2720 (grub_font_get_glyph_with_fallback): If glyph not available returns
2721 ascii_glyph_lookup.
2722 * util/grub-mkfont.c (file_formats): New enum.
2723 (options): Add `ascii-bitmaps' new option.
2724 (usage): Add `asii-bitmaps' new option.
2725 (write_font_ascii_bitmap): New function.
2726 (write_font): Rename to ...
2727 (write_font_p2): ... this. Remove print_glyphs call.
2728 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
2729 used. Call print_glyphs.
2730 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
2731
27322010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2733
2734 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
2735 (grub_bin2h_SOURCES): New variable.
2736 * util/bin2h.c: New file.
2737
915fc1b8
VS
27382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * include/multiboot.h: Resynced with spec.
2741 * include/multiboot2.h: Likewise.
2742 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
2743 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2744
9444b678
RM
27452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2746
2747 * include/grub/term.h (grub_term_register_input,
2748 grub_term_register_output): Check return of terminal init()
2749 routines, and abort if errors are raised.
2750
2751 * commands/terminal.c: Update copyright year.
2752
cba98e8d
RM
27532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2754
2755 * commands/terminal.c (grub_cmd_terminal_input)
2756 (grub_cmd_terminal_output): Check return of terminal init()
2757 routines, and abort if errors are raised.
2758
6f7db5d6
VS
27592010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * include/grub/i386/bsd.h: Fix include pathes.
2762
262bff8d
VS
27632010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Add missing *BSD copyright headers.
2766
2767 * include/grub/aout.h: Add BSD licence.
2768 * include/grub/i386/bsd.h: Parts under different licences moved to ...
2769 * include/grub/i386/freebsd_linker.h: ... here,
2770 * include/grub/i386/freebsd_reboot.h: ... here,
2771 * include/grub/i386/netbsd_bootinfo.h: ... here,
2772 * include/grub/i386/netbsd_reboot.h: ... here,
2773 * include/grub/i386/openbsd_bootarg.h: ... here,
2774 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
2775 licence to each file.
2776
b2cab848
RM
27772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2778
2779 * acinclude.m4: Remove `nop' assembly instruction; it's not
2780 implemented by all architectures.
2781
2cb6be4b
RM
27822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2783
2784 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2785 ELILO. This is no longer necessary.
2786
a2eaee15
BC
27872010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2788
2789 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2790
2791 * util/grub-script-check.c: grub-script-check tool.
2792 * conf/common.rmk: Make rules for grub-script-check.
2793
88d17012
RM
27942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2795
2796 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2797 spotting it back in 2008. Shame on me for forgetting he did.
2798
2799 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2800
8040619d
RM
28012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2802
2803 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2804 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2805 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2806 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2807 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2808 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2809
a0c2a0f6
RM
28102010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2811
2812 * include/grub/test.h: Add license header.
2813 * tests/example_functional_test.c: Likewise.
2814 * tests/example_unit_test.c: Likewise.
2815 * tests/lib/functional_test.c: Likewise.
2816 * tests/lib/test.c: Likewise.
2817 * tests/lib/unit_test.c: Likewise.
2818
b0b13907
VS
28192010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 Use flag-based instead of hook-based video mode selection and "auto"
2822 keyword.
2823
2824 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2825 (grub_video_set_mode): Changed prototype. All users updated.
2826 (grub_video_check_mode_flag): New inline function.
2827 * video/video.c (parse_modespec): New function.
2828 (grub_video_set_mode): Parse flags and keywords.
2829
ea379330 28302010-01-17 Carles Pina i Estany <carles@pina.cat>
2831
2832 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2833 fprintf call.
2834
e15c215e
FZ
28352010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2836
2837 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2838
409ae1c9 28392010-01-16 Carles Pina i Estany <carles@pina.cat>
2840
2841 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2842 string.
2843 * util/grub-emu.c (usage): Likewise.
2844 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2845 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2846 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2847 * util/i386/pc/grub-setup.c (usage): Likewise.
2848
70a14d3d 28492010-01-16 Carles Pina i Estany <carles@pina.cat>
2850
2851 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2852 the message.
2853 (grub_util_info): Likewise.
2854 (grub_util_error): Likewise.
2855 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2856 and/or new lines in `grub_util_warna', `grub_util_info',
2857 `grub_util_error' calls.
2858 * util/getroot.c: Likewise.
2859 * util/grub-editenv.c: Likewise.
2860 * util/grub-emu.c: Likewise.
2861 * util/grub-fstest.c: Likewise.
2862 * util/grub-mkdevicemap.c: Likewise.
2863 * util/grub-mkfont.c: Likewise.
2864 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2865 * util/grub-mkrelpath.c: Likewise.
2866 * util/grub-pe2elf.c: Likewise.
2867 * util/grub-probe.c: Likewise.
2868 * util/hostdisk.c: Likewise.
2869 * util/i386/efi/grub-mkimage.c: Likewise.
2870 * util/i386/pc/grub-mkimage.c: Likewise.
2871 * util/i386/pc/grub-setup.c: Likewise.
2872 * util/ieee1275/ofpath.c: Likewise.
2873 * util/mkisofs/eltorito.c: Likewise.
2874 * util/mkisofs/rock.c: Likewise.
2875 * util/mkisofs/write.c: Likewise.
2876 * util/raid.c: Likewise.
2877 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2878 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2879
a0b766fc
VS
28802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 Enable multiboot on non-pc.
2883
2884 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2885 multiboot.mod and multiboot2.mod to ...
2886 * conf/i386.rmk (pkglib_MODULES): ... here.
2887 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2888 Moved to ...
2889 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2890 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2891 Moved to ...
2892 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2893 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2894 Moved to ...
2895 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2896 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2897 Moved to ...
2898 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2899 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2900 relocator.mod.
2901 (ata_mod_SOURCES): Removed.
2902 (ata_mod_CFLAGS): Likewise.
2903 (ata_mod_LDFLAGS): Likewise.
2904 (relocator_mod_SOURCES): Removed.
2905 (relocator_mod_CFLAGS): Likewise.
2906 (relocator_mod_ASFLAGS): Likewise.
2907 (relocator_mod_LDFLAGS): Likewise.
2908 Include i386.mk.
2909 * include/grub/x86_64/multiboot.h: New file.
2910 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2911 Terminate EFI.
2912
884ade56
VS
29132010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Video multiboot support.
2916
2917 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2918 New prototype.
2919 * include/multiboot.h: Resynced with multiboot specification.
2920 * include/multiboot2.h: Likewise.
2921 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2922 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2923 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2924 (HAS_VGA_TEXT): Likewise.
2925 (accepts_video): New variable.
2926 (grub_multiboot_set_accepts_video): New function.
2927 (grub_multiboot_get_mbi_size): Account for video structures.
2928 (set_video_mode): New function.
2929 (retrieve_video_parameters): Likewise.
2930 (grub_multiboot_make_mbi): Fill video fields.
2931
0d90e8a6
VS
29322010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 Video driver ids.
2935
2936 * include/grub/video.h (grub_video_driver_id): New type.
2937 (grub_video_adapter): New member 'id'. All users updated.
2938 (grub_video_get_driver_id): New proto.
2939 * video/video.c (grub_video_get_driver_id): New function.
2940
5c71db1b 29412010-01-14 Carles Pina i Estany <carles@pina.cat>
2942
2943 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2944 `var=val'.
2945
cca15b52 29462010-01-14 Carles Pina i Estany <carles@pina.cat>
2947
2948 * normal/cmdline.c (print_completion): Gettextizze.
2949
c586fbb2 29502001-01-14 Carles Pina i Estany <carles@pina.cat>
2951
2952 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2953
ba2f6848 29542010-01-14 Carles Pina i Estany <carles@pina.cat>
2955
2956 * gettext/gettext.c (grub_gettext_translate): Push and pop
2957 grub_errno.
2958 (grub_gettext_delete_list): Change comment style.
2959 * kern/err.c (grub_error): Gettextizze.
2960 (grub_fatal): Gettextizze.
2961
0a46429a
RM
29622010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2963
2964 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2965 (grub_linux16_real_boot): ... this.
2966 * kern/i386/loader.S: Likewise.
2967 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2968 (grub_linux16_boot): New function. Switches to text mode and calls
2969 grub_linux16_real_boot().
2970
2971 * loader/i386/bsd.c: Include `<grub/video.h>'.
2972 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2973 text mode before calling grub_unix_real_boot().
2974
2975 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2976 (grub_multiboot_boot): Switch to text mode before calling
2977 grub_relocator32_boot().
2978
2979 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2980 (grub_chainloader_boot): Switch to text mode before calling
2981 grub_chainloader_real_boot().
2982
d6f93a66
RM
29832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29842010-01-05 Colin Watson <cjwatson@ubuntu.com>
2985
2986 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2987 non-empty value.
2988
29892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29902010-01-05 Colin Watson <cjwatson@ubuntu.com>
2991
2992 * util/grub.d/00_header.in: Define a "savedefault" function for use
2993 in menu entries.
2994 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2995
29962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29972010-01-05 Colin Watson <cjwatson@ubuntu.com>
2998
2999 * util/grub-mkconfig_lib.in (save_default_entry): Only set
3000 saved_entry if boot_once is unset.
3001 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
3002 previous saved entry (i.e. grub-reboot).
3003
30042009-12-08 Colin Watson <cjwatson@ubuntu.com>
3005
3006 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
3007
30082009-12-08 Colin Watson <cjwatson@ubuntu.com>
3009
3010 * util/grub.d/00_header.in: Use `set var=val' rather than plain
3011 `var=val'.
3012 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
3013
30142009-12-08 Colin Watson <cjwatson@ubuntu.com>
3015
3016 * util/grub-reboot.in: Fix --version output.
3017 * util/grub-set-default.in: Likewise.
3018
30192009-12-08 Colin Watson <cjwatson@ubuntu.com>
3020
3021 * util/grub.d/00_header.in: Silently ignore zero-sized environment
3022 blocks.
3023
30242009-12-08 Colin Watson <cjwatson@ubuntu.com>
3025
3026 * util/grub.d/00_header.in: Quote the value assigned to `default',
3027 in case it contains spaces.
3028
30292009-12-08 Colin Watson <cjwatson@ubuntu.com>
3030
3031 * util/grub.d/30_os-prober.in: Fix merge error that moved a
3032 `save_default_entry' call from the macosx case to the linux case.
3033
30342009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
30352009-10-25 Colin Watson <cjwatson@ubuntu.com>
3036
3037 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
3038 in `chosen' environment variable.
3039 * normal/menu_text.c (get_entry_number): Check if the variable
3040 matches the title of a menu entry.
3041 (run_menu): Pass menu to get_entry_number.
3042
3043 * util/grub-reboot.in: New file.
3044 * util/grub-set-default.in: New file.
3045 * conf/common.rmk (grub-reboot): New utility.
3046 (grub-set-default): New utility.
3047
3048 * util/grub-mkconfig_lib.in (save_default_entry): New function.
3049 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
3050 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
3051 move it to `saved_entry' for the next boot. Load environment on
3052 initialisation.
3053 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
3054 * util/grub.d/10_hurd.in: Likewise.
3055 * util/grub.d/10_linux.in (linux_entry): Likewise.
3056 * util/grub.d/10_windows.in: Likewise.
3057 * util/grub.d/30_os-prober.in: Likewise.
3058
3059 * util/grub-install.in: Create environment block.
3060 * util/i386/efi/grub-install.in: Likewise.
3061 * util/ieee1275/grub-install.in: Likewise.
3062 * util/sparc64/ieee1275/grub-install.in: Likewise.
3063
0934d184
BC
30642010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
3065
3066 Unit testing framework for GRUB.
3067
3068 * Makefile.in: Test framework build rules for 'make check'.
3069 * conf/tests.rmk: Build rules for individual tests and framework.
3070
3071 * include/grub/test.h: Header file for whitebox tests.
3072 * tests/lib/functional_test.c: Framework support for whitebox
3073 functional tests.
3074 * tests/lib/test.c: Common whitebox testing code for unit and
3075 functional tests.
3076 * tests/lib/unit_test.c: Framework support for whitebox unit
3077 tests.
3078
3079 * tests/util/grub-shell-tester.in: Support utility for grub-script
3080 tests.
3081 * tests/util/grub-shell.in: Utility to execute grub-script
3082 commands in a Qemu instance.
3083
3084 * tests/example_functional_test.c: Example whitebox functional
3085 test.
3086 * tests/example_grub_script_test.in: Example grub-script test.
3087 * tests/example_scripted_test.in: Example scripted test.
3088 * tests/example_unit_test.c: Example whitebox unit test.
3089
9c4ffeeb
VS
30902010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
3093 Add loader/i386/multiboot_mbi.c.
3094 (multiboot2_mod_SOURCES): Likewise.
3095 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
3096 (multiboot2_mod_SOURCES): Likewise.
3097 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
3098 (grub_multiboot_make_mbi): Likewise.
3099 (grub_multiboot_free_mbi): Likewise.
3100 (grub_multiboot_init_mbi): Likewise.
3101 (grub_multiboot_add_module): Likewise.
3102 (grub_multiboot_set_bootdev): Likewise.
3103 * loader/i386/multiboot.c (mbi): Removed.
3104 (mbi_dest): Likewise.
3105 (alloc_mbi): New variable.
3106 (grub_multiboot_payload_size): Removed. All users updated.
3107 (grub_multiboot_pure_size): New variable.
3108 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
3109 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
3110 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
3111 (grub_fill_multiboot_mmap): Likewise.
3112 (grub_multiboot_get_bootdev): Likewise.
3113 (grub_multiboot): Use multiboot_mbi functions.
3114 * loader/i386/multiboot_mbi.c: New file.
3115
17383dfe
VS
31162010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
3119 it would result in module crash.
3120
c1f28820
VS
31212010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
3124 (grub_ofconsole_getwh): Split to ...
3125 (grub_ofconsole_getwh): ... this.
3126 (grub_ofconsole_dimensions): ...and this.
3127 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
3128
58655a16
RM
31292010-01-13 Robert Millan <rmh.grub@aybabtu.com>
3130
3131 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
3132
10891398
VS
31332010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * loader/i386/pc/multiboot2.c: Removed stalled file.
3136
0b8a223c
VS
31372010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
3140 Reported by: Grégoire Sutre
3141
92ab12b0
RM
31422010-01-11 Robert Millan <rmh.grub@aybabtu.com>
3143
3144 * util/misc.c (canonicalize_file_name): New function.
3145 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
3146 instead of realpath().
3147
a788afb6
CW
31482010-01-11 Colin Watson <cjwatson@ubuntu.com>
3149
3150 * util/grub-install.in (usage): Clarify meaning of --root-directory,
3151 and make it clearer that it's optional. Based on confusion
3152 witnessed on IRC.
3153
ffa8e3d2
VS
31542010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
3157 in premature implicit newline.
3158
e9060a9d
VS
31592010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3162 which resulted in garbled command line at the end of screen.
3163
f0d0c0b7
RM
31642010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3165
3166 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
3167 initialization with similar approach as with other Linux loaders.
3168
0e60bae7
RM
31692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3170
3171 Fix i386-ieee1275 build.
3172
3173 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
3174 and grub_term_height() for video_{width,height} initialization.
3175
31762010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
3177
3178 Fix grub-emu build.
3179
3180 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
3181
cdb3f378
RM
31822010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31832010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3184
3185 Support for multiple terminals.
3186
3187 * Makefile.in (pkglib_DATA): terminal.lst.
3188 (terminal.lst): New target.
3189 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
3190 (GRUB_MOD_INIT(handler)): Likewise.
3191 (GRUB_MOD_FINI(handler)): Likewise.
3192 * commands/help.c (grub_cmd_help): Handle multiple terminals.
3193 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
3194 * commands/sleep.c (do_print): Use grub_term_restore_pos.
3195 (grub_cmd_sleep): Use grub_term_save_pos.
3196 * commands/terminal.c: New file.
3197 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
3198 commands/terminal.c and lib/charset.c.
3199 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
3200 (pkglib_MODULES): Add terminal.mod.
3201 (terminal_mod_SOURCES): New variable.
3202 (terminal_mod_CFLAGS): Likewise.
3203 (terminal_mod_LDFLAGS): Likewise.
3204 * genhandlerlist.sh: Don't handle terminals.
3205 * genmk.rb: Generate terminal-*.lst.
3206 * genterminallist.sh: New file.
3207 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
3208 (grub_is_valid_utf8): Likewise.
3209 (grub_utf8_to_ucs4_alloc): Likewise.
3210 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
3211 (grub_menu_register_viewer): Changed argument.
3212 (grub_menu_try_text): New proto.
3213 (grub_gfxmenu_try_hook): New declaration.
3214 * include/grub/normal.h (grub_normal_exit_level): New declaration.
3215 (grub_menu_init_page): Additional argument term.
3216 (grub_normal_init_page): Likewise.
3217 (grub_cmdline_get): Arguments simplified.
3218 (grub_utf8_to_ucs4_alloc): Removed.
3219 (grub_print_ucs4): Additional argument term.
3220 (grub_getstringwidth): Likewise.
3221 (grub_print_message_indented): Likewise.
3222 (grub_menu_text_register_instances): New proto.
3223 (grub_show_menu): Likewise.
3224 (read_terminal_list): Likewise.
3225 (grub_set_more): Likewise.
3226 * include/grub/parser.h: Include handler.h.
3227 * include/grub/reader.h: Rewritten.
3228 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
3229 (GRUB_TERM_WIDTH): Changed to function.
3230 (GRUB_TERM_HEIGHT): Likewise.
3231 (GRUB_TERM_BORDER_WIDTH): Likewise.
3232 (GRUB_TERM_BORDER_HEIGHT): Likewise.
3233 (GRUB_TERM_NUM_ENTRIES): Likewise.
3234 (GRUB_TERM_ENTRY_WIDTH): Likewise.
3235 (GRUB_TERM_CURSOR_X): Likewise.
3236 (grub_term_input_class): Likewise.
3237 (grub_term_output_class): Likewise.
3238 (grub_term_outputs_disabled): New declaration.
3239 (grub_term_inputs_disabled): Likewise.
3240 (grub_term_outputs): Likewise.
3241 (grub_term_inputs): Likewise.
3242 (grub_term_register_input): Rewritten.
3243 (grub_term_register_output): Likewise.
3244 (grub_term_unregister_input): Likewise.
3245 (grub_term_unregister_output): Likewise.
3246 (FOR_ACTIVE_TERM_INPUTS): New macro.
3247 (FOR_DISABLED_TERM_INPUTS): Likewise.
3248 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3249 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3250 * include/grub/terminfo.h: Add oterm argument to all protypes.
3251 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
3252 Use grub_rescue_run.
3253 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
3254 All users updated.
3255 * kern/reader.c: Removed. All users updated.
3256 * kern/rescue_reader.c (grub_rescue_init): Removed.
3257 (grub_rescue_reader): Likewise.
3258 (grub_register_rescue_reader): Likewise.
3259 (grub_rescue_run): New function based on kern/reader.c.
3260 * kern/term.c: Adapted for multiterm.
3261 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
3262 (grub_is_valid_utf8): Likewise.
3263 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
3264 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
3265 right terminal.
3266 * loader/i386/linux.c (grub_linux_boot): Likewise.
3267 * normal/auth.c (grub_username_get): New function.
3268 (grub_auth_check_authentication): Use grub_username_get.
3269 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
3270 * normal/color.c: Adapt for multiterm.
3271 * normal/main.c (read_config_file): Don't use grub_reader_loop.
3272 (grub_normal_init_page): Additional argument term.
3273 (read_lists): Call read_terminal_lists.
3274 (grub_enter_normal_mode): Call grub_cmdline_run.
3275 Handle grub_normal_exit_level.
3276 (grub_cmd_normal): Make reentrant.
3277 (grub_cmd_normal_exit): New function.
3278 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
3279 * normal/menu.c: Adapt for multiterm.
3280 * normal/menu_entry.c: Likewise.
3281 * normal/menu_text.c: Likewise.
3282 * normal/menu_viewer.c: Removed. All users updated.
3283 * normal/term.c: New file.
3284 * util/console.c: Change order of includes to workaround a bug in
3285 ncurses headers.
3286 * term/terminfo.c: New argument oterm on all exported functions.
3287 All users updated.
3288 * util/grub-editenv.c (grub_term_input_class): Removed.
3289 (grub_term_output_class): Likewise.
3290
1a064917
RM
32912010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3292
3293 Make loader output a bit more user-friendly.
3294
3295 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
3296 is being loaded. Likewise for the Hurd.
3297
3298 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
3299 that kernel of FreeBSD ${version} is being loaded.
3300
3301 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
3302 grub_dprintf().
3303 (grub_cmd_initrd): Likewise.
3304 * util/grub.d/10_linux.in (linux_entry): Print message indicating
3305 that Linux ${version} is being loaded. Likewise for initrd.
3306
5ce0a83a 33072010-01-09 Carles Pina i Estany <carles@pina.cat>
3308
3309 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
3310
809bbfeb 33112010-01-08 Carles Pina i Estany <carles@pina.cat>
3312
3313 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
3314 (GRUB_MOD_INIT): Gettextizze.
3315 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
3316 (GRUB_MOD_INIT): Gettextizze.
3317 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
3318 (grub_cmd_linux): Capitalise Linux.
3319 (GRUB_MOD_INIT): Gettextizze.
3320 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
3321 (grub_cmd_linux): Capitalise Linux.
3322 (GRUB_MOD_INIT): Gettextizze.
3323 * loader/i386/linux.c: Include `<grub/i18n.h>'.
3324 (grub_cmd_linux): Capitalise Linux.
3325 (GRUB_MOD_INIT): Gettextizze.
3326 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
3327 (GRUB_MOD_INIT): Gettextizze.
3328 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
3329 (grub_cmd_linux): Capitalise Linux.
3330 (GRUB_MOD_INIT): Gettextizze.
3331 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
3332 (grub_cpu_xnu_init): Gettextizze.
3333 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
3334 (GRUB_MOD_INIT): Gettextizze.
3335 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
3336 (GRUB_MOD_INIT): Gettextizze.
3337 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
3338 (grub_linux_load64): Capitalise Linux.
3339 (GRUB_MOD_INIT): Gettextizze.
3340 * loader/xnu.c: Include `<grub/i18n.h>'.
3341 (GRUB_MOD_INIT): Gettextizze.
3342 * po/POTFILES: Add `loader/efi/appleloader.c',
3343 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
3344 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
3345 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
3346 `loader/i386/xnu.c', `loader/multiboot_loader.c',
3347 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
3348 and `loader/xnu.c'.
3349
b394b2ca
RM
33502010-01-08 Robert Millan <rmh.grub@aybabtu.com>
3351
3352 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
3353
33542010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
3355
3356 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
3357 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
3358 * util/mkisofs/mkisofs.c (main): Readjust --version output.
3359
bc8b32b3
RM
33602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3361
3362 Reset Multiboot 2 support. New loader implements the draft in
3363 /branches/multiboot2 and shares as much code as possible with the
3364 production Multiboot 1 implementation.
3365
3366 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
3367 * loader/multiboot2.c: Likewise.
3368 * loader/i386/multiboot_helper.S: Likewise.
3369 * include/multiboot2.h: Replace with latest version from the draft
3370 in /branches/multiboot2.
3371
3372 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
3373 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
3374 and `loader/multiboot2.c'.
3375 (pkglib_MODULES): Add `multiboot2.mod'.
3376 (multiboot2_mod_SOURCES): New variable.
3377 (multiboot2_mod_LDFLAGS): Likewise.
3378 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
3379
3380 * conf/i386-pc.rmk: Likewise.
3381
3382 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3383 (multiboot_mod_SOURCES): Remove variable.
3384 (multiboot_mod_LDFLAGS): Likewise.
3385 (multiboot_mod_CFLAGS): Likewise.
3386
3387 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
3388 `<multiboot2.h>' instead of `<multiboot.h>'.
3389 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
3390 (MULTIBOOT_HEADER_MAGIC): New macros.
3391
3392 * loader/multiboot_loader.c (module_version_status): Remove variable.
3393 (find_multi_boot2_header): Remove function.
3394 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
3395 logic. Always check for the Multiboot version we're compiling for.
3396 (grub_cmd_module_loader): Likewise.
3397 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
3398 command instead of `multiboot'.
3399
5d2c52b8
RM
34002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3401
3402 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
3403 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
3404 all users.
3405
53108d92
RM
34062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
34072010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Fix breakage introduced with previous commit.
3410
3411 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
3412 commands.
3413 * normal/handler.c (read_handler_list): Revert part of previous commit
3414 affecting this file.
3415 * normal/main.c (read_lists): Move read_handler_list() call back to ...
3416 (grub_normal_execute): ... here.
3417
e2e936b2
RM
34182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3419
3420 Merge prefix-redefinition-fix branch.
3421
3422 * normal/autofs.c (read_fs_list): Make function capable of being
3423 run multiple times, gracefuly replacing the previous data
3424 structures.
3425 * normal/dyncmd.c (read_command_list): Likewise.
3426 * normal/handler.c (read_handler_list): Likewise.
3427 * normal/main.c (read_lists): New function. Calls all the
3428 list reading functions.
3429 (grub_normal_execute): Use read_lists() instead of calling all
3430 list reading functions explicitly. Register read_lists() as a
3431 variable hook attached to ${prefix}.
3432
607a3701
VS
34332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Merge crypto branch.
3436
3437 * Makefile.in (pkglib_DATA): Add crypto.lst.
3438 (crypto.lst): New target.
3439 * commands/hashsum.c: New file.
3440 * commands/password.c (check_password): Use grub_crypto_memcmp.
3441 * commands/password_pbkdf2.c: New file.
3442 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
3443 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
3444 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
3445 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
3446 -I$(srcdir)/lib/libgcrypt_wrap.
3447 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
3448 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
3449 password_pbkdf2.mod.
3450 (crypto_mod_SOURCES): New variable.
3451 (crypto_mod_CFLAGS): Likewise.
3452 (crypto_mod_LDFLAGS): Likewise.
3453 (hashsum_mod_SOURCES): New variable.
3454 (hashsum_mod_CFLAGS): Likewise.
3455 (hashsum_mod_LDFLAGS): Likewise.
3456 (pbkdf2_mod_SOURCES): New variable.
3457 (pbkdf2_mod_CFLAGS): Likewise.
3458 (pbkdf2_mod_LDFLAGS): Likewise.
3459 (password_pbkdf2_mod_SOURCES): New variable.
3460 (password_pbkdf2_mod_CFLAGS): Likewise.
3461 (password_pbkdf2_mod_LDFLAGS): Likewise.
3462 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
3463 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
3464 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
3465 Include conf/gcry.rmk.
3466 * include/grub/auth.h: Rewritten.
3467 * include/grub/crypto.h: New file.
3468 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
3469 * include/grub/normal.h (read_crypto_list): New prototype.
3470 * lib/crypto.c: New file.
3471 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3472 * lib/pbkdf2.c: Likewise.
3473 * normal/auth.c (grub_auth_strcmp): Removed.
3474 (grub_iswordseparator): Likewise.
3475 (grub_auth_strword): Likewise.
3476 (is_authenticated): Use grub_strword.
3477 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
3478 and grub_strword. Pass entered password to authentication callback.
3479 * normal/crypto.c: New file.
3480 * normal/main.c: Call read_crypto_list.
3481 * util/grub-mkpasswd-pbkdf2.c: New file.
3482 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
3483
42841caa
VS
34842010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Fix descent and ascent calculation.
3487
3488 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
3489 (options): New option "asce".
3490 (usage): Likewise.
3491 (add_char): Ignore invalid glyphs for descent calculation.
3492 Calculate ascent from actual content.
3493 (print_glyphs): Use 'asce'.
3494 (write_font): Likewise. Allow ascent override.
3495 (main): Handle "asce" option.
3496
e7730de7 34972010-01-06 Carles Pina i Estany <carles@pina.cat>
3498
3499 * kern/err.c: Include `<grub/i18n.h>'.
3500 (grub_print_error): Add full stop. Gettextizze.
3501 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
3502 (grub_bsd_load_elf): Capitalise ELF.
3503 (grub_cmd_freebsd_loadenv): Add `s' in error string.
3504 (grub_cmd_freebsd_module): Likewise.
3505 (grub_cmd_freebsd_module_elf): Likewise.
3506 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
3507
40e3a41f 35082010-01-06 Carles Pina i Estany <carles@pina.cat>
3509
3510 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
3511 * commands/search_file.c (HELP_MESSAGE): New macro.
3512 * commands/search_label.c (HELP_MESSAGE): Likewise.
3513 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
3514 * po/POTFILES: Add `commands/search_file.c',
3515 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
3516 `commands/search.c'.
3517
83507e68
RM
35182010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3519
3520 * config.rpath: Update from Gnulib.
3521
465c787b
YB
35222010-01-05 Yves Blusseau <blusseau@zetam.org>
3523
3524 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
3525
6581dd3a
YB
35262010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
3527
3528 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
3529
3bff18c5
CW
35302010-01-05 Colin Watson <cjwatson@ubuntu.com>
3531
3532 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
3533 arguments to fread so that we get a return value in bytes, rather
3534 than something that will normally be rounded down to 0.
3535 Adjust error handling to avoid producing garbage when size_t is not
3536 the same size as long long.
3537
a1368118
CW
35382010-01-05 Colin Watson <cjwatson@ubuntu.com>
3539
3540 * util/mkisofs/write.c (padblock_write): Check return value of
3541 fread.
3542
7c302978
RM
35432010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3544
3545 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
3546 floppy images now.
3547
3548 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
3549
e33ace06
RM
35502010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3551
3552 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
3553 instead of manual alignment.
3554 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
3555 verbose). Avoid attempts to read past end of the device
3556 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
3557 but GRUB_DISK_CACHE_SIZE may exceed that).
3558
4b856776
RM
35592010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3560
3561 * commands/crc.c (grub_cmd_crc): Abort on read errors.
3562 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
3563 it to upper layer.
3564
52c2d97f
VS
35652010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
3568 New constant.
3569 (grub_efi_piwg_device_path): New structure
3570 (grub_efi_piwg_device_path_t): New type.
3571 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
3572 (devpath_1): Transform to a structure. All users updated.
3573 (devpath_2): Likewise.
3574 (devpath_3): Likewise.
3575 (devpath_4): Likewise.
3576 (devpath_5): Likewise.
3577
98ff6a54
VS
35782010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * loader/efi/appleloader.c: Restored. Update all users.
3581
3a73dcb6
RM
35822010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3583
3584 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
3585
3586 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
3587 (struct boot_blocklist): Move from here ...
3588 * include/grub/i386/pc/boot.h [ASM_FILE]
3589 (struct grub_boot_blocklist): ... to here. Update all users.
3590 (setup): Only initialize `start' member of `first_block'
3591 structure. Add assert() calls to verify the other members.
3592
3593 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
3594 (generate_image): Fix broken blocklist length initialization.
3595 Add assert() call to verify blocklist `segment' field.
3596
ab0eeb0c
RM
35972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3598
3599 * loader/efi/appleloader.c: Remove. Update all users.
3600
58bc8bd5
RM
36012010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3602
3603 * boot/i386/pc/boot.S: Update copyright year.
3604 * boot/i386/pc/cdboot.S: Likewise.
3605 * boot/i386/pc/diskboot.S: Likewise.
3606 * boot/i386/pc/lnxboot.S: Likewise.
3607 * boot/i386/pc/pxeboot.S: Likewise.
3608 * bus/pci.c: Likewise.
3609 * commands/cmp.c: Likewise.
3610 * commands/help.c: Likewise.
3611 * commands/hexdump.c: Likewise.
3612 * commands/i386/pc/halt.c: Likewise.
3613 * commands/i386/pc/play.c: Likewise.
3614 * commands/i386/pc/vbeinfo.c: Likewise.
3615 * commands/ls.c: Likewise.
3616 * commands/test.c: Likewise.
3617 * disk/dmraid_nvidia.c: Likewise.
3618 * disk/i386/pc/biosdisk.c: Likewise.
3619 * disk/ieee1275/nand.c: Likewise.
3620 * disk/ieee1275/ofdisk.c: Likewise.
3621 * disk/lvm.c: Likewise.
3622 * disk/raid.c: Likewise.
3623 * disk/raid6_recover.c: Likewise.
3624 * disk/scsi.c: Likewise.
3625 * fs/affs.c: Likewise.
3626 * fs/cpio.c: Likewise.
3627 * fs/ext2.c: Likewise.
3628 * fs/hfs.c: Likewise.
3629 * fs/iso9660.c: Likewise.
3630 * fs/ntfs.c: Likewise.
3631 * fs/sfs.c: Likewise.
3632 * fs/udf.c: Likewise.
3633 * fs/ufs.c: Likewise.
3634 * fs/xfs.c: Likewise.
3635 * gencmdlist.sh: Likewise.
3636 * genmk.rb: Likewise.
3637 * include/grub/disk.h: Likewise.
3638 * include/grub/efi/api.h: Likewise.
3639 * include/grub/efi/efi.h: Likewise.
3640 * include/grub/efi/pe32.h: Likewise.
3641 * include/grub/elf.h: Likewise.
3642 * include/grub/fs.h: Likewise.
3643 * include/grub/i386/at_keyboard.h: Likewise.
3644 * include/grub/i386/pc/memory.h: Likewise.
3645 * include/grub/i386/pc/vbe.h: Likewise.
3646 * include/grub/i386/pci.h: Likewise.
3647 * include/grub/i386/tsc.h: Likewise.
3648 * include/grub/ieee1275/ieee1275.h: Likewise.
3649 * include/grub/ntfs.h: Likewise.
3650 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
3651 * include/grub/sparc64/libgcc.h: Likewise.
3652 * include/grub/symbol.h: Likewise.
3653 * include/grub/types.h: Likewise.
3654 * include/multiboot2.h: Likewise.
3655 * io/gzio.c: Likewise.
3656 * kern/device.c: Likewise.
3657 * kern/disk.c: Likewise.
3658 * kern/efi/efi.c: Likewise.
3659 * kern/efi/mm.c: Likewise.
3660 * kern/elf.c: Likewise.
3661 * kern/file.c: Likewise.
3662 * kern/i386/dl.c: Likewise.
3663 * kern/i386/pc/init.c: Likewise.
3664 * kern/i386/pc/startup.S: Likewise.
3665 * kern/ieee1275/ieee1275.c: Likewise.
3666 * kern/ieee1275/init.c: Likewise.
3667 * kern/main.c: Likewise.
3668 * kern/mm.c: Likewise.
3669 * kern/powerpc/dl.c: Likewise.
3670 * kern/sparc64/dl.c: Likewise.
3671 * kern/x86_64/dl.c: Likewise.
3672 * lib/hexdump.c: Likewise.
3673 * loader/efi/appleloader.c: Likewise.
3674 * loader/i386/ieee1275/linux.c: Likewise.
3675 * loader/i386/pc/chainloader.c: Likewise.
3676 * loader/i386/pc/linux.c: Likewise.
3677 * loader/i386/pc/multiboot2.c: Likewise.
3678 * loader/ieee1275/multiboot2.c: Likewise.
3679 * loader/multiboot2.c: Likewise.
3680 * loader/multiboot_loader.c: Likewise.
3681 * loader/powerpc/ieee1275/linux.c: Likewise.
3682 * normal/completion.c: Likewise.
3683 * normal/menu_entry.c: Likewise.
3684 * partmap/apple.c: Likewise.
3685 * util/grub.d/10_hurd.in: Likewise.
3686 * util/hostfs.c: Likewise.
3687 * video/readers/png.c: Likewise.
3688
e2d70b5c
CW
36892010-01-03 Colin Watson <cjwatson@ubuntu.com>
3690
3691 * include/grub/misc.h (GNUC_PREREQ): New macro.
3692 (ATTRIBUTE_ERROR): New macro.
3693 * include/grub/list.h (grub_bad_type_cast_real): Use
3694 ATTRIBUTE_ERROR.
3695
a173283f 36962010-01-03 Carles Pina i Estany <carles@pina.cat>
3697
3698 * normal/menu_text.c (print_message): Change messages.
3699
7fa7ff74 37002010-01-03 Carles Pina i Estany <carles@pina.cat>
3701
3702 * normal/menu_entry.c (store_completion): Gettextizze.
3703
136d24f6 37042010-01-03 Carles Pina i Estany <carles@pina.cat>
3705
3706 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
3707
f936862e 37082010-01-03 Carles Pina i Estany <carles@pina.cat>
3709
3710 * po/POTFILES: Sort correctly.
3711
29c44ad1 37122010-01-03 Carles Pina i Estany <carles@pina.cat>
3713
3714 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
3715 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
3716 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
3717 full stop.
3718 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
3719 summary. Gettextizze the strings.
3720 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
3721 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
3722 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
3723 full stop.
3724 (GRUB_MOD_INIT): Remove command name from summary.
3725 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
3726 summary.
3727 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
3728 * term/i386/pc/serial.c (options): Add full stops.
3729 (GRUB_MOD_INIT): Remove command name from the summary.
3730
77a79592 37312010-01-03 Carles Pina i Estany <carles@pina.cat>
3732
3733 * commands/acpi.c: Gettextizze help strings and/or options. Include
3734 `grub/i18n.h' if needed.
3735 * commands/blocklist.c: Likewise.
3736 * commands/boot.c: Likewise.
3737 * commands/cat.c: Likewise.
3738 * commands/cmp.c: Likewise.
3739 * commands/configfile.c: Likewise.
3740 * commands/crc.c: Likewise.
3741 * commands/date.c: Likewise.
3742 * commands/echo.c: Likewise.
3743 * commands/efi/fixvideo.c: Likewise.
3744 * commands/efi/loadbios.c: Likewise.
3745 * commands/gptsync.c: Likewise.
3746 * commands/halt.c: Likewise.
3747 * commands/handler.c: Likewise.
3748 * commands/hdparm.c: Likewise.
3749 * commands/hexdump.c: Likewise.
3750 * commands/i386/cpuid.c: Likewise.
3751 * commands/i386/pc/drivemap.c: Likewise.
3752 * commands/i386/pc/halt.c: Likewise.
3753 * commands/i386/pc/pxecmd.c: Likewise.
3754 * commands/i386/pc/vbeinfo.c: Likewise.
3755 * commands/i386/pc/vbetest.c: Likewise.
3756 * commands/ieee1275/suspend.c: Likewise.
3757 * commands/keystatus.c: Likewise.
3758 * commands/loadenv.c: Likewise.
3759 * commands/ls.c: Likewise.
3760 * commands/lsmmap.c: Likewise.
3761 * commands/lspci.c: Likewise.
3762 * commands/memrw.c: Likewise.
3763 * commands/minicmd.c: Likewise.
3764 * commands/parttool.c: Likewise.
3765 * commands/password.c: Likewise.
3766 * commands/probe.c: Likewise.
3767 * commands/read.c: Likewise.
3768 * commands/reboot.c: Likewise.
3769 * commands/search.c: Likewise.
3770 * commands/sleep.c: Likewise.
3771 * commands/test.c: Likewise.
3772 * commands/true.c: Likewise.
3773 * commands/usbtest.c: Likewise.
3774 * commands/videotest.c: Likewise.
3775 * commands/xnu_uuid.c: Likewise.
3776 * disk/loopback.c: Likewise.
3777 * hello/hello.c: Likewise.
3778 * loader/i386/bsd.c: Likewise.
3779 * term/i386/pc/serial.c: Likewise.
3780 * po/POTFILES: Add new files.
3781
da8d5c53
CW
37822010-01-02 Colin Watson <cjwatson@ubuntu.com>
3783
3784 * term/i386/pc/at_keyboard.c
3785 (keyboard_controller_wait_untill_ready): Rename to ...
3786 (keyboard_controller_wait_until_ready): ... this. Update all users.
3787
33937904 37882010-01-01 Carles Pina i Estany <carles@pina.cat>
3789
3790 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3791 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3792 string using string width.
3793 * normal/menu_text.c (grub_print_message_indented): Use
3794 grub_print_spaces and not print_spaces.
3795 (print_timeout): Likewise.
3796 (print_spaces): Move to...
3797 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3798
3fd3b8d8
RM
37992010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3800
3801 Import from Gnulib.
3802
3803 * gnulib/getdelim.c: New file.
3804 * gnulib/getline.c: Likewise.
3805
33433555
VS
38062009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3807
3808 * include/grub/list.h (grub_assert_fail): Removed.
3809 (grub_bad_type_cast_real): New function.
3810 (grub_bad_type_cast): New macro.
3811 (GRUB_AS_LIST): Use grub_bad_type_cast.
3812 (GRUB_AS_LIST_P): Likewise.
e44721e8 3813 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3814 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3815 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3816 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3817 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3818
f5a51306
VS
38192009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3822 Fix syntax error.
3823
90d1e879
RM
38242009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3825
3826 * configure.ac: Check for TARGET_CFLAGS initialization before we
3827 initialize it ourselves (sigh).
3828 Move a few modifications to TARGET_CFLAGS to be unconditional
3829 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3830 eh_frame)
3831
3832 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3833 * term/i386/pc/at_keyboard.c
3834 (keyboard_controller_wait_untill_ready): Likewise.
3835 (keyboard_controller_led): Rename `led_status' paramter to avoid
3836 name conflict.
3837
465b5a81 38382009-12-28 Carles Pina i Estany <carles@pina.cat>
3839
3840 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3841 quotes.
3842
c181849b
VS
38432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3846
9c8739a4
VS
38472009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * normal/menu_text.c (grub_print_message_indented): Prevent
3850 past-the-end-of-array dereference.
3851
3e74249c
VS
38522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3855 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3856
64fd18ed 38572009-12-27 Carles Pina i Estany <carles@pina.cat>
3858
3859 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3860 * normal/main.c (grub_normal_read_line): Remove a space from the
3861 default prompt.
3862
714af9b9 38632009-12-27 Carles Pina i Estany <carles@pina.cat>
3864
3865 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3866 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3867 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3868 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3869 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3870 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3871 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3872
82f3e412 38732009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3874
3875 * video/readers/jpeg.c (cmd): Declare.
3876 (grub_cmd_jpegtest): Use `grub_command_t' type.
3877 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3878 Assign to `cmd'.
3879 (GRUB_MOD_FINI): Use `cmd' to unregister.
3880 * video/readers/png.c (cmd): Declare.
3881 (grub_cmd_pngtest): Use `grub_command_t' type.
3882 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3883 Assign to `cmd'.
3884 (GRUB_MOD_FINI): Use `cmd' to unregister.
3885 * video/readers/tga.c (cmd): Declare.
3886 (grub_cmd_tgatest): Use `grub_command_t' type.
3887 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3888 Assign to `cmd'.
3889 (GRUB_MOD_FINI): Use `cmd' to unregister.
3890
82f3e412 38912009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3892
3893 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3894 stops.
3895 * kern/corecmd.c (grub_register_core_commands): Likewise.
3896 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3897 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3898 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3899 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3900 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3901 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3902 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3903 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3904 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3905 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3906 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3907 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3908 * normal/handler.c (insert_handler): Likewise.
3909 * normal/main.c (GRUB_MOD_INIT): Likewise.
3910 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3911
fdcdbb66 39122009-12-26 Carles Pina i Estany <carles@pina.cat>
3913
3914 * commands/help.c (grub_cmd_help): Print the command name before the
3915 summary.
3916 (GRUB_MOD_INIT): Remove command name from the summary.
3917 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3918 string as summary.
fdcdbb66 3919 * lib/arg.c (find_long): Print the command name before the summary.
3920 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3921 summary.
3922 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3923 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3924 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3925 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3926 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3927 * commands/date.c (GRUB_MOD_INIT): Likewise.
3928 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3929 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3930 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3931 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3932 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3933 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3934 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3935 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3936 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3937 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3938 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3939 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3940 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3941 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3942 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3943 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3944 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3945 * commands/password.c (GRUB_MOD_INIT): Likewise.
3946 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3947 * commands/read.c (GRUB_MOD_INIT): Likewise.
3948 * commands/search.c (GRUB_MOD_INIT): Likewise.
3949 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3950 * commands/test.c (GRUB_MOD_INIT): Likewise.
3951 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3952 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3953 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3954 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3955 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3956 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3957 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3958 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3959 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3960 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3961 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3962 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3963 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3964 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3965
9c288be2
VS
39662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Use search command for preliminar UUID search.
3969
3970 * commands/search.c: Split into ...
3971 * commands/search_wrap.c: ...this
3972 * commands/search.c: ...and this.
3973 * commands/search_file.c: New file.
3974 * commands/search_label.c: New file.
3975 * commands/search_uuid.c: New file.
3976 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3977 Add commands/search_wrap.c, commands/search_file.c,
3978 commands/search_label.c and commands/search_uuid.c.
3979 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3980 (search_mod_SOURCES): Set to commands/search_wrap.c.
3981 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3982 search_label.mod.
3983 (search_fs_file_mod_SOURCES): New variable.
3984 (search_fs_file_mod_CFLAGS): Likewise.
3985 (search_fs_file_mod_LDFLAGS): Likewise.
3986 (search_label_mod_SOURCES): Likewise.
3987 (search_label_mod_CFLAGS): Likewise.
3988 (search_label_mod_LDFLAGS): Likewise.
3989 (search_fs_uuid_mod_SOURCES): New variable.
3990 (search_fs_uuid_mod_CFLAGS): Likewise.
3991 (search_fs_uuid_mod_LDFLAGS): Likewise.
3992 (fs_file_mod_SOURCES): Removed.
3993 (fs_file_mod_CFLAGS): Likewise.
3994 (fs_file_mod_LDFLAGS): Likewise.
3995 (fs_uuid_mod_SOURCES): Removed.
3996 (fs_uuid_mod_CFLAGS): Likewise.
3997 (fs_uuid_mod_LDFLAGS): Likewise.
3998 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3999 Set to util/grub-install.in.
4000 * disk/fs_file.c: Removed.
4001 * disk/fs_uuid.c: Likewise.
4002 * include/grub/search.h: New file.
4003 * util/grub-install.in: Handle sparc64.
4004 Create and use load.cfg.
4005 * util/sparc64/ieee1275/grub-install.in: Removed.
4006
db943399
VS
40072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
4010 Ignore return status if CF is cleared.
4011 (grub_biosdisk_get_diskinfo_standard): Likewise.
4012
3fdae612
RM
40132009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4014
4015 * term/i386/pc/at_keyboard.c
4016 (keyboard_controller_wait_untill_ready): New function.
4017 (grub_keyboard_controller_write, grub_keyboard_controller_read)
4018 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
4019 for keyboard polling, rather than duplicate the same loop. This
4020 saves a few bytes in code size.
4021
7ebaa2b4
VS
40222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 Support for (pxe[:server[:gateway]]) syntax and
4025 use environment variable for PXE.
4026
4027 * commands/i386/pc/pxecmd.c (options): Removed.
4028 (print_ip): Removed.
4029 (grub_cmd_pxe): Removed
4030 (grub_cmd_pxe_unload): New function.
4031 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
4032 (grub_pxe_your_ip): Made static.
4033 (grub_pxe_default_server_ip): Likewise.
4034 (grub_pxe_default_gateway_ip): Likewise.
4035 (grub_pxe_blksize): Likewise.
4036 (parse_ip): New function.
4037 (grub_pxe_open): Support server and gateway specification.
4038 (grub_pxe_close): Free disk->data.
4039 (grub_pxefs_open): Use disk->data.
4040 (grub_pxefs_read): Likewise.
4041 (grub_env_write_readonly): New function.
4042 (set_mac_env): Likewise.
4043 (set_env_limn_ro): Likewise.
4044 (parse_dhcp_vendor): Likewise.
4045 (grub_pxe_detect): Set the environment variables.
4046 (set_ip_env): New function.
4047 (write_ip_env): Likewise.
4048 (grub_env_write_pxe_default_server): Likewise.
4049 (grub_env_write_pxe_default_gateway): Likewise.
4050 (grub_env_write_pxe_blocksize): Likewise.
4051 (GRUB_MOD_INIT(pxe)): Set environment variables.
4052 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
4053 (grub_pxe_mac_addr_t): ... this. All users updated.
4054 (grub_pxe_your_ip): Removed.
4055 (grub_pxe_server_ip): Likewise.
4056 (grub_pxe_gateway_ip): Likewise.
4057 (grub_pxe_blksize): Likewise.
4058
ec5f98ab 40592009-12-25 Carles Pina i Estany <carles@pina.cat>
4060
4061 * commands/help.c: Include `<grub/i18n.h>'.
4062 (grub_cmd_help): Gettextizze.
4063 (GRUB_MOD_INIT): Likewise.
4064 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
4065 (GRUB_MOD_INIT): Gettextizze.
4066 * commands/search.c: Include `<grub/i18n.h>'.
4067 (options): Gettextizze.
4068 (GRUB_MOD_INIT): Gettextizze.
4069 * lib/arg.c: Include `<grub/i18n.h>'.
4070 (help_options): Gettextizze.
4071 (find_long): Likewise.
4072 (grub_arg_show_help): Likewise.
4073 * normal/dyncmd.c: Include `<grub/i18n.h>'.
4074 (read_command_list): Gettextizze.
4075 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 4076 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 4077
22815526
RM
40782009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4079
4080 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4081 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
4082 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
4083 (led_status): New variable.
4084 (keyboard_controller_led): New function.
4085 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
4086 update led status for caps lock, num lock and scroll lock.
4087
0ad46fd7
FZ
40882009-12-25 Felix Zielcke <fzielcke@z-51.de>
4089
4090 * util/hostdisk.c (open_device): Fix a comment.
4091
d0e158c2
RM
40922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4093
4094 * util/grub-install.in (host_os): New variable.
4095 * util/i386/efi/grub-install.in (host_os): Likewise.
4096
401c0ad6
RM
40972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4098
4099 * util/mkisofs/write.c (padblock_write): Abort when given an
4100 excedingly large embed image, instead of silently truncating it.
4101
d14d3370
RM
41022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4103
4104 * include/multiboot.h: Indentation fixes.
4105
eeed10b4
RM
41062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4107
4108 * include/multiboot.h (struct multiboot_aout_symbol_table)
4109 (struct multiboot_elf_section_header_table): New structure
4110 declarations (stolen from GRUB Legacy).
4111 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
4112 table information.
4113
4114 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
4115 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
4116 type aliases.
4117
681c70ab
RM
41182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4119
4120 * include/multiboot.h: Make comments src2texi-friendly.
4121
e4d47d8d
RM
41222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4123
4124 For consistency with [multiboot]/docs/boot.S.
4125
4126 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
4127 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
4128 (MULTIBOOT_MAGIC2): Rename from this ...
4129 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
4130
a0b70bda
RM
41312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4132
4133 * include/multiboot.h: Remove `<grub/types.h>'.
4134 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
4135 types. Update all users.
4136
61ba42be 41372009-12-25 Carles Pina i Estany <carles@pina.cat>
4138
4139 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
4140 `couldn't' and `can not' by `cannot'.
4141 * commands/i386/pc/drivemap.c: Likewise.
4142 * disk/ata.c: Likewise.
4143 * disk/ieee1275/nand.c: Likewise.
4144 * fs/affs.c: Likewise.
4145 * fs/fat.c: Likewise.
4146 * fs/hfs.c: Likewise.
4147 * fs/hfsplus.c: Likewise.
4148 * fs/iso9660.c: Likewise.
4149 * fs/jfs.c: Likewise.
4150 * fs/minix.c: Likewise.
4151 * fs/reiserfs.c: Likewise.
4152 * fs/sfs.c: Likewise.
4153 * fs/udf.c: Likewise.
4154 * fs/ufs.c: Likewise.
4155 * fs/xfs.c: Likewise.
4156 * loader/powerpc/ieee1275/linux.c: Likewise.
4157 * loader/sparc64/ieee1275/linux.c: Likewise.
4158 * util/grub-probe.c: Likewise.
4159 * util/misc.c: Likewise.
4160
7fd0baee 41612009-12-24 Carles Pina i Estany <carles@pina.cat>
4162
4163 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
4164 grub_errno calls.
4165 * commands/acpi.c: Likewise.
4166 * commands/blocklist.c: Likewise.
4167 * commands/efi/loadbios.c: Likewise.
4168 * commands/i386/pc/drivemap.c: Likewise.
4169 * commands/loadenv.c: Likewise.
4170 * commands/memrw.c: Likewise.
4171 * commands/password.c: Likewise.
4172 * commands/videotest.c: Likewise.
4173 * disk/ata.c: Likewise.
4174 * disk/ata_pthru.c: Likewise.
4175 * disk/dmraid_nvidia.c: Likewise.
4176 * disk/ieee1275/nand.c: Likewise.
4177 * disk/ieee1275/ofdisk.c: Likewise.
4178 * disk/loopback.c: Likewise.
4179 * disk/lvm.c: Likewise.
4180 * disk/mdraid_linux.c: Likewise.
4181 * disk/raid.c: Likewise.
4182 * disk/raid6_recover.c: Likewise.
4183 * disk/scsi.c: Likewise.
4184 * efiemu/main.c: Likewise.
4185 * efiemu/mm.c: Likewise.
4186 * efiemu/pnvram.c: Likewise.
4187 * efiemu/symbols.c: Likewise.
4188 * font/font.c: Likewise.
4189 * fs/cpio.c: Likewise.
4190 * fs/hfsplus.c: Likewise.
4191 * fs/iso9660.c: Likewise.
4192 * fs/jfs.c: Likewise.
4193 * fs/minix.c: Likewise.
4194 * fs/ntfs.c: Likewise.
4195 * fs/ntfscomp.c: Likewise.
4196 * fs/reiserfs.c: Likewise.
4197 * fs/ufs.c: Likewise.
4198 * fs/xfs.c: Likewise.
4199 * gettext/gettext.c: Likewise.
4200 * include/grub/auth.h: Likewise.
4201 * kern/elf.c: Likewise.
4202 * kern/file.c: Likewise.
4203 * kern/ieee1275/init.c: Likewise.
4204 * kern/ieee1275/mmap.c: Likewise.
4205 * kern/ieee1275/openfw.c: Likewise.
4206 * kern/powerpc/dl.c: Likewise.
4207 * kern/sparc64/dl.c: Likewise.
4208 * lib/arg.c: Likewise.
4209 * loader/i386/bsd.c: Likewise.
4210 * loader/i386/bsdXX.c: Likewise.
4211 * loader/i386/efi/linux.c: Likewise.
4212 * loader/i386/efi/xnu.c: Likewise.
4213 * loader/i386/ieee1275/linux.c: Likewise.
4214 * loader/i386/linux.c: Likewise.
4215 * loader/i386/multiboot.c: Likewise.
4216 * loader/i386/pc/linux.c: Likewise.
4217 * loader/i386/pc/multiboot2.c: Likewise.
4218 * loader/i386/xnu.c: Likewise.
4219 * loader/ieee1275/multiboot2.c: Likewise.
4220 * loader/macho.c: Likewise.
4221 * loader/machoXX.c: Likewise.
4222 * loader/multiboot2.c: Likewise.
4223 * loader/multiboot_loader.c: Likewise.
4224 * loader/powerpc/ieee1275/linux.c: Likewise.
4225 * loader/sparc64/ieee1275/linux.c: Likewise.
4226 * loader/xnu.c: Likewise.
4227 * loader/xnu_resume.c: Likewise.
4228 * mmap/i386/pc/mmap.c: Likewise.
4229 * normal/menu_viewer.c: Likewise.
4230 * partmap/acorn.c: Likewise.
4231 * partmap/amiga.c: Likewise.
4232 * partmap/apple.c: Likewise.
4233 * script/lexer.c: Likewise.
4234 * term/gfxterm.c: Likewise.
4235 * term/i386/pc/serial.c: Likewise.
4236 * term/i386/pc/vga.c: Likewise.
4237 * term/ieee1275/ofconsole.c: Likewise.
4238 * term/terminfo.c: Likewise.
4239 * video/bitmap.c: Likewise.
4240 * video/efi_gop.c: Likewise.
4241 * video/efi_uga.c: Likewise.
4242 * video/fb/video_fb.c: Likewise.
4243 * video/i386/pc/vbe.c: Likewise.
4244 * video/readers/tga.c: Likewise.
4245 * video/video.c: Likewise.
4246
0ad46fd7 42472009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
4248
4249 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
4250 * commands/lspci.c: Likewise.
4251 * commands/probe.c: Likewise.
4252 * commands/xnu_uuid.c: Likewise.
4253 * conf/i386-coreboot.rmk: Likewise.
4254 * conf/i386-efi.rmk: Likewise.
4255 * conf/i386-ieee1275.rmk: Likewise.
4256 * conf/i386-pc.rmk: Likewise.
4257 * conf/powerpc-ieee1275.rmk: Likewise.
4258 * conf/sparc64-ieee1275.rmk: Likewise.
4259 * conf/x86_64-efi.rmk: Likewise.
4260 * fs/i386/pc/pxe.c: Likewise.
4261 * gettext/gettext.c: Likewise.
4262 * include/grub/efi/graphics_output.h: Likewise.
4263 * include/grub/i386/pc/memory.h: Likewise.
4264 * kern/env.c: Likewise.
4265 * kern/i386/qemu/startup.S: Likewise.
4266 * lib/i386/pc/biosnum.c: Likewise.
4267 * lib/i386/relocator.c: Likewise.
4268 * lib/i386/relocator_asm.S: Likewise.
4269 * lib/relocator.c: Likewise.
4270 * loader/i386/bsd.c: Likewise.
4271 * loader/i386/multiboot.c: Likewise.
4272 * loader/i386/pc/chainloader.c: Likewise.
4273 * loader/i386/xnu.c: Likewise.
4274 * loader/xnu.c: Likewise.
4275 * normal/main.c: Likewise.
4276 * normal/menu_text.c: Likewise.
4277 * util/getroot.c: Likewise.
4278 * util/grub-mkconfig_lib.in: Likewise.
4279 * util/grub.d/00_header.in: Likewise.
4280 * util/i386/pc/grub-mkimage.c: Likewise.
4281 * util/mkisofs/eltorito.c: Likewise.
4282 * util/mkisofs/exclude.h: Likewise.
4283 * util/mkisofs/hash.c: Likewise.
4284 * util/mkisofs/iso9660.h: Likewise.
4285 * util/mkisofs/joliet.c: Likewise.
4286 * util/mkisofs/mkisofs.c: Likewise.
4287 * util/mkisofs/mkisofs.h: Likewise.
4288 * util/mkisofs/multi.c: Likewise.
4289 * util/mkisofs/name.c: Likewise.
4290 * util/mkisofs/rock.c: Likewise.
4291 * util/mkisofs/tree.c: Likewise.
4292 * util/mkisofs/write.c: Likewise.
4293 * video/efi_gop.c: Likewise.
4294
009ec743
VS
42952009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
4298 size counting.
4299
0ad46fd7 43002009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
4301
4302 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
4303 * genmk.rb (class SCRIPT): Modify the target file instead of source.
4304
d3d30ea0
VS
43052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
4308 (GRUB_MOD_INIT(memrw)): Update help line.
4309
a34f5c70
VS
43102009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
4313 Use grub_extcmd_t. All users updated.
4314 (options): New variable.
4315 (grub_cmd_read): Restructure for readability. Support "-v" option.
4316 (grub_cmd_write): Restructure for readability.
4317
0ad46fd7 43182009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
4319
4320 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
4321
0ad46fd7 43222009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
4323
4324 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
4325 with the actual contents of the correspondending make variable.
4326 * util/grub-mkrescue.in (pkglib_DATA): New variable.
4327 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
4328 specifying `*.lst' and `efiemu??.o'
4329
0ad46fd7 43302009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
4331
4332 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
4333 after function name.
4334 Noticed by Rene Engelhard <rene@debian.org>.
4335
dc77a799
VS
43362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
4339 (options): New variable.
4340 (iospace): Likewise.
4341 (grub_lspci_iter): List IO spaces if "-i" was given.
4342 (grub_cmd_lspci): Parse options.
4343 (GRUB_MOD_INIT(lspci)): Use extcmd.
4344 (GRUB_MOD_FINI(lspci)): Likewise.
4345
0ad46fd7 43462009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
4347
4348 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
4349 `function' keyword.
4350 Patch by Tony Mancill <tmancill@debian.org>.
4351
b5d5993b
VS
43522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
4355 (grub_uhci_portstatus): Likewise.
4356 (grub_uhci_portstatus): Add necessary delay.
11d18281 4357 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 4358
941903f2 43592009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 4360
941903f2 4361 * commands/acpi.c (options): Fix capitalizations and/or full stops.
4362 (GRUB_MOD_INIT): Likewise.
4363 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 4364 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
4365 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 4366 * commands/efi/loadbios.c (enable_rom_area): Likewise.
4367 (enable_rom_area): Likewise.
4368 (GRUB_MOD_INIT): Likewise.
4369 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4370 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
4371 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4372 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
4373 * commands/hexdump.c (options): Likewise.
4374 * commands/i386/cpuid.c (options): Likewise.
4375 (GRUB_MOD_INIT): Likewise.
4376 * commands/i386/pc/drivemap.c (options): Likewise.
4377 (GRUB_MOD_INIT): Likewise.
4378 * commands/i386/pc/halt (options): Likewise.
4379 (GRUB_MOD_INIT): Likewise.
4380 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4381 * commands/i386/pc/pxecmd.c (options): Likewise.
4382 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
4383 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
4384 * commands/keystatus.c (options): Likewise.
4385 (GRUB_MOD_INIT): Likewise.
4386 * commands/loadenv.c (options): Likewise.
4387 * commands/ls.c (options): Likewise.
4388 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4389 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4390 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4391 * commands/parttool.c (helpmsg): Likewise.
4392 * commands/probe.c (options): Likewise.
4393 * commands/read.c (GRUB_MOD_INIT): Likewise.
4394 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
4395 * commands/search.c (options): Likewise.
4396 * commands/sleep.c (options): Likewise.
4397 * commands/test.c (GRUB_MOD_INIT): Likewise.
4398 * commands/true.c (GRUB_MOD_INIT): Likewise.
4399 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
4400 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
4401 * lib/arg.c (help_options): Likewise.
e9bbb4e7 4402 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
4403 `$(XGETTEXT)'.
98a50553 4404 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 4405
0ad46fd7 44062009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 4407
ef3c2c3a 4408 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
4409 instead of specifying them explicit.
4410
7922f68b
RM
44112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4412
4413 * NEWS: Add grub-probe support for GNU/Hurd.
4414
537ce47f
RM
44152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4416
4417 * NEWS: gettext was added after 1.97.
4418
9b214e3a
RM
44192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4420
4421 * util/mkisofs/msdos_partition.h: New file (based on
4422 include/grub/msdos_partition.h).
4423 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
4424 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
4425 (ld_options, main): Recognize --protective-msdos-label.
4426 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
4427 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
4428 (padblock_write): If `use_protective_msdos_label' is set, patch a
4429 protective DOS-style label in the output image.
4430
4431 * util/grub-mkrescue.in: Use --protective-msdos-label.
4432
e9309813
RM
44332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4434
4435 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
4436 boot.
4437
0ae56929
RM
44382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4439
4440 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
4441 variables.
4442 (ld_options, main): Recognize `--embedded-boot'.
4443 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
4444 declarations.
4445 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
4446 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
4447 (padblock_write): Likewise. Rewrite to support embedded boot image.
4448
4449 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
4450 for BIOS-based disk boot instead of only ElTorito.
4451
b15937b1
RM
44522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4453
4454 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
4455 build (not needed for bootstrap).
4456
52cc3ce0
RM
44572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4458
4459 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
4460 from i386-pc build (not needed for bootstrap).
4461 Rewrite a pair of strings.
4462
36f5ff04
RM
44632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4464
4465 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
4466
973c6c85 44672009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
4468
4469 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
4470
05d21547
AB
44712009-12-21 Andreas Born <futur.andy@googlemail.com>
4472
4473 * kern/env.c (grub_env_context_open): Mark exported variable for
4474 reexport.
4475
0175d51f
AB
44762009-12-21 Andreas Born <futur.andy@googlemail.com>
4477
4478 * kern/env.c (grub_env_export): Create nonexistent variables before
4479 exporting.
4480
7f39d92f 44812009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 4482
7f39d92f 4483 * include/grub/auth.h: Include `<grub/i18n.h>'.
4484 (GRUB_GET_PASSWORD): Gettextizze string.
4485 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
4486 menu_text.c.
4487 (grub_utf8_to_ucs4_alloc): Fix indentation.
4488 (grub_print_ucs4): Likewise.
4489 (grub_getstringwidth): Likewise.
4490 (print_message_indented): New declaration.
4491 * normal/auth.c: Include `<grub/i18n.h>'.
4492 (grub_auth_check_authentication): Gettexttize string.
4493 * normal/cmdline.c: Include `<grub/i18n.h>'.
4494 (grub_cmdline_get): Gettextizze.
4495 * normal/color.c: Include `<grub/i18n.h>'.
4496 (grub_parse_color_name_pair): Gettexttize strings.
4497 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
4498 string (use `print_message_indented').
4499 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
4500 `include/grub/normal.h'.
4501 (print_message_indented): Renamed to ...
4502 (grub_print_message_indented): ... this. Remove `static' qualifer (now
4503 used in normal/main.c).
4504 (print_message): Use `grub_print_message_indented' instead of
4505 `print_message_indented'.
4506 (print_timeout): Likewise.
4507 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
4508 (grub_normal_print_device_info): Gettexttize strings.
4509 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
4510
3041d898
VS
45112009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
4514 of arguments. Return number of tokens and not arguments. All users
4515 updated.
4516
de15bf8e
VS
45172009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
4520 non-MSDOS paritions.
4521
e0a6ca52
VS
45222009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * include/grub/types.h (UNUSED): Removed since it conflicts with
4525 NetBSD headers. All users changed to direct __attribute__ ((unused)).
4526 Reported by Grégoire Sutre.
4527
b99518d1 45282009-12-19 Carles Pina i Estany <carles@pina.cat>
4529
4530 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
4531 (grub_print_ucs4_alloc): Likewise.
4532 (grub_getstringwidth): Likewise.
4533 * normal/main.c (grub_normal_init_page): Gettextize version string.
4534 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
4535 (getstringwidth): Renamed to ...
4536 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
4537 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
4538 (grub_print_ucs4): Remove `static' qualifer (now used in
4539 normal/main.c).
4540 * po/POTFILES: Add normal/main.c.
4541
bfd5e52b 45422009-12-19 Carles Pina i Estany <carles@pina.cat>
4543
4544 * normal/menu_text.c (STANDARD_MARGIN): New macro.
4545 (print_message_indented): Add `margin_left' and `margin_right'
4546 parameters.
4547 (print_message): Update `print_message_indented' calls. Adds '\n' to the
4548 strings.
4549 (print_timeout): Use `print_message_indented' to print the message.
4550 Deletes `second_stage' parameter.
4551 (run_menu): Update `print_timeout' calls.
4552
5a1ad2b9
VS
45532009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 Fix console palette on OpenFirmware.
4556
4557 * term/ieee1275/ofconsole.c (MAX): Removed.
4558 (colors): Redone based on VGA palette.
4559 (grub_ofconsole_setcolor): Discard brightness bit since only 8
4560 colors are supported.
4561 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
4562
b045f00a
VS
45632009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 Fix potential EfiEmu double prepare.
4566
4567 * efiemu/main.c (prepared): New variable
4568 (grub_efiemu_unload): Set prepare to '0'.
4569 (grub_efiemu_prepare): Return if already prepared. Set prepared.
4570
4571 set_virtual_address_map support.
4572
4573 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
4574 prototype.
4575 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
4576 prototype.
4577 (grub_efiemu_crc32): Likewise.
4578 (grub_efiemu_crc64): Likewise.
4579 (grub_efiemu_set_virtual_address_map): Likewise.
4580 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
4581 New definition.
4582 (grub_autoefi_set_virtual_address_map): Likewise.
4583 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
4584 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
4585 Restructure flow to accomodate it.
4586 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
4587 (grub_efiemu_crc): Recompute CRC32.
4588 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
4589 (efiemu_ptv_relocated): ... this. Made global. All users updated.
4590 * efiemu/symbols.c (relocated_handle): New variable.
4591 (grub_efiemu_free_syms): Free relocated_handle.
4592 (grub_efiemu_alloc_syms): Allocate relocated_handle.
4593 (grub_efiemu_write_sym_markers): New function.
4594 (grub_efiemu_set_virtual_address_map): Likewise.
4595
4596 Newer XNU parameters.
4597
4598 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
4599 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
4600 (grub_xnu_fill_devicetree): New prototype.
4601 (grub_xnu_heap_real_start): New variable.
4602 * loader/xnu.c (get_name_ptr): New function.
4603 (grub_xnu_load_driver): Fill namelen and name.
4604
4605 64-bit xnu support.
4606
4607 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
4608 and 'loader/macho64.c'.
4609 * conf/i386-pc.rmk: Likewise.
4610 * conf/x86_64-efi.rmk: Likewise.
4611 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
4612 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
4613 * include/grub/macho.h (grub_macho_segment64): New structure.
4614 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
4615 (grub_macho_size32): ... to this.
4616 (grub_macho32_get_entry_point): Renamed from ...
4617 (grub_macho_get_entry_point32): ... to this.
4618 (grub_macho_contains_macho64): New prototype.
4619 (grub_macho_size64): Likewise.
4620 (grub_macho_get_entry_point64): Likewise.
4621 (grub_macho32_load): Renamed from ...
4622 (grub_macho_load32): ... to this.
4623 (grub_macho32_filesize): Renamed from ...
4624 (grub_macho_filesize32): ... to this.
4625 (grub_macho32_readfile): Renamed from ...
4626 (grub_macho_readfile32): ... to this.
4627 (grub_macho_filesize64): New prototype.
4628 (grub_macho_readfile64): Likewise.
4629 (grub_macho_parse32): Likewise.
4630 (grub_macho_parse64): Likewise.
4631 * loader/macho.c: Split into ...
4632 * loader/machoXX.c: ... and this. Replace 32 with XX.
4633 * loader/macho32.c: New file.
4634 * loader/macho64.c: Likewise.
4635 * loader/xnu.c (grub_xnu_is_64bit): New variable.
4636 (grub_cmd_xnu_kernel): Make 32-bit only.
4637 (grub_cmd_xnu_kernel64): New function.
4638 (grub_xnu_load_driver): Support Mach-O 64.
4639 (grub_cmd_xnu_mkext): Likewise.
4640 * util/grub.d/30_os-prober.in (osx_entry): New function.
4641 Generate entries for 64-bit boot too.
4642
4643 Eliminate ad-hoc tree format in XNU and EfiEmu.
4644
4645 * efiemu/main.c (grub_efiemu_prepare): Update comment.
4646 * efiemu/pnvram.c: Rewritten to use environment variables.
4647 All users updated.
4648
4649 Inline utf16_to_utf8.
4650
4651 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
4652 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
4653 All users updated.
4654 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
4655
4656 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
4657 * commands/usbtest.c (grub_usb_get_string): ... move here.
4658 (usb_print_str): Fix error handling.
4659 * include/grub/usb.h (grub_usb_get_string): Remove.
4660
4661 UTF-8 to UTF-16 transformation.
4662
4663 * conf/common.rmk (pkglib_MODULES): Add charset.mod
4664 (charset_mod_SOURCES): New variable.
4665 (charset_mod_CFLAGS): Likewise.
4666 (charset_mod_LDFLAGS): Likewise.
4667 * include/grub/utf.h: New file.
4668 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
4669
4670 Support for device properties.
4671
4672 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
4673 (grub_xnu_devprop_device_header): Likewise.
4674 (grub_xnu_devprop_device_descriptor): Likewise.
4675 (grub_xnu_devprop_add_device): New prototype.
4676 (grub_xnu_devprop_remove_device): Likewise.
4677 (grub_xnu_devprop_remove_property): Likewise.
4678 (grub_xnu_devprop_add_property_utf8): Likewise.
4679 (grub_xnu_devprop_add_property_utf16): Likewise.
4680 (grub_cpu_xnu_init): Likewise.
4681 (grub_cpu_xnu_fini): Likewise.
4682 (grub_cpu_xnu_unload): Likewise.
4683 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
4684 (property_descriptor): Likewise.
4685 (devices): New variable.
4686 (grub_xnu_devprop_remove_property): New function.
4687 (grub_xnu_devprop_add_device): Likewise.
4688 (grub_xnu_devprop_remove_device): Likewise.
4689 (grub_xnu_devprop_add_property): Likewise.
4690 (grub_xnu_devprop_add_property_utf8): Likewise.
4691 (grub_xnu_devprop_add_property_utf16): Likewise.
4692 (hextoval): Likewise.
4693 (grub_cpu_xnu_fill_devprop): Likewise.
4694 (grub_cmd_devprop_load): Likewise.
4695 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
4696 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
4697 (cmd_devprop_load): New variable.
4698 (grub_cpu_xnu_init): New function.
4699 (grub_cpu_xnu_fini): Likewise.
4700 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
4701 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
4702 (grub_cmd_xnu_devtree): Likewise.
4703 (hextoval): New function.
4704 (unescape): Likewise.
4705 (grub_xnu_fill_devicetree): Likewise.
4706
4707 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
4708 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
4709
0945f181
VS
47102009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Workaround for broken ATI VBE.
4713
4714 * video/i386/pc/vbe.c (last_set_mode): New variable.
4715 (grub_vbe_set_video_mode): Set 'last_set_mode'.
4716 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
4717 (grub_video_vbe_setup): Don't check for reserved flag.
4718
0ad46fd7 47192009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
4720
4721 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
4722 the `find' command.
4723
c179ebe4
VS
47242009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 UUID support for HFS.
4727
4728 * fs/hfs.c (grub_hfs_uuid): New function.
4729 (grub_hfs_fs): New value .uuid.
4730 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
4731
0ad46fd7 47322009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
4733
4734 Fix a segfault with parsing unknown long options.
4735
4736 * util/grub-mkrelpath.c (options): Zero terminate it.
4737
c4a3e41a
CPE
47382009-12-13 Carles Pina i Estany <carles@pina.cat>
4739
4740 * include/grub/misc.h (grub_puts): New declaration.
4741 (grub_puts_): Likewise.
a22008a6 4742 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
4743 (grub_puts_): Likewise.
4744
2e8a7602
RM
47452009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4746
4747 * util/grub-probe.c (probe): Improve error message.
4748
b50b77b9
RM
47492009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4750
4751 * loader/i386/multiboot_elfxx.c
4752 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
4753 initialization.
4754
47552009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Relocator framework
4758
4759 * loader/i386/xnu_helper.S: Removed. All users updated.
4760 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
4761 (relocator_mod_SOURCES): New variable.
4762 (relocator_mod_CFLAGS): Likewise.
4763 (relocator_mod_LDFLAGS): Likewise.
4764 (relocator_mod_ASFLAGS): Likewise.
4765 * conf/x86_64.rmk: Likewise.
4766 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
4767 (grub_multiboot_payload_entry_offset): Likewise.
4768 (grub_multiboot_forward_relocator): Likewise.
4769 (grub_multiboot_forward_relocator_end): Likewise.
4770 (grub_multiboot_backward_relocator): Likewise.
4771 (grub_multiboot_backward_relocator_end): Likewise.
4772 (grub_multiboot_payload_eip): New variable.
4773 (grub_multiboot_payload_orig): Likewise.
4774 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
4775 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
4776 * include/grub/i386/memory.h
4777 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
4778 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
4779 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
4780 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
4781 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
4782 * include/grub/i386/relocator.h: New file.
4783 * include/grub/x86_64/relocator.h: Likewise.
4784 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4785 (XNU_RELOCATOR): New macro.
4786 (grub_xnu_launcher_start): Remove.
4787 (grub_xnu_launcher_end): Likewise.
4788 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4789 (grub_xnu_heap_real_start): Remove.
4790 (grub_xnu_heap_start): Change to void *. All users updated.
4791 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4792 * lib/i386/relocator.c: New file.
4793 * lib/i386/relocator_asm.S: Likewise.
4794 * lib/i386/relocator_backward.S: Likewise.
4795 * lib/mips/relocator.c: Likewise.
4796 * lib/mips/relocator_asm.S: Likewise.
4797 * lib/relocator.c: Likewise.
4798 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4799 (entry): Removed.
4800 (playground): Likewise.
4801 (grub_multiboot_payload_orig): New variable.
4802 (grub_multiboot_payload_dest): Likewise.
4803 (grub_multiboot_payload_size): Likewise.
4804 (grub_multiboot_payload_eip): Likewise.
4805 (grub_multiboot_payload_esp): Likewise.
4806 (grub_multiboot_boot): Use grub_relocator32_boot.
4807 (grub_multiboot_unload): Free relocators.
4808 (grub_multiboot): Setup stack. Use relocators.
4809 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4810 (grub_multiboot_load_elfXX): Use relocators.
4811 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4812 (grub_multiboot_payload_size): Likewise.
4813 (grub_multiboot_payload_dest): Likewise.
4814 (grub_multiboot_payload_entry_offset): Likewise.
4815 (grub_multiboot_forward_relocator): Likewise.
4816 (grub_multiboot_backward_relocator): Likewise.
4817 (grub_multiboot_real_boot): Likewise.
4818 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4819 (grub_xnu_entry_point): Likewise.
4820 (grub_xnu_arg1): Likewise.
4821 (grub_xnu_stack): Likewise.
4822 (grub_xnu_launch): Removed.
4823 (grub_xnu_boot_resume): New function.
4824 (grub_xnu_boot): Use relocators.
4825 * loader/i386/xnu_helper.S: Removed.
4826 * loader/xnu.c (grub_xnu_heap_start): New variable.
4827 (grub_xnu_heap_size): Likewise.
4828 (grub_xnu_heap_malloc): Use relocators.
4829 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4830
29eb90c6
VS
48312009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4834 anything.
4835
31027430
CPE
48362009-12-13 Carles Pina i Estany <carles@pina.cat>
4837
4838 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4839 GRUB_ERR_NONE before calling grub_env_set.
4840
dc0c71d9
RM
48412009-12-12 Robert Millan <rmh@aybabtu.com>
4842
4843 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4844 * genmk.rb (video): New variable.
4845 (CLEANFILES, VIDEOFILES): Add #{video}.
4846 (#{video}): New target rule.
4847 * genvideolist.sh: New file.
4848 * Makefile.in (pkglib_DATA): Add video.lst.
4849 (video.lst): New target rule.
4850 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4851 `video.lst'.
4852 * util/grub.d/30_os-prober.in: Replace `vbe' with
4853 ${GRUB_VIDEO_BACKEND}.
4854
2a4bfcf0
RM
48552009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4856
4857 * THANKS: Add David Miller.
4858
2a3aa4d5
RM
48592009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 libpciaccess support.
4862
4863 * Makefile.in (LIBPCIACCESS): New variable.
4864 (enable_grub_emu_pci): Likewise.
4865 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4866 util/pci.c and commands/lspci.c.
4867 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4868 * configure.ac (grub-emu-pci): New option.
4869 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4870 (grub_pci_device_unmap_range): Likewise.
4871 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4872 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4873 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4874 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4875 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4876 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4877 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4878 * include/grub/pciutils.h: New file.
4879 * util/pci.c: Likewise.
4880
0ad46fd7 48812009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4882
4883 * util/misc.c: Don't include <errno.h> twice.
4884
0ad46fd7 48852009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4886
4887 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4888 name in an error message.
4889 (grub_biosdisk_rw): Likewise.
4890
2e59983c
VS
48912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Eliminate NTFS 4Gib barrier.
4894
4895 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4896 (read_run_data): Likewise.
4897 (grub_ntfs_read_run_list): Likewise.
4898 (grub_ntfs_read_block): Likewise.
4899 (grub_ntfs_iterate_dir): Likewise.
4900 (read_mft): Likewise.
4901 (read_data): Likewise.
4902 Use COM_LOG_LEN.
4903 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4904 to avoid 64-bit division
4905 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4906 (grub_ntfs_rlst): Use grub_disk_addr_t.
4907
71ee178a
VS
49082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 Eliminate grub-fstest 4Gib barrier.
4911
4912 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4913 (read_file): Fix error reporting.
4914
2520d4b8
VS
49152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Eliminate hexdump 4Gib barrier.
4918
4919 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4920 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4921
e1f27065
VS
49222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4925 Fixes amarsh bug.
4926
1a0f7f45
RM
49272009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4928
4929 Remove miscellaneous files in distclean target.
4930
4931 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4932
c631d9fb
CW
49332009-12-09 Colin Watson <cjwatson@ubuntu.com>
4934
4935 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4936 if they're already set. This resolves the conflict between my
4937 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4938 fixing the --grub-probe option again.
4939 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4940 change on 2009-10-06, so that we now once again source
4941 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4942
7c7b6106
RM
49432009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4944
4945 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4946 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4947 `util/devicemap.c'.
4948
e3069ec1
CPE
49492009-12-08 Carles Pina i Estany <carles@pina.cat>
4950
4951 * include/grub/misc.h (grub_printf_): New declaration.
4952 * kern/misc.c (grub_printf_): New definition.
4953 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4954 instead of `grub_printf' and `_'.
4955 * normal/menu_entry.c (store_completion): Likewise.
4956 (run): Likewise.
4957 (grub_menu_entry_run): Likewise.
4958 * normal/menu_text.c (grub_wait_after_message): Likewise.
4959 (notify_booting): Likewise.
4960 (notify_fallback): Likewise.
4961 (notify_execution_failure): Likewise.
4962
d6ceebf1
CW
49632009-12-07 Colin Watson <cjwatson@ubuntu.com>
4964
4965 * configure.ac: Check for vasprintf.
4966 * util/misc.c (asprintf): Move allocation from here ...
4967 (vasprintf): ... to here. New function.
4968 (xasprintf): New function.
4969 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4970 prototypes.
4971 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4972 * util/grub-mkfont.c (write_font): Likewise.
4973 * util/grub-probe.c (probe): Likewise.
4974 * util/hostdisk.c (make_device_name): Likewise.
4975
de6daa8b
DM
49762009-12-06 David S. Miller <davem@sunset.davemloft.net>
4977
4978 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4979 anything even prefixed with 'cdrom' as a cdrom.
4980
0ad46fd7 49812009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4982
4983 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4984 mount points.
4985
98d3dc02
CPE
49862009-12-05 Carles Pina i Estany <carles@pina.cat>
4987
4988 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4989 grub_gettext_msg_list.
4990 (grub_gettext_gettranslation_from_position): Return const char *
4991 and not char *.
a2c1332b 4992 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4993 returns from the list if existing there.
4994 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4995 (grub_gettext_delete_list): Delete the list.
4996 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4997 lang environment variable is changed.
4998 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4999
b283f108
VS
50002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 Rename kernel.mod to kernel.img.
5003
5004 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
5005 (kernel_mod_EXPORTS): Rename to ...
5006 (kernel_img_EXPORTS): ... this.
5007 (kernel_mod_SOURCES): Rename to ...
5008 (kernel_img_SOURCES): ... this.
5009 (kernel_mod_HEADERS): Rename to ...
5010 (kernel_img_HEADERS): ... this. All users updated.
5011 (kernel_mod_CFLAGS): Rename to ...
5012 (kernel_img_CFLAGS): ... this.
5013 (kernel_mod_ASFLAGS): Rename to ...
5014 (kernel_img_ASFLAGS): ... this.
5015 (kernel_mod_LDFLAGS): Rename to ...
5016 (kernel_img_LDFLAGS): ... this.
5017 * conf/x86_64-efi.rmk: Likewise.
5018 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
5019 (read_kernel_image): ... this. All users updated.
5020 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
5021
69055f8a
CPE
50222009-12-05 Carles Pina i Estany <carles@pina.cat>
5023
5024 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
5025 (print_spaces): New function.
5026 (grub_print_ucs4): New function.
5027 (getstringwidth): New function.
5028 (print_message_indented): New function.
5029 (print_message): Gettexttize strings using print_message_indented.
5030 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
5031 width.
5032 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 5033 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
5034 Gettextize.
5035 * normal/menu_entry.c (store_completion): Cleanup the gettextized
5036 string.
5037 (run): Likewise.
5038 (grub_menu_entry_run): Likewise.
5039 * PO/POTFILES: Add normal/menu_entry.c.
5040
f616f51c
VS
50412009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
5044
57bbe3be
CPE
50452009-12-05 Carles Pina i Estany <carles@pina.cat>
5046
5047 * util/grub-install.in: Install gettext .mo files.
5048 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
5049
013d67a1
CPE
50502009-12-05 Carles Pina i Estany <carles@pina.cat>
5051
5052 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
5053 grub_dprintf.
5054
fb954db0
RM
50552009-12-05 Robert Millan <rmh.grub@aybabtu.com>
5056
5057 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
5058 non-firmware-dependant one in realmode.S takes precedence.
5059
6b8474f8
RM
50602009-12-04 Robert Millan <rmh.grub@aybabtu.com>
5061
5062 * commands/halt.c: Replace misc arch-specific headers with
5063 `<grub/misc.h>'.
5064 * commands/reboot.c: Likewise.
5065 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
5066 `<grub/misc.h>'.
5067 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
5068 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
5069 (kernel_img_SOURCES): ... to here.
5070
5071 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
5072 * include/grub/i386/pc/init.h: Likewise.
5073 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5074 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5075
5076 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
5077
5078 * include/grub/i386/halt.h: Remove.
5079 * include/grub/i386/reboot.h: Likewise.
5080
5081 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
5082
4b2e6ca2
DM
50832009-12-03 David S. Miller <davem@sunset.davemloft.net>
5084
5085 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
5086 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
5087 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
5088 "progname.h"
5089 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5091 (usage): Add missing comma in printf.
5092
5239348f
RM
50932009-12-02 Robert Millan <rmh.grub@aybabtu.com>
5094
5095 Use the same reboot approach on i386 coreboot and qemu as we do on
5096 BIOS.
5097
5098 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
5099 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
5100 * kern/i386/reboot.c: Remove.
5101 * include/grub/i386/reboot.h (grub_reboot): Export function.
5102 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
5103 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
5104 0xf000:0xfff0 instead of 0xffff:0x0000.
5105 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
5106 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
5107
ef34cbd4
RM
51082009-11-30 Robert Millan <rmh.grub@aybabtu.com>
5109
5110 Fix $srcdir != $objdir build.
5111
5112 * Makefile.in (po/%.po): Rewrite as ...
5113 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
5114
dc9837ea
ST
51152009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
5116
5117 Fix GNU/Hurd grub-install crash.
5118 * util/grub-probe.c (probe): Try to access `path' only when it is not
5119 NULL.
5120
2f857f98
VS
51212009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 Correct module naming.
5124
5125 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5126 (GRUB_MOD_INIT(efi_uga)): ... to this
5127 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5128 (GRUB_MOD_FINI(efi_uga)): ... to this
5129 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5130 (GRUB_MOD_INIT(efi_gop)): ... to this
5131 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5132 (GRUB_MOD_FINI(efi_gop)): ... to this
5133
c5448046
RM
51342009-11-28 Robert Millan <rmh.grub@aybabtu.com>
5135
5136 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
5137 translatable.
5138 (usage): Translate `arg' strings using gettext().
5139 Thanks to Jordi Mallach for the suggestion.
5140
c85184ad
VS
51412009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 GOP support. Based on patch from Bean
5144 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5145
5146 * video/efi_gop.c: New file.
5147 * include/grub/efi/graphics_output.h: Likewise.
5148 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
5149 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5150 variables.
5151 * conf/x86_64-efi.rmk: Likewise.
5152
8a4c48d8
VS
51532009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Rename efi_fb to efi_uga.
5156
5157 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5158 'efi_uga.mod'.
5159 (efi_fb_mod_SOURCES): Rename this ...
5160 (efi_uga_mod_SOURCES): ... to this.
5161 (efi_fb_mod_CFLAGS): Rename this ...
5162 (efi_uga_mod_CFLAGS): ... to this.
5163 (efi_fb_mod_LDFLAGS): Rename this ...
5164 (efi_uga_mod_LDFLAGS): ... to this.
5165 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5166 'efi_uga.mod'.
5167 (efi_fb_mod_SOURCES): Rename this ...
5168 (efi_uga_mod_SOURCES): ... to this.
5169 (efi_fb_mod_CFLAGS): Rename this ...
5170 (efi_uga_mod_CFLAGS): ... to this.
5171 (efi_fb_mod_LDFLAGS): Rename this ...
5172 (efi_uga_mod_LDFLAGS): ... to this.
5173 * video/efi_fb.c: Move this ...
5174 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
5175
fb6c1a7b
RM
51762009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5177
5178 * po/README: New file. Explain our PO file workflow.
5179
3bc7896c
RM
51802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5181
5182 * po/ChangeLog: Remove. Move relevant entries back to ...
5183 * ChangeLog: ... here.
5184 * po/ca.po: Remove (now handled by TLP).
5185 * po/id.po: Likewise.
5186 * po/zh_CN.po: Likewise.
5187 * Makefile.in (LINGUAS): Initialize in a way that supports
5188 empty set.
5189
9ed4841d
RM
51902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5191
5192 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
5193 reliing on po/LINGUAS.
5194 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
5195 (po/%.po): ... this.
5196
0ad46fd7 51972009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
5198
5199 * util/i386/efi/grub-mkimage.c: Include "progname.h".
5200 (main): Use `program_name' instead of nonexistent `progname'.
5201
e30dd392
FZ
52022009-11-26 Felix Zielcke <fzielcke@z-51.de>
5203
5204 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5205 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
5206
7656de4f
RM
52072009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5208
5209 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
5210 commit.
5211 * conf/i386-efi.rmk: Likewise.
5212 * conf/i386-ieee1275.rmk: Likewise.
5213 * conf/powerpc-ieee1275.rmk: Likewise.
5214 * conf/sparc64-ieee1275.rmk: Likewise.
5215 * conf/x86_64-efi.rmk: Likewise.
5216
db77c4d4
FZ
52172009-11-26 Felix Zielcke <fzielcke@z-51.de>
5218
5219 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
5220
a755bb04
FZ
52212009-11-26 Felix Zielcke <fzielcke@z-51.de>
5222
5223 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
5224
8a4c07fd
RM
52252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5226
5227 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
5228 (grub_mkdevicemap_SOURCES): New variable.
5229 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
5230 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
5231 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
5232 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
5233 (grub_mkdevicemap_SOURCES): Remove.
5234 * conf/i386-efi.rmk: Likewise.
5235 * conf/i386-ieee1275.rmk: Likewise.
5236 * conf/i386-pc.rmk: Likewise.
5237 * conf/powerpc-ieee1275.rmk: Likewise.
5238 * conf/sparc64-ieee1275.rmk: Likewise.
5239 * conf/x86_64-efi.rmk: Likewise.
5240 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
5241 (usage): Fix strings to use `program_name'.
5242 (main): Initialize gettext.
5243 * util/grub-editenv.c: Likewise.
5244 * util/grub-emu.c: Likewise.
5245 * util/grub-fstest.c: Likewise.
5246 * util/grub-mkdevicemap.c: Likewise.
5247 * util/grub-mkfont.c: Likewise.
5248 * util/grub-mkrelpath.c: Likewise.
5249 * util/grub-pe2elf.c: Likewise.
5250 * util/grub-probe.c: Likewise.
5251 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5252 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5253 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5254
5255 * util/misc.c: Include `"progname.h"'.
5256 (progname): Remove variable.
5257 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
5258
6f61ed55
FZ
52592009-11-25 Felix Zielcke <fzielcke@z-51.de>
5260
5261 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
5262 printf and print a newline after the menuentry header line.
5263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5264
f022876b
FZ
52652009-11-25 Felix Zielcke <fzielcke@z-51.de>
5266
5267 autoconf >= 2.60 support $(localedir).
5268
5269 * INSTALL: Note that autoconf 2.60 is required.
5270 * configure.ac (AC_PREREQ): Bump to 2.60.
5271 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
5272 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
5273
6717926e
YB
52742009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
5275
5276 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
5277 aclocal is run.
5278
08806a54
RM
52792009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5280
5281 * normal/main.c (grub_normal_read_line): Fix off-by-one
5282 buffer overflow.
5283
13b33fba
RM
52842009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5285
5286 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
5287 "parser.grub" in grub_command_execute() call.
5288
4a8572e9
CPE
52892009-11-24 Carles Pina i Estany <carles@pina.cat>
5290
5291 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
5292 * conf/i386-efi.rmk: Likewise.
5293 * conf/i386-ieee1275.rmk: Likewise.
5294 * conf/i386-pc.rmk: Likewise.
5295 * conf/powerpc-ieee1275.rmk: Likewise.
5296 * conf/sparc64-ieee1275.rmk: Likewise.
5297 * conf/x86_64-efi.rmk: Likewise.
5298 * gettext/gettex.c: Include <grub/i18n.h>.
5299 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
5300 here ...
5301 * include/grub/i18n.h: ... to here
5302 * include/grub/i18n.h: ... to here.
5303 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 5304 (grub_gettext_dummy): Move above user.
4a8572e9 5305
bee48093
FZ
53062009-11-24 Felix Zielcke <fzielcke@z-51.de>
5307
5308 * util/Makefile.in (install-local): Convert a `for' into a normal
5309 shell expansion.
5310
a031e91c
RM
53112009-11-24 Robert Millan <rmh.grub@aybabtu.com>
5312
5313 * autogen.sh: Add automake call.
5314 * config.guess: Remove.
5315 * config.sub: Likewise.
5316 * install-sh: Likewise.
5317
26bec39d
FZ
53182009-11-24 Felix Zielcke <fzielcke@z-51.de>
5319
5320 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
5321
8e2532fd
FZ
53222009-11-24 Felix Zielcke <fzielcke@z-51.de>
5323
5324 * util/Makefile.in (install-local): Convert a make `$(foreach)'
5325 function to a normal shell `for'.
5326
fefa1b7d
FZ
53272009-11-24 Felix Zielcke <fzielcke@z-51.de>
5328
5329 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5330
4501250b
FZ
53312009-11-24 Felix Zielcke <fzielcke@z-51.de>
5332
5333 * util/grub-mkrelpath.c: New file.
5334 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
5335 (grub_mkrelpath_SOURCES): New variable.
5336 * include/grub/util/misc.h: New function prototype.
5337 * util/misc.c (make_system_path_relative_to_its_root): New function.
5338
5339 * util/grub-mkconfig_lib.in (bindir): New variable.
5340 (grub_mkrelpath): Likewise.
5341 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
5342
5343 * util/probe.c (probe): Make the file path relative to its root.
5344 Change a info message to use the GRUB path. Enable again the
5345 check if we can read the file with GRUB facilities.
5346
5347 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
5348 to its root.
5349
11d9778b
FZ
53502009-11-24 Felix Zielcke <fzielcke@z-51.de>
5351
5352 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
5353 platform.
5354
4465287d
FZ
53552009-11-24 Felix Zielcke <fzielcke@z-51.de>
5356
5357 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
5358 strncmp().
5359
62b47f22
FZ
53602009-11-24 Felix Zielcke <fzielcke@z-51.de>
5361
5362 * util/getroot.c (grub_util_is_dmraid): New function.
5363 (grub_util_get_dev_abstraction): Treat dmraid and multipath
5364 devices as normal ones, not as LVM.
5365
1eafb9b9 53662009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
5367
5368 * conf/common.rmk: Add grub-gettext_lib target and updates
5369 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
5370 LDFLAGS.
5371 * gettext/gettext.c: New file. (Reads mo files).
5372 * include/grub/file.h (grub_file_pread): New prototype.
5373 * include/grub/i18n.h (_): New prototype.
5374 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
5375 prototypes.
5376 * kern/misc.c (grub_gettext_dummy): New function.
5377 * normal/menu_text.c: Include <grub/i18n.h>.
5378 * normal/menu_text.c (print_timeout): Gettexttize string.
5379 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
5380 * po/POTFILES: Add `normal/menu_text.c'.
5381 * po/ca.po: Add new translations.
c3ea6bd4
CPE
5382 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
5383 gettext module and defines locale_dir and lang in grub.cfg.
5384 * NEWS: Add gettext support.
5385
0fdb2568
RM
53862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5387
5388 * util/hostdisk.c: Include `<grub/i18n.h>'.
5389 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
5390 (make_device_name): Rewrite using asprintf.
5391 (convert_system_partition_to_system_disk): Replace 0 with NULL.
5392 (find_system_device): If a device is not found, generate one just
5393 by reusing the OS path name.
5394 (read_device_map): Make it permissible for device.map not to exist.
5395
f515aa62
RM
53962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5397
5398 * script/sh/execute.c: Move from here ...
5399 * script/execute.c: ... to here. Update all users.
5400 * script/sh/function.c: Move from here ...
5401 * script/function.c: ... to here. Update all users.
5402 * script/sh/lexer.c: Move from here ...
5403 * script/lexer.c: ... to here. Update all users.
5404 * script/sh/main.c: Move from here ...
5405 * script/main.c: ... to here. Update all users.
5406 * script/sh/parser.y: Move from here ...
5407 * script/parser.y: ... to here. Update all users.
5408 * script/sh/script.c: Move from here ...
5409 * script/script.c: ... to here. Update all users.
5410
f84b481b
RM
54112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5412
5413 * configure.ac: Detect all `emu' platforms. Define
5414 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
5415 --enable-grub-emu logic. Disable include/grub/machine
5416 symlink on `emu' platforms.
5417
5418 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
5419 * gensymlist.sh.in: Likewise.
5420
5421 * include/grub/i386/coreboot/machine.h: Remove file.
5422 * include/grub/i386/efi/machine.h: Likewise.
5423 * include/grub/i386/ieee1275/machine.h: Likewise.
5424 * include/grub/i386/pc/machine.h: Likewise.
5425 * include/grub/i386/qemu/machine.h: Likewise.
5426 * include/grub/powerpc/ieee1275/machine.h: Likewise.
5427 * include/grub/sparc64/ieee1275/machine.h: Likewise.
5428 * include/grub/x86_64/efi/machine.h: Likewise.
5429
5430 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
5431 * commands/halt.c: Likewise.
5432 * commands/reboot.c: Likewise.
5433 * include/grub/autoefi.h: Likewise.
5434 * include/grub/i386/at_keyboard.h: Likewise.
5435 * include/grub/i386/kernel.h: Likewise.
5436 * include/grub/i386/loader.h: Likewise.
5437 * include/grub/i386/pc/memory.h: Likewise.
5438 * kern/dl.c: Likewise.
5439 * kern/i386/coreboot/init.c: Likewise.
5440 * loader/i386/bsd.c: Likewise.
5441 * loader/i386/linux.c: Likewise.
5442 * loader/multiboot_loader.c: Likewise.
5443 * term/i386/pc/serial.c: Likewise.
5444 * term/usb_keyboard.c: Likewise.
5445
5446 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
5447 `<grub/machine/machine.h>'
5448 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
5449 * util/misc.c: Remove `<grub/machine/machine.h>' and
5450 `<grub/machine/time.h>'.
5451
5452 * Makefile.in (enable_grub_emu): Remove variable.
5453 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
5454
5455 * conf/any-emu.rmk: New file.
5456 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
5457 (grub_emu_init.c): Move from here ...
5458 * conf/any-emu.rmk: ... to here.
5459
5460 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
5461 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
5462 * conf/any-emu.rmk: ... to here.
5463
4efeab03
RM
54642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5465
5466 * include/grub/parser.h (grub_parser_register): Document need
5467 of `name' parameter.
5468 * normal/main.c (grub_normal_read_line): Simplify prompt string.
5469 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
5470 "sh" to "grub".
5471
ea1dd8bf
RM
54722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5473
5474 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
5475 `$(XGETTEXT)'.
5476 * include/grub/i18n.h (N_): New macro.
5477 * util/mkisofs/mkisofs.h: Likewise.
5478 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
5479 around N_().
5480 (usage): Use gettext() to translate help strings when printing them.
5481
0c140626
RM
54822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5483
5484 Based on patch from Bean
5485 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5486
5487 * video/efi_fb.c: New file.
5488 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
5489 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5490 variables.
5491 * conf/x86_64-efi.rmk: Likewise.
5492
87d58298
RM
54932009-11-22 Robert Millan <rmh.grub@aybabtu.com>
5494
5495 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
5496 * util/i386/pc/grub-setup.c: Likewise.
5497
994cc3a3
ST
54982009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5499
5500 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
5501 <hurd/fs.h>
5502 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
5503 file_get_storage_info to implement grub_guess_root_device.
5504
26a61d6a
FZ
55052009-11-21 Felix Zielcke <fzielcke@z-51.de>
5506
5507 * Makefile.in (target): Use make's builtin $(shell) function
5508 instead of calling directly $(SHELL) to create the locale directories,
5509 inside the $(foreach) function.
5510
74ff1dd5
FZ
55112009-11-21 Felix Zielcke <fzielcke@z-51.de>
5512
5513 * util/grub-mkrescue.in: Print an error and usage if output option
5514 has not been given.
5515
0b787d0e
FZ
55162009-11-21 Felix Zielcke <fzielcke@z-51.de>
5517
5518 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
5519 * util/grub.d/30_os-prober.in: Cope with Linux entries where
5520 root and /boot are on different devices.
5521
1164b270
RM
55222009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5523
5524 Fix build for srcdir != objdir.
5525
5526 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
5527 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
5528 $(srcdir).
5529 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
5530 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
5531 reference for input.
5532
13774a2f
RM
55332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5534
5535 * util/grub-mkrescue.in: Use source directory direcly (without copiing
5536 or hardlinking it). Remove -J option, Joliet is not compatible with
5537 multiple source directories.
5538
efda854e
RM
55392009-11-21 Carles Pina i Estany <carles@pina.cat>
55402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5541
5542 * util/grub-mkrescue.in: Recognize `--override-directory' option.
5543 (process_input_dir): New function. Process an arbitrary input
5544 directory.
5545 Misc adjustments to support both "override mode" and system-wide mode.
5546
6c09890c
FZ
55472009-11-20 Felix Zielcke <fzielcke@z-51.de>
5548
5549 * configure.ac (UNIFONT_BDF): Rename to ...
5550 (FONT_SOURCE): ... this. Update all users.
5551
a797824f
FZ
55522009-11-20 Felix Zielcke <fzielcke@z-51.de>
5553
5554 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
5555 to the list of unifont files to look for.
5556
cd4f42b0
RM
55572009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5558
5559 Patch from Joe Auricchio <jauricchio@gmail.com>
5560 * commands/minicmd.c (grub_mini_cmd_clear): New function.
5561 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
5562 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
5563
393c783d
FZ
55642009-11-19 Felix Zielcke <fzielcke@z-51.de>
5565
5566 * Makefile.in (install-local): Add a missing backslash.
5567
b2f1e327
FZ
55682009-11-19 Felix Zielcke <fzielcke@z-51.de>
5569
5570 * include/grub/x86_64/io.h: New file.
5571
f577f7a0
RM
55722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5573
5574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
5575 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
5576 Include `"progname.h"'.
5577 (main): Initialize gettext.
5578 * util/i386/pc/grub-setup.c: Gettexttize.
5579 * util/i386/pc/grub-mkimage.c: Likewise.
5580
5581 * Makefile.in (po/*.po): Redefine as ...
5582 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
5583
3bc7896c
RM
5584 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
5585
c37943b6
RM
55862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5587
5588 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
5589 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
5590 (program_name): Remove.
5591 (main): Initialize gettext support.
6323f705
RM
5592 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
5593 Include `<libintl.h>'.
5594 (_): New macro.
c37943b6
RM
5595
5596 * util/mkisofs/eltorito.c: Gettexttize.
5597 * util/mkisofs/joliet.c: Likewise.
5598 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
5599 * util/mkisofs/multi.c: Likewise.
5600 * util/mkisofs/rock.c: Likewise.
5601 * util/mkisofs/tree.c: Likewise.
5602 * util/mkisofs/write.c: Likewise.
5603
3bc7896c
RM
5604 * po/POTFILES: Update with new files.
5605
5ce77c6e
RM
56062009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5607
5608 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
5609 * util/mkisofs/iso9660.h: Likewise.
5610 * util/mkisofs/joliet.c: Likewise.
5611 * util/mkisofs/mkisofs.c: Likewise.
5612 * util/mkisofs/mkisofs.h: Likewise.
5613 * util/mkisofs/rock.c: Likewise.
5614 * util/mkisofs/tree.c: Likewise.
5615 * util/mkisofs/write.c: Likewise.
5616
5617 * util/mkisofs/eltorito.c (rcsid): Remove.
5618 * util/mkisofs/hash.c: Likewise.
5619 * util/mkisofs/joliet.c: Likewise.
5620 * util/mkisofs/name.c: Likewise.
5621 * util/mkisofs/rock.c: Likewise.
5622 * util/mkisofs/tree.c: Likewise.
5623 * util/mkisofs/write.c: Likewise.
5624
1dabbc77
RM
56252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5626
5627 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
5628 instead of static allocation.
5629 * util/mkisofs/match.h: Likewise.
5630
633877cb
RM
56312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5632
3bc7896c
RM
5633 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
5634 and `util/grub.d/10_linux.in'.
633877cb
RM
5635 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
5636 translatable Shell files.
5637
af1c0c85
RM
56382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5639
5640 * Makefile.in ($(srcdir)/aclocal.m4): New target.
5641
769ae37b
RM
56422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5643
5644 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 5645 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
5646 * util/grub.d/10_kfreebsd.in (bindir): New variable.
5647 Add gettext initialization.
5648 (kfreebsd_entry): Make menuentry output translatable.
5649
56502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5651
5652 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
5653 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
5654 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
5655 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
5656 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 5657 * po/LINGUAS: New file.
769ae37b
RM
5658
56592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5660
5661 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
5662 other things).
5663 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
5664 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
5665 bindtextdomain() calls for gettext initialization.
5666
56672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 * gnulib/progname.c: New file (imported from Gnulib).
5670 * gnulib/progname.h: Likewise.
5671 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5672 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
5673 (usage): Replace `progname' with `program_name'.
5674 (main): Use set_program_name() for program name initialization.
5675
56762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5677
5678 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
5679 from here ...
5680 * Makefile.in (CPPFLAGS): ... to here.
5681
56822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5683
5684 * aclocal.m4: Move from here ...
5685 * acinclude.m4: ... to here.
5686 * autogen.sh: Add call to `aclocal'.
5687 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
5688
56892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5690
5691 * Makefile.in (CLEANFILES): Add `po/*.mo'.
5692 (LINGUAS): New variable.
5693 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
5694 (install-local): Install MO files.
5695 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
5696 * include/grub/i18n.h: New file.
3bc7896c
RM
5697 * po/POTFILES: New file.
5698 * po/ca.po: New file.
769ae37b
RM
5699 * util/grub.d/10_linux.in (bindir): New variable.
5700 Add gettext initialization.
5701 (linux_entry): Make menuentry output translatable.
5702 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
5703 (usage): Make --help output translatable.
5704 (main): Initialize gettext.
5705
02c0a6ad
RM
57062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5707
5708 * import_gcry.py: New file (written by Vladimir with minor
5709 adjustments).
5710 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
5711 ciphers.
5712 * INSTALL: Document that Python is required for bootstrap.
5713
57142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5715
5716 Import ciphers from libgcrypt 1.4.4.
5717
5718 * lib/libgcrypt/cipher/ChangeLog
5719 * lib/libgcrypt/cipher/ac.c
5720 * lib/libgcrypt/cipher/arcfour.c
5721 * lib/libgcrypt/cipher/bithelp.h
5722 * lib/libgcrypt/cipher/blowfish.c
5723 * lib/libgcrypt/cipher/camellia-glue.c
5724 * lib/libgcrypt/cipher/camellia.c
5725 * lib/libgcrypt/cipher/camellia.h
5726 * lib/libgcrypt/cipher/cast5.c
5727 * lib/libgcrypt/cipher/cipher.c
5728 * lib/libgcrypt/cipher/crc.c
5729 * lib/libgcrypt/cipher/des.c
5730 * lib/libgcrypt/cipher/dsa.c
5731 * lib/libgcrypt/cipher/ecc.c
5732 * lib/libgcrypt/cipher/elgamal.c
5733 * lib/libgcrypt/cipher/hash-common.c
5734 * lib/libgcrypt/cipher/hash-common.h
5735 * lib/libgcrypt/cipher/hmac-tests.c
5736 * lib/libgcrypt/cipher/md.c
5737 * lib/libgcrypt/cipher/md4.c
5738 * lib/libgcrypt/cipher/md5.c
5739 * lib/libgcrypt/cipher/primegen.c
5740 * lib/libgcrypt/cipher/pubkey.c
5741 * lib/libgcrypt/cipher/rfc2268.c
5742 * lib/libgcrypt/cipher/rijndael-tables.h
5743 * lib/libgcrypt/cipher/rijndael.c
5744 * lib/libgcrypt/cipher/rmd.h
5745 * lib/libgcrypt/cipher/rmd160.c
5746 * lib/libgcrypt/cipher/rsa.c
5747 * lib/libgcrypt/cipher/seed.c
5748 * lib/libgcrypt/cipher/serpent.c
5749 * lib/libgcrypt/cipher/sha1.c
5750 * lib/libgcrypt/cipher/sha256.c
5751 * lib/libgcrypt/cipher/sha512.c
5752 * lib/libgcrypt/cipher/tiger.c
5753 * lib/libgcrypt/cipher/twofish.c
5754 * lib/libgcrypt/cipher/whirlpool.c
5755
af2f93ac
RM
57562009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5757
5758 Fix build for systems without error().
5759
5760 * gnulib/error.c: New file (imported from Gnulib).
5761 * gnulib/error.h: Likewise.
5762 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
5763 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
5764 (this variable is now used by error()).
5765
73fb3dd5
FZ
57662009-11-16 Felix Zielcke <fzielcke@z-51.de>
5767
814f5e96
FZ
5768 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
5769 instead of relying that char is signed.
73fb3dd5 5770
a691ca33
VS
57712009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
5774 blocksize different from specified.
5775 (grub_pxefs_read): Likewise.
5776
2af8f0f4
FZ
57772009-11-16 Felix Zielcke <fzielcke@z-51.de>
5778
5779 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
5780
5781 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
5782 (grub_ata_readwrite): Likewise. Update 2 format strings.
5783 (grub_atapi_read): Likewise.
5784
5785 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5786 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5787 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5788 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5789 (ata_mod_LDFLAGS): Move from here ...
5790 * conf/i386.rmk: ... to here ...
5791 * conf/x86_64-efi.rmk: ... and here.
5792 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5793 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5794
83bdecaf
RM
57952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5796
5797 Relicense multiboot.h, with RMS' blessing.
5798
5799 * include/multiboot.h: Change to X11 license.
5800
fd6fd3d7
RM
58012009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5802
5803 Support --version in grub-mkisofs.
5804
5805 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5806 (OPTION_VERSION): New macro.
5807 (ld_options): Recognize --version.
5808 (usage): Move `program_name' from here ...
5809 (program_name): ... to here. Add `static' qualifier.
5810 (main): Recognize `OPTION_VERSION'.
5811
16a88c49
FZ
58122009-11-15 Felix Zielcke <fzielcke@z-51.de>
5813
5814 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5815 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5816
a4158476
RM
58172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5818
5819 Fix help2man generation for mkisofs.
5820
5821 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5822 (usage): Send output to stdout (rather than stderr).
5823
fc2208b0
RM
58242009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5825
5826 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5827 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5828 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5829 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5830 (bin_SCRIPTS): Add `grub-mkfloppy'.
5831 (grub_mkfloppy_SOURCES): New variable.
5832
5833 * util/grub-mkrescue.in: New file.
5834 * util/i386/pc/grub-mkfloppy.in: New file.
5835
5836 * util/i386/coreboot/grub-mkrescue.in: Remove.
5837 * util/i386/pc/grub-mkrescue.in: Remove.
5838
8d0edf4a
RM
58392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5840
5841 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5842 from here ...
5843 * include/multiboot.h (struct multiboot_header): ... to here. Update
5844 all users.
5845 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5846 from here ...
5847 * include/multiboot.h (struct multiboot_info): ... to here. Update
5848 all users.
5849 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5850 from here ...
5851 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5852 Update all users.
5853 * include/grub/multiboot.h (struct grub_mod_list): Move
5854 from here ...
5855 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5856 Update all users.
5857
a73f5969
RM
58582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5859
5860 * include/multiboot2.h (multiboot_word): Rename from this ...
5861 (multiboot2_word): ... to this. Update all users.
5862 (multiboot_header): Rename from this ...
5863 (multiboot2_header): ... to this. Update all users.
5864 (multiboot_tag_header): Rename from this ...
5865 (multiboot2_tag_header): ... to this. Update all users.
5866 (multiboot_tag_start): Rename from this ...
5867 (multiboot2_tag_start): ... to this. Update all users.
5868 (multiboot_tag_name): Rename from this ...
5869 (multiboot2_tag_name): ... to this. Update all users.
5870 (multiboot_tag_module): Rename from this ...
5871 (multiboot2_tag_module): ... to this. Update all users.
5872 (multiboot_tag_memory): Rename from this ...
5873 (multiboot2_tag_memory): ... to this. Update all users.
5874 (multiboot_tag_unused): Rename from this ...
5875 (multiboot2_tag_unused): ... to this. Update all users.
5876 (multiboot_tag_end): Rename from this ...
5877 (multiboot2_tag_end): ... to this. Update all users.
5878
1c8927f0
RM
58792009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5880
5881 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5882 this platform we should support Multiboot1 first.
5883
5884 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5885 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5886 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5887
6e1e0d89
RM
58882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5889
5890 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5891 of write calls (converting them to fwrite() if they aren't already).
5892 (get_torito_desc): Likewise.
5893 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5894
7f2b34d8
RM
58952009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5896
5897 * util/i386/pc/grub-install.in: Move from here ...
5898 * util/grub-install.in: ... to here. Update all users.
5899
c0ef3311
CW
59002009-11-11 Colin Watson <cjwatson@ubuntu.com>
5901
5902 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5903
e1f240ff
RM
59042009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5905
5906 Support for El Torito without floppy emulation.
5907
5908 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5909 (init_boot_catalog): Improve error handling.
5910 (get_torito_desc): Don't use floppy emulation unless requested by
5911 user. Patch boot information table when requested via
5912 `-boot-info-table'.
5913 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5914 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5915 (use_boot_info_table): New variables.
5916 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5917 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5918 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5919 `--eltorito-emul-floppy'.
5920 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5921 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5922 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5923 (use_boot_info_table, get_731): New prototypes.
5924 * util/mkisofs/write.c (get_731): New function.
5925
af7d4de5
FZ
59262009-11-11 Felix Zielcke <fzielcke@z-51.de>
5927
5928 Fix the generation of the man page.
5929
5930 * util/pc/i386/grub-install.in: Source
5931 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5932
2c55dbc0
RM
59332009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5934
5935 Large file support for grub-mkisofs.
5936
5937 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5938 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5939 (session_start): Upgrade type to `uint64_t'. Update all users.
5940 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5941 (struct directory_entry): Upgrade type of `starting_block' and
5942 `size' to `uint64_t'. Update all users.
5943 (struct deferred): Remove unused structure.
5944 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5945 Update all users.
5946 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5947 file is larger than `UINT32_MAX'.
5948 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5949 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5950 return value.
5951 (struct deferred_write): Upgrade type of `extent' and `size' to
5952 `uint64_t'. Update all users.
5953 (last_extent_written): Upgrade type to `uint64_t'. Update all
5954 users.
5955 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5956 Update all users. Upgrade type of `remain' to `int64_t' and
5957 `use' to `size_t'. Use error() to handle fread() errors.
5958 (write_files): Rely on write_one_file() rather than calling
5959 xfwrite() directly.
5960
6a9cead5
FZ
59612009-11-09 Felix Zielcke <fzielcke@z-51.de>
5962
5963 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5964
4825d790
RM
59652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5966
5967 * util/mkisofs/fnmatch.c: Remove.
5968 * util/mkisofs/getopt1.c: Likewise.
5969 * util/mkisofs/getopt.c: Likewise.
5970 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5971 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5972 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5973 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5974 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5975
5976 * configure.ac: Detect `mingw32msvc' host_os.
5977 Check for lstat(), getuid() and getgid().
5978
5979 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5980 instances of `u_char' with `uint8_t'.
5981
5982 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5983 [!HAVE_GETUID] (getuid): New function (stub).
5984 [!HAVE_GETGID] (getgid): Likewise.
5985 [!HAVE_LSTAT] (lstat): Likewise.
5986 [!S_IROTH] (S_IROTH): New macro (dummy).
5987 [!S_IRGRP] (S_IRGRP): Likewise.
5988
84b860d8
RM
59892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5990
5991 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5992 conditional expression).
5993
66e9b712
RM
59942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5995
5996 Import from Gnulib.
5997
5998 * gnulib/fnmatch.c: New file.
5999 * gnulib/fnmatch.h: Likewise.
6000 * gnulib/fnmatch_loop.c: Likewise.
6001 * gnulib/getopt.c: Likewise.
6002 * gnulib/getopt.h: Likewise.
6003 * gnulib/getopt1.c: Likewise.
6004 * gnulib/getopt_int.h: Likewise.
6005 * gnulib/gettext.h: Likewise.
6006
34f4a5b0
RM
60072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6008
6009 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
6010 * normal/handler.c (read_handler_list): Likewise.
6011
ac451143
RM
60122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6013
6014 Misc cleanup.
6015
6016 * kern/command.c (grub_register_command_prio): Use
6017 grub_zalloc() instead of explicitly zeroing data.
6018 * kern/list.c: Include `<grub/mm.h>'.
6019 (grub_named_list_find): Replace `0' with `NULL'.
6020 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
6021 (fs_module_list): Change type to `grub_named_list_t'. Update all
6022 users.
6023 * normal/dyncmd.c (read_command_list): Add space between function
6024 call and parenthesis.
6025 * normal/handler.c (read_handler_list): Likewise.
6026
4089b167
RM
60272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6028
6029 * normal/auth.c (punishment_delay): Moved from here ...
6030 (grub_auth_strcmp): ... to here (inside function).
6031
325f5037
RM
60322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6033
6034 * include/grub/list.h (struct grub_named_list): Remove `const'
6035 qualifier from `name'.
6036 (struct grub_prio_list): Likewise.
6037
7aea29a3
RM
60382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 * normal/auth.c: Include `<grub/time.h>'.
6041 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
6042
3fd6f044
RM
60432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6044
6045 * normal/auth.c (punishment_delay): New variable.
6046 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
6047 (grub_auth_check_authentication): Punish failed login attempts with
6048 an incremental (2^N) delay.
6049
a4cd68e4
RM
60502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6051
6052 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
6053 path with $(srcdir).
6054
7ad12f43
VS
60552009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
6058
c1129f03
RM
60592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6060
6061 * util/i386/coreboot/grub-mkrescue.in: New file.
6062 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
6063 variables.
6064
6065 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
6066 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
6067 * configure.ac: Add header and function checks to satisfy grub-mkisofs
6068 requirements.
6069 * util/mkisofs/defaults.h: New file.
6070 * util/mkisofs/eltorito.c: Likewise.
6071 * util/mkisofs/exclude.h: Likewise.
6072 * util/mkisofs/fnmatch.c: Likewise.
6073 * util/mkisofs/getopt.c: Likewise.
6074 * util/mkisofs/getopt1.c: Likewise.
6075 * util/mkisofs/hash.c: Likewise.
6076 * util/mkisofs/include/fctldefs.h: Likewise.
6077 * util/mkisofs/include/mconfig.h: Likewise.
6078 * util/mkisofs/include/prototyp.h: Likewise.
6079 * util/mkisofs/include/statdefs.h: Likewise.
6080 * util/mkisofs/iso9660.h: Likewise.
6081 * util/mkisofs/joliet.c: Likewise.
6082 * util/mkisofs/match.c: Likewise.
6083 * util/mkisofs/match.h: Likewise.
6084 * util/mkisofs/mkisofs.c: Likewise.
6085 * util/mkisofs/mkisofs.h: Likewise.
6086 * util/mkisofs/multi.c: Likewise.
6087 * util/mkisofs/name.c: Likewise.
6088 * util/mkisofs/rock.c: Likewise.
6089 * util/mkisofs/tree.c: Likewise.
6090 * util/mkisofs/write.c: Likewise.
6091
ec8bb77d
VS
60922009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
6095 being insecure.
6096
3716b12c
RM
60972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6098
6099 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
6100 `grub-mkimage' (and use $0 when possible).
6101
b97b7b91
RM
61022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6103
6104 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
6105 error message for excessively large memory map.
6106
04114812
RM
61072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6108
6109 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
6110 executable bit.
6111
e4eb2373
RM
61122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6113
6114 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
6115 message for coreboot users.
6116
c926e1d5 61172009-11-07 Robert Millan <rmh.grub@aybabtu.com>
6118
6119 Fix build with GNU gold.
6120
6121 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
6122 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
6123 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
6124 link addresses.
6125 * aclocal.m4: Likewise.
6126
86e5b1db 61272009-11-04 Felix Zielcke <fzielcke@z-51.de>
6128
6129 * configure.ac (AC_PREREQ): Bump to 2.59d.
6130 * INSTALL: Make it more clear when Autoconf and Ruby are
6131 needed and when to run `./autogen.sh'.
6132
246cd78f 61332009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6134
6135 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
6136 OSes.
6137
4f9dfb37 61382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6139
6140 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
6141
b82bd5e1 61422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6143
6144 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
6145 giving it to GNU Mach.
6146
ff1a9bca 61472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6148
6149 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
6150 GNU partition number to get internal GRUB partition number.
6151
61697d9c 61522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6153
6154 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
6155 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
6156
a50569e1 61572009-11-01 Robert Millan <rmh.grub@aybabtu.com>
6158
6159 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
6160 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
6161 case.
6162
5b153867 61632009-11-01 Felix Zielcke <fzielcke@z-51.de>
6164
6165 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
6166
d9e2cd70 61672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6168
6169 Fix build problem.
6170
6171 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
6172 `-isystem=$(srcdir)/include'.
6173
805111a4 61742009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6175
6176 * util/i386/pc/grub-install.in: Remove hint that device.map should be
6177 checked (grub-install doesn't currently rely on it).
6178
fa6e945f 61792009-10-29 Robert Millan <rmh.grub@aybabtu.com>
6180
6181 Revert SVN r2660.
6182
6183 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
6184 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6185 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
6186 * conf/i386-ieee1275.rmk: Likewise.
6187 * conf/i386-pc.rmk: Likewise.
6188 * conf/powerpc-ieee1275.rmk: Likewise.
6189 * conf/sparc64-ieee1275.rmk: Likewise.
6190 * conf/x86_64-efi.rmk: Likewise.
6191
cee15086 61922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6193
6194 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
6195
95b9239e 61962009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6197
6198 * include/grub/misc.h: Stop checking for APPLE_CC.
6199
2ed19dfd 62002009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6201
6202 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
6203 doesn't cause an infinite call loop.
6204
fdcdde19 62052009-10-28 Felix Zielcke <fzielcke@z-51.de>
6206
6207 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
6208 strings.
6209
cefabfe1 62102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6211
6212 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
6213 variable.
6214 * Makefile.in: Likewise.
6215
ed96ab6d 62162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6217
6218 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
6219
0579b753 62202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6221
6222 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
6223
478df409 62242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6225
6226 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
6227
083d1679 62282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6229
6230 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
6231 from here ...
6232 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
6233
5947ae32 62342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6235
6236 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
6237 in $(MAKEINFO) invocation. This makes it clear in output that
6238 errors are being ignored.
6239
94180ff6 62402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6241
6242 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
6243 from here ...
6244 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6245 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
6246 * conf/i386-ieee1275.rmk: Likewise.
6247 * conf/i386-pc.rmk: Likewise.
6248 * conf/powerpc-ieee1275.rmk: Likewise.
6249 * conf/sparc64-ieee1275.rmk: Likewise.
6250 * conf/x86_64-efi.rmk: Likewise.
6251
9031b03a 62522009-10-26 Colin Watson <cjwatson@ubuntu.com>
6253
6254 * util/grub-editenv.c (main): If only a command is given, use
6255 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
6256 (usage): FILENAME is now optional and has a default.
6257
e4f6809b 62582009-10-26 Colin Watson <cjwatson@ubuntu.com>
6259
6260 Improve grub-mkconfig performance when there are several menu
6261 entries on a single filesystem.
6262
6263 * util/grub.d/10_linux.in (linux_entry): Cache the output of
6264 prepare_grub_to_access_device.
6265 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6266 * util/grub.d/30_os-prober.in: Likewise.
6267
67937d4d 62682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6269
6270 * util/grub.d/10_freebsd.in: Remove.
6271 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
6272 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
6273
ee3756cc 62742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6275
5c35048e 6276 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 6277
4dea1c6f 62782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6279
6280 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
6281 grub_util_error() call.
6282
042484d7 62832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6284
6285 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
6286 `reserved_first_sector' member.
6287 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
6288 `reserved_first_sector' to 1.
6289 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
6290 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
6291 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
6292 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
6293 filesystems which begin at first sector.
6294 (options): New option --skip-fs-probe.
6295 (main): Handle --skip-fs-probe and pass it to setup().
6296
d64448a7 62972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6298
6299 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
6300 (memset): Fix function prototype.
6301
508d42ec 63022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
63032009-10-25 Vasily Averin <vvs@parallels.com>
6304
6305 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
6306 `dirent.direntlen == 0'.
6307
b240e30c 63082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6309
6310 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
6311 `cpio'.
6312 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
6313
346e7fbe 63142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6315
6316 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
6317 `__trampoline_setup' and `__ucmpdi2'.
6318 * include/grub/powerpc/libgcc.h: Only export symbols for functions
6319 that libgcc provides.
6320
cdb308b0 63212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6322
6323 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
6324 * include/grub/sparc64/libgcc.h (memset): Likewise.
6325 * include/grub/misc.h (memset, memcmp): New function prototypes.
6326
fb26abc2 63272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6328
6329 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
6330 `cpio'.
6331 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
6332
f6693890 63332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6334
6335 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
6336 * docs/grub.cfg: Compensate for recent change in multiboot
6337 loader (since 2009-08-14 it won't pass filename to payload).
6338 * util/grub.d/10_hurd.in: Likewise.
6339
0933cdc0 63402009-10-21 Felix Zielcke <fzielcke@z-51.de>
6341
6342 * config.guess: Update to latest version from config git
6343 repository.
6344 * config.sub: Likewise.
6345
3b2fe8c2 63462009-10-20 Robert Millan <rmh.grub@aybabtu.com>
6347
6348 Fix build on sparc64.
6349
6350 * configure.ac: Perform checks for libgcc symbols before
6351 adding `-nostdlib' to LDFLAGS.
6352
46695a62 63532009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Let user specify OpenBSD root device.
6356
6357 * loader/i386/bsd.c (openbsd_root): New variable.
6358 (openbsd_opts): New option 'root'.
6359 (OPENBSD_ROOT_ARG): New macro.
6360 (grub_openbsd_boot): Use 'openbsd_root'.
6361 (grub_cmd_openbsd): Fill 'openbsd_root'.
6362
d2b6b7fc 63632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6364
6365 * NEWS: Misc adjustments.
6366
421bd7ac 63672009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
6370
f1d29d87 63712009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6372
6373 * configure.ac: Bump version to 1.97.
6374
6f3cd880 63752009-10-16 Colin Watson <cjwatson@ubuntu.com>
6376
6377 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
6378 -mno-3dnow on x86 architectures. Some toolchains enable these
6379 features by default, but they rely on registers that aren't enabled
6380 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
6381
035f7122 63822009-10-15 Robert Millan <rmh.grub@aybabtu.com>
6383
6384 Make entry text a bit more readable.
6385
6386 * util/grub.d/10_linux.in: Add `with' before `Linux'.
6387
44998e58 63882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
6391
cd2851b3 63922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
6395 operations.
6396
c6f3b249 63972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * configure.ac: Add missing dollar.
6400
6b5886ba 64012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
6404
6405 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
6406 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
6407 exports.
6408 * include/grub/sparc64/libgcc.h: Likewise. Use
6409 preprocessor conditionals.
6410
e9d66f6d 64112009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6412
6413 * conf/common.rmk (grub-dumpbios): Remove rule.
6414 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
6415 * util/grub-dumpbios.in: Remove file.
6416
9155bc17 64172009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6418
6419 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
6420 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
6421
6422 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
6423 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
6424 users.
6425
6426 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
6427 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
6428 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
6429 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
6430 users.
6431
bf7f7a18 64322009-10-12 Robert Millan <rmh.grub@aybabtu.com>
6433
6434 * term/tparm.c: Switch to GPLv3.
6435
86564c26 64362009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6437
6438 * include/grub/i386/cpuid.h: Add header protection.
6439
5c936493 64402009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6441
6442 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
6443
6444 * include/grub/i386/cpuid.h: New file.
6445 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
6446 (has_longmode): Rename to ...
6447 (grub_cpuid_has_longmode): ... this. Update all users. Remove
6448 `static' attribute.
6449 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
6450 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
6451 on a CPU that doesn't implement AMD64 instruction set.
6452
186e7cf2 64532009-10-06 Colin Watson <cjwatson@ubuntu.com>
6454
6455 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
6456 that version.texi is rebuilt on version number changes.
6457
83b65c4a 64582009-10-06 Colin Watson <cjwatson@ubuntu.com>
6459
6460 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
6461 Fixes bug #27602.
6462
d244281c 64632009-10-06 Colin Watson <cjwatson@ubuntu.com>
6464
6465 * util/i386/pc/grub-install.in: Source
6466 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
6467 that the --grub-probe option will work.
6468 * util/sparc64/ieee1275/grub-install.in: Likewise.
6469
da25306d 64702009-10-05 Robert Millan <rmh.grub@aybabtu.com>
6471
6472 * configure.ac: Bump version to 1.97~beta4.
6473
e8ee83c0 64742009-10-03 Robert Millan <rmh.grub@aybabtu.com>
6475
6476 Resync grub-mkdevicemap in x86_64-efi.
6477
6478 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
6479 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
6480 `util/devicemap.c'.
6481
50dcabcf 64822009-10-01 Colin Watson <cjwatson@ubuntu.com>
6483
6484 * util/grub-editenv.c (create_envblk_file): Write new block with a
6485 .new suffix and then rename it into place, to ensure atomic
6486 creation.
6487
0e51c3a7 64882009-09-28 Robert Millan <rmh.grub@aybabtu.com>
6489
6490 Do not automatically install headers.
6491
6492 * Makefile.in (include_DATA): Remove. Update all users.
6493
31299a95 64942009-09-26 Robert Millan <rmh.grub@aybabtu.com>
6495
6496 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
6497 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
6498
6499 * util/osdetect.lua: Remove.
6500 * script/lua/lauxlib.c: Likewise.
6501 * script/lua/ldebug.c: Likewise.
6502 * script/lua/grub_main.c: Likewise.
6503 * script/lua/lauxlib.h: Likewise.
6504 * script/lua/ldebug.h: Likewise.
6505 * script/lua/ltablib.c: Likewise.
6506 * script/lua/liolib.c: Likewise.
6507 * script/lua/lstrlib.c: Likewise.
6508 * script/lua/lualib.h: Likewise.
6509 * script/lua/ldo.c: Likewise.
6510 * script/lua/ldump.c: Likewise.
6511 * script/lua/ldo.h: Likewise.
6512 * script/lua/loslib.c: Likewise.
6513 * script/lua/lundump.c: Likewise.
6514 * script/lua/grub_lib.c: Likewise.
6515 * script/lua/ldblib.c: Likewise.
6516 * script/lua/lundump.h: Likewise.
6517 * script/lua/lmem.c: Likewise.
6518 * script/lua/grub_lib.h: Likewise.
6519 * script/lua/lmathlib.c: Likewise.
6520 * script/lua/lstate.c: Likewise.
6521 * script/lua/ltm.c: Likewise.
6522 * script/lua/lvm.c: Likewise.
6523 * script/lua/lmem.h: Likewise.
6524 * script/lua/lstate.h: Likewise.
6525 * script/lua/ltm.h: Likewise.
6526 * script/lua/ltable.c: Likewise.
6527 * script/lua/lvm.h: Likewise.
6528 * script/lua/llex.c: Likewise.
6529 * script/lua/lgc.c: Likewise.
6530 * script/lua/grub_lua.h: Likewise.
6531 * script/lua/loadlib.c: Likewise.
6532 * script/lua/lfunc.c: Likewise.
6533 * script/lua/lopcodes.c: Likewise.
6534 * script/lua/lparser.c: Likewise.
6535 * script/lua/ltable.h: Likewise.
6536 * script/lua/llex.h: Likewise.
6537 * script/lua/lgc.h: Likewise.
6538 * script/lua/lfunc.h: Likewise.
6539 * script/lua/lbaselib.c: Likewise.
6540 * script/lua/lopcodes.h: Likewise.
6541 * script/lua/lparser.h: Likewise.
6542 * script/lua/lzio.c: Likewise.
6543 * script/lua/linit.c: Likewise.
6544 * script/lua/lobject.c: Likewise.
6545 * script/lua/llimits.h: Likewise.
6546 * script/lua/lstring.c: Likewise.
6547 * script/lua/lzio.h: Likewise.
6548 * script/lua/lapi.c: Likewise.
6549 * script/lua/lcode.c: Likewise.
6550 * script/lua/lua.h: Likewise.
6551 * script/lua/lobject.h: Likewise.
6552 * script/lua/lstring.h: Likewise.
6553 * script/lua/lapi.h: Likewise.
6554 * script/lua/lcode.h: Likewise.
6555 * script/lua/luaconf.h: Likewise.
6556
cb8a2c38 65572009-09-26 Colin Watson <cjwatson@ubuntu.com>
6558
6559 * docs/grub.texi (Command-line and menu entry commands): Document
6560 date and echo commands.
6561
6b9b6276 65622009-09-24 Pavel Roskin <proski@gnu.org>
6563
6564 * include/grub/kernel.h (struct grub_module_header): Remove
6565 `grub_module_header_types'. Make `type' unsigned. Make `size'
6566 32-bit on all platforms.
6567 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
6568 8-bit field. Use grub_host_to_target32() for `size'.
6569 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
6570 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
6571 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
6572
4e5a02a7 65732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6574
6575 Fix "lost keypress" bug in at_keyboard.
6576
6577 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
6578 Checks for readyness of input buffer (without flushing it).
6579 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
6580 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
6581
c6dcedf6 65822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6583
6584 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
6585 size check within GRUB_MACHINE_PCBIOS section.
6586
74c958b1 65872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6588
6589 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
6590 return value.
6591 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
6592 KEYBOARD_ISREADY check.
6593 (grub_at_keyboard_checkkey): Rename to ...
6594 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
6595 Remove gratuitous cast.
6596
ff420223 65972009-09-23 Colin Watson <cjwatson@ubuntu.com>
6598
6599 * configure.ac: Call AC_PROG_MKDIR_P.
6600 * Makefile.in (docs/stamp-vti): Create docs directory. Create
6601 version.texi in $(builddir) rather than $(srcdir).
6602 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
6603 to makeinfo's @include search path.
6604
d96875df 66052009-09-23 Felix Zielcke <fzielcke@z-51.de>
6606
6607 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
6608
9b3f8365 66092009-09-23 Felix Zielcke <fzielcke@z-51.de>
6610
6611 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
6612 for `*.dpkg-new'.
6613
c44c90db 66142009-09-21 Colin Watson <cjwatson@ubuntu.com>
6615
6616 Build info documentation. Some code borrowed from Automake.
6617
6618 * configure.ac: Check for makeinfo.
6619 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
6620 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
6621 docs/version.texi.
6622 (MOSTLYCLEANFILES): Add vti.tmp.
6623 (docs/version.texi, docs/stamp-vti): Update automatically.
6624 (docs/grub.info): Build info documentation. Use --force and ignore
6625 errors for now.
6626 (all-local): Add $(INFOS).
6627 (install-local): Install info files.
6628 (uninstall): Uninstall info files.
6629 * docs/version.texi: Remove from revision control. This file is
6630 automatically generated on build now.
6631 * gendistlist.sh: Add `*.info'.
6632
e0b37bb5 66332009-09-21 Felix Zielcke <fzielcke@z-51.de>
6634
6635 * kern/term.c: Fix indentation.
6636
5a78865b 66372009-09-21 Felix Zielcke <fzielcke@z-51.de>
6638
6639 * util/hostdisk.c: Fix a comment.
6640
dace7e8a 66412009-09-20 Robert Millan <rmh.grub@aybabtu.com>
6642
6643 Fix regression introduced in r2539.
6644
6645 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
6646 to 0xA1.
6647
a83d079b 66482009-09-19 Colin Watson <cjwatson@ubuntu.com>
6649
6650 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 6651 os-prober. Under normal operation, it does not print anything to
6652 stderr; if it does, we need to debug it, and throwing away stderr
6653 makes that excessively difficult.
a83d079b 6654
be94a509 66552009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
6658
63f745e8 66592009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6660
6661 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
6662 AC_LANG_PROGRAM from autoconf.
6663 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
6664 prototypes (fixes warning).
6665
6666 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
6667 `--disable-werror' was used.
6668
bbb2a70f 66692009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6670
6671 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
6672 uninitialized `lastaddr'.
6673
77c24f1d 66742009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6675
0f0b8c87 6676 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 6677
07197f23 66782009-09-14 Colin Watson <cjwatson@ubuntu.com>
6679
6680 * commands/test.c (get_fileinfo): Return immediately if
6681 grub_fs_probe fails.
6682
dabf1798 66832009-09-14 José Martínez <xosemp@gmail.com>
6684
6685 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
6686
d52109a7 66872009-09-14 Colin Watson <cjwatson@ubuntu.com>
6688
6689 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
6690 output.
6691
56532179 66922009-09-13 Robert Millan <rmh.grub@aybabtu.com>
6693
6694 * configure.ac: Remove --enable-grub-pe2elf. Only build
6695 grub-pe2elf when needed by the build system itself.
6696 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
6697
8ef070f5 66982009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6699
6700 * configure.ac: Bump version to 1.97~beta3.
6701 * docs/version.texi: Likewise.
6702
61229557 67032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6704
6705 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
6706 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
6707 from here ...
6708 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
6709 (grub_linux_setup_video): ... to here (with some adjustments).
6710
5c9f8d84 67112009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6712
6713 Fix memory corruption issue (spotted by Colin Watson).
6714
6715 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
6716 causing returned size to be stored in an incorrect memory location.
6717 Fix use of uninitialized value when storing the returned size.
6718
e8f5d6e9 67192009-09-12 Yves Blusseau <blusseau@zetam.org>
6720
6721 Change clean rules to properly remove files
6722
6723 * genmk.rb: add new clean rules
6724 * Makefile.in (clean): add the new targets
6725 (mostlyclean): likewise
6726
cda2a409 67272009-09-11 Colin Watson <cjwatson@ubuntu.com>
6728
6729 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
6730 to grub_uint64_t.
6731 * fs/ntfs.c (init_file): Understand 64-bit sizes for
6732 non-resident files.
6733
86695375 67342009-09-11 Colin Watson <cjwatson@ubuntu.com>
6735
6736 * configure.ac: Don't look for help2man when cross-compiling. Fixes
6737 part of bug #27349.
6738
8aa1541a 67392009-09-10 Felix Zielcke <fzielcke@z-51.de>
6740
6741 * util/grub-mkconfig.in: Make the created config mode 400 and
6742 print a warning if it fails.
6743
48d9bb0a 67442009-09-10 Robert Millan <rmh.grub@aybabtu.com>
6745
6746 * util/grub.d/40_custom.in: Ask user to type custom entries below
6747 comment, rather than below 'exec tail' line.
6748
3b0521be 67492009-09-10 Colin Watson <cjwatson@ubuntu.com>
6750
6751 * util/grub.d/40_custom.in: Make sure that the explanatory text is
6752 visible in grub.cfg.
6753
50051d55 67542009-09-10 Colin Watson <cjwatson@ubuntu.com>
6755
6756 * util/grub.d/40_custom.in: Make it a little clearer how to use this
6757 file.
6758
c0d34387 67592009-09-10 Felix Zielcke <fzielcke@z-51.de>
6760
6761 * docs/grub.cfg: Add an example menu entry for memtest86+.
6762
80a608f3 67632009-09-09 Felix Zielcke <fzielcke@z-51.de>
6764
a2094832 6765 * config.guess: Update to latest version from config git.
80a608f3 6766 * config.sub: Likewise.
6767
99423078 67682009-09-08 Colin Watson <cjwatson@ubuntu.com>
6769
6770 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
6771 unknown-command case. Fixes bug #27320.
6772
44454e4c 67732009-09-08 Felix Zielcke <fzielcke@z-51.de>
6774
6775 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
6776 `help' if the command exists.
6777
e30d87ad 67782009-09-06 Robert Millan <rmh.grub@aybabtu.com>
6779
6780 * INSTALL: Require GCC 4.1.3 or later.
6781
9a86f1ec 67822009-09-06 Yves Blusseau <blusseau@zetam.org>
6783
6784 * Makefile.in (RMKFILES): add i386-qemu.rmk
6785 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6786 $(srcdir)/stamp-h.in
6787
7f26d466 67882009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6789
6790 * util/grub-probe.c (probe): Comment out buggy codepath, which
6791 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6792 should be re-enabled after 1.97.
6793
3a613259 67942009-09-05 Felix Zielcke <fzielcke@z-51.de>
6795
6796 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6797 find searches for.
6798
197f76c7 67992009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6802 unnecessary calls to grub_error.
6803
70ba68ce 68042009-09-04 Colin Watson <cjwatson@ubuntu.com>
6805
6806 * NEWS: Mention `keystatus' and Unicode fonts.
6807
4ff0d7a4 68082009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6809
6810 * configure.ac: Bump version to 1.97~beta2.
6811 * docs/version.texi: Likewise.
6812
77c55a87 68132009-09-03 Colin Watson <cjwatson@ubuntu.com>
6814
6815 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6816 containing unwind information in some cases where it previously did
6817 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6818 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6819 discussion.
6820
f79572cd 68212009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6822
6823 Embedding loadenv module into grub-emu
6824
6825 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6826 commands/loadenv.c
6827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6831 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6832 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6833
93a81088 68342009-09-03 Magnus Granberg <zorry@ume.nu>
6835
6836 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6837 include -fPIE in the default specs.
6838 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6839 to TARGET_CFLAGS.
6840
160034b2 68412009-09-03 Felix Zielcke <fzielcke@z-51.de>
6842
6843 * INSTALL: Note that GNU Bison 2.3 or later is required.
6844
087c07c4 68452009-09-03 Colin Watson <cjwatson@ubuntu.com>
6846
6847 * kern/i386/pc/startup.S: Fix typo.
6848
cbf978c0 68492009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6852 according to GCS.
6853
68542009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6855
6856 * docs/grub.texi (Naming convention): Describe one-based partition
6857 numbering.
6858 (Device syntax): Likewise.
6859 (File name syntax): Likewise.
6860 (Block list syntax): Likewise.
6861 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6862 menu.lst.
6863 (File name syntax): Likewise.
6864 (Command-line and menu entry commands): Document acpi, blocklist,
6865 crc, export, insmod, keystatus, ls, set, and unset commands.
6866
f3e8cdfd 68672009-09-02 Colin Watson <cjwatson@ubuntu.com>
6868
6869 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6870 to avoid implying that only one of --shift, --ctrl, or --alt may be
6871 used.
6872
c0bc232b 68732009-09-02 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6876 rather than comparing against S_IFREG, which will almost never work.
6877
aa0f752d 68782009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6881 (write_blocklists): Likewise.
6882
ecb3166a 68832009-09-01 Colin Watson <cjwatson@ubuntu.com>
6884
6885 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6886 argument to grub_printf.
6887
c403a125 68882009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6889
6890 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6891 non GNU test.
31aba781 6892
b5e7312c 68932009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * kern/file.c (grub_file_read): Spelling fix
6896
fe00f472 68972009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6900 loading of headers in some cases.
6901
cc55302e 69022009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6903
6904 * configure.ac: Bump version to 1.97~beta1.
6905 * docs/version.texi: Likewise.
6906
5c90cdd2 69072009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6908
6909 * include/grub/i386/xnu.h: Add license header.
6910 include grub/err.h explicitly.
6911
c90edae4 69122009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6913
6914 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6915 to `ufs' in the vfs.root.mountfrom kernel parameter.
6916
d8888b5c 69172009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6918
6919 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6920
6921 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6922 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6923
6924 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6925 `ARRAY_SIZE' macro.
6926
6f07b921 69272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * kern/file.c (grub_file_read): Check offset.
6930 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6931 * fs/jfs.c (grub_jfs_read_file): Likewise.
6932 * fs/ntfs.c (grub_ntfs_read): Likewise.
6933 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6934 * fs/minix.c (grub_minix_read_file): Correct offset check.
6935 * fs/ufs.c (grub_ufs_read_file): Likewise.
6936
b4f34077 69372009-08-28 Colin Watson <cjwatson@ubuntu.com>
6938
6939 * term/i386/pc/console.c (bios_data_area): Cast
6940 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6941
e7c69859 69422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 1-bit optimised blitters.
6945
6946 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6947 prototype.
6948 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6949 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6950 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6951 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6952 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6953 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6954 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6955 function.
6956 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6957 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6958 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6959 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6960 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6961 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6962 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6963 when possible.
6964 * video/video.c (grub_video_get_blit_format): Return
6965 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6966
a57da43f 69672009-08-28 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6970 the first argument to grub_printf.
6971
4cbe67e5 69722009-08-28 Colin Watson <cjwatson@ubuntu.com>
69732009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6974
6975 Add `getkeystatus' terminal method. Add a new `keystatus' command
6976 to query it.
6977
6978 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6979 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6980 modifier key bitmasks.
6981 (struct grub_term_input): Add `getkeystatus' member.
6982 (grub_getkeystatus): Add prototype.
6983 * kern/term.c (grub_getkeystatus): New function.
6984
6985 * include/grub/i386/pc/memory.h
6986 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6987 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6988 Data Area layout.
6989 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6990 (grub_console_term_input): Set `getkeystatus' member.
6991 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6992 constants.
6993 (grub_usb_keyboard_getreport): Likewise.
6994 (grub_usb_keyboard_checkkey): Likewise.
6995 (grub_usb_keyboard_getkeystatus): New function.
6996 (grub_usb_keyboard_term): Set `getkeystatus' member.
6997
6998 * commands/keystatus.c: New file.
6999 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
7000 (keystatus_mod_SOURCES): New variable.
7001 (keystatus_mod_CFLAGS): Likewise.
7002 (keystatus_mod_LDFLAGS): Likewise.
7003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
7004 commands/keystatus.c.
7005 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7006 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7007 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7009 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 7011
6e2a9085 70122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 Split befs.mod and afs.mod into *_be.mod and *.mod
7015
7016 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
7017 (grub_fstest_SOURCES): Likewise.
7018 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
7019 (afs_be_mod_SOURCES): New variable.
7020 (afs_be_mod_CFLAGS): Likewise.
7021 (afs_be_mod_LDFLAGS): Likewise.
7022 (befs_be_mod_SOURCES): Likewise.
7023 (befs_be_mod_CFLAGS): Likewise.
7024 (befs_be_mod_LDFLAGS): Likewise.
7025 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
7026 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7028 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7029 (grub_emu_SOURCES): Likewise.
7030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7032 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7033 * fs/afs_be.c: New file.
7034 * fs/befs_be.c: New file.
7035 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
7036 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
7037 (U16): Replaced with ...
7038 (grub_afs_to_cpu16): ...this. All users updated.
7039 (U32): Replaced with ...
7040 (grub_afs_to_cpu32): ...this. All users updated.
7041 (U64): Replaced with ...
7042 (grub_afs_to_cpu64): ...this. All users updated.
7043 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
7044 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 7045 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 7046 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7047 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7048 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7049 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7050 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7051 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7052 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7053 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7054
32a71655 70552009-08-26 Bean <bean123ch@gmail.com>
7056
7057 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
7058 64-bit number.
7059 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7060 (grub_xfs_inode_block): Change return type to grub_uint64_t.
7061 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
7062
552bf6c5 70632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 NetBSD memory map support.
7066
7067 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
7068 (grub_netbsd_btinfo_mmap_header): New structure.
7069 (grub_netbsd_btinfo_mmap_entry): Likewise.
7070 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
7071
1ae2078c 70722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Enable bsd.mod on coreboot.
7075
7076 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
7077 (bsd_mod_SOURCES): New variable.
7078 (bsd_mod_CFLAGS): Likewise.
7079 (bsd_mod_LDFLAGS): Likewise.
7080 (bsd_mod_ASFLAGS): Likewise.
7081 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
7082 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
7083
beefc598 70842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 Cleanup NetBSD root support.
7087
7088 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
7089 grub_bsd_get_device.
7090 Fix typo.
7091
3b76e68b 70922009-08-25 Felix Zielcke <fzielcke@z-51.de>
7093
7094 * util/grub.d/00_header.in: Move check for the video backend of
7095 gfxterm from here ...
7096 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
7097 a suitable video backend.
7098
aea664ea 70992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 Fix breakage in grub-setup.
7102
7103 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
7104 "msdos_partition_map".
7105
ff747d50 71062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 Fix breakage in normal/auth.c.
7109
7110 * normal/auth.c (grub_iswordseparator): New function.
7111
e7e1f93f 71122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Authentication support.
7115
7116 * commands/password.c: New file.
7117 * conf/common.rmk (pkglib_MODULES): Add password.mod.
7118 (password_mod_SOURCES): New variable.
7119 (password_mod_CFLAGS): Likewise.
7120 (password_mod_LDFLAGS): Likewise.
7121 (normal_mod_SOURCES): Add normal/auth.c.
7122 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
7123 normal/auth.c.
7124 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7126 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7129 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7130 * include/grub/auth.h: New file.
7131 * include/grub/err.h (grub_err_t): New enum value
7132 GRUB_ERR_ACCESS_DENIED.
7133 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
7134 'users'.
7135 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
7136 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
7137 users updated.
7138 * normal/auth.c: New file.
7139 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
7140 (grub_cmdline_run): Don't allow to go to command line without
7141 authentication.
7142 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
7143 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
7144 menuentry without superuser rights.
7145 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
7146 user isn't a superuser.
7147
70f1161d 71482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 Save space by inlining misc.c functions.
7151
7152 * kern/misc.c (grub_iswordseparator): Made static.
7153 * kern/misc.c (grub_strcat): Moved from here ...
7154 * include/grub/misc.h (grub_strcat): ... here. Inlined.
7155 * kern/misc.c (grub_strncat): Moved from here ...
7156 * include/grub/misc.h (grub_strncat): ... here. Inlined.
7157 * kern/misc.c (grub_strcasecmp): Moved from here ...
7158 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
7159 * kern/misc.c (grub_strncasecmp): Moved from here ...
7160 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
7161 * kern/misc.c (grub_isalpha): Moved from here ...
7162 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
7163 * kern/misc.c (grub_isdigit): Moved from here ...
7164 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
7165 * kern/misc.c (grub_isgraph): Moved from here ...
7166 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
7167 * kern/misc.c (grub_tolower): Moved from here ...
7168 * include/grub/misc.h (grub_tolower): ... here. Inlined.
7169
48e40bff 71702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * script/sh/function.c (grub_script_function_find): Cut error message
7173 not to flood terminal.
7174 * script/sh/lexer.c (grub_script_yylex): Remove command line length
7175 limit.
7176 * script/sh/script.c (grub_script_arg_add): Duplicate string.
7177
c385bfc3 71782009-08-24 Colin Watson <cjwatson@ubuntu.com>
7179
7180 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
7181 `report' grub_uint8_t *.
7182 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
7183 Use a 50-millisecond timeout rather than just repeating
7184 grub_usb_keyboard_getreport 50 times.
7185 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
7186
2d21e3e8 71872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Rename *_partition_map to part_*
7190
7191 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
7192 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
7193 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
7194 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
7195 All users updated.
7196 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
7197 All users updated.
7198 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
7199 * util/grub-probe.c (probe_partmap): Don't transform partition name
7200 to get module name.
7201
dd103c4e 72022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Fix OpenBSD and NetBSD support.
7205
7206 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
7207 memory address conflict.
7208 (OPENBSD_MMAP_ACPI): New definition.
7209 (OPENBSD_MMAP_NVS): Likewise.
7210 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
7211 and OPENBSD_MMAP_NVS.
7212 Add memory map terminator
7213 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 7214 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 7215
16c84d74 72162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Let user specify NetBSD root device.
7219
7220 * loader/i386/bsd.c (netbsd_root): New variable.
7221 (netbsd_opts): New option 'root'.
7222 (NETBSD_ROOT_ARG): New macro.
7223 (grub_netbsd_boot): Use 'netbsd_root'.
7224 (grub_bsd_unload): Free 'netbsd_root'.
7225 (grub_cmd_netbsd): Fill 'netbsd_root'.
7226
adb29902 72272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Support for 64-bit NetBSD.
7230
7231 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
7232 point when booting non-FreeBSD.
7233
f5ae9f74 72342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Support --no-smp and --no-acpi for NetBSD.
7237
7238 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
7239 (NETBSD_AB_NOACPI): Likewise.
7240 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
7241 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
7242
de74f136 72432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
7246 errors.
7247 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
7248 errors. Call grub_error when needed.
7249
e9a925da 72502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * commands/search.c (search_fs): Try searching without autoload first.
7253 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7254 filesystem module explicitly for faster booting.
7255
5174302b 72562009-08-23 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
7259
c8c80635 72602009-08-23 Colin Watson <cjwatson@ubuntu.com>
7261
7262 * util/grub.d/30_os-prober.in: Disable os-prober if
7263 `GRUB_DISABLE_OS_PROBER' was set to true.
7264
71acf5e5 72652009-08-23 Robert Millan <rmh.grub@aybabtu.com>
7266
7267 * partmap/pc.c: Rename to ...
7268 * partmap/msdos.c: ... this. Update all users.
7269 (grub_pc_partition_map): Rename to ...
7270 (grub_msdos_partition_map): ... this. Update all users.
7271
7272 * parttool/pcpart.c: Rename to ...
7273 * parttool/msdospart.c: ... this. Update all users.
7274
7275 * include/grub/pc_partition.h: Rename to ...
7276 * include/grub/msdos_partition.h: ... this. Update all users.
7277 (grub_pc_partition_bsd_entry): Rename to ...
7278 (grub_msdos_partition_bsd_entry): ... this. Update all users.
7279 (grub_pc_partition_disk_label): Rename to ...
7280 (grub_msdos_partition_disk_label): ... this. Update all users.
7281 (grub_pc_partition_entry): Rename to ...
7282 (grub_msdos_partition_entry): ... this. Update all users.
7283 (grub_pc_partition_mbr): Rename to ...
7284 (grub_msdos_partition_mbr): ... this. Update all users.
7285 (grub_pc_partition): Rename to ...
7286 (grub_msdos_partition): ... this. Update all users.
7287 (grub_pc_partition_is_empty): Rename to ...
7288 (grub_msdos_partition_is_empty): ... this. Update all users.
7289 (grub_pc_partition_is_extended): Rename to ...
7290 (grub_msdos_partition_is_extended): ... this. Update all users.
7291 (grub_pc_partition_is_bsd): Rename to ...
7292 (grub_msdos_partition_is_bsd): ... this. Update all users.
7293
7294 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
7295 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
7296 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
7297 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
7298 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
7299 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
7300 (gpt_mod_LDFLAGS): Rename to ...
7301 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
7302 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
7303 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
7304 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
7305 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
7306 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
7307 (part_gpt_mod_LDFLAGS): ... this.
7308 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
7309 `pcpart.mod' to `msdospart.mod'.
7310 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
7311 to ...
7312 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
7313 (msdospart_mod_LDFLAGS): ... this.
7314
c11fded5 73152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
7318 (openbsd_opts): Likewise.
7319 (netbsd_opts): Likewise.
7320 (freebsd_flags): Added 0 terminator.
7321 (openbsd_flags): Likewise.
7322 (netbsd_flags): Likewise.
7323 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
7324 (grub_cmd_freebsd): Transformed into extended command.
7325 (grub_cmd_openbsd): Likewise.
7326 (grub_cmd_netbsd): Likewise.
7327 (cmd_freebsd): Changed type to grub_extcmd_t.
7328 (cmd_openbsd): Likewise.
7329 (cmd_netbsd): Likewise.
7330 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
7331 grub_cmd_openbsd as extended commands.
7332 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
7333 cmd_netbsd and cmd_openbsd
7334
11d1c769 73352009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
7338
7a9094e5 73392009-08-21 Pavel Roskin <proski@gnu.org>
7340
5496c37e 7341 * Makefile.in (install-local): When checking if a file is in the
7342 build directory, use "test -e" to detect symlinks.
7343
7a9094e5 7344 * Makefile.in (install-local): Remove all files in
7345 $(DESTDIR)$(pkglibdir) before installing new files there.
7346
e53cea11 73472009-08-18 Felix Zielcke <fzielcke@z-51.de>
7348
7349 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
7350 grub-mkelfimage.
7351
9aced544 73522009-08-18 Felix Zielcke <fzielcke@z-51.de>
7353
7354 * util/grub-mkconfig.in: Don't use gfxterm by default if not
7355 explicitly specified by the user.
7356
b7da6bab 73572009-08-18 Pavel Roskin <proski@gnu.org>
7358
7359 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
7360 grub_uint8_t pointer for data.
7361 * include/grub/fbutil.h (struct grub_video_fbblit_info):
7362 Likewise.
7363 * video/fb/fbutil.c: Remove unnecessary casts.
7364
19f1b335 73652009-08-17 Michal Suchanek <hramrach@centrum.cz>
7366
7367 VBE cleanup.
7368
7369 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
7370 (grub_vbe_set_video_mode): Save active mode info
7371 only after setting the mode.
7372 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
7373 second argument.
7374
2f467aa9 73752009-08-17 Michal Suchanek <hramrach@centrum.cz>
7376
7377 Rename variables for clarity.
7378
7379 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
7380 (active_vbe_mode_info): ... this. All users updated.
7381 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
7382 All users updated.
7383 (initial_mode): Rename to ...
7384 (initial_vbe_mode): ... this. All users updated.
7385 (mode_in_use): Rename to ..
7386 (vbe_mode_in_use): ... this. All users updated.
7387 (mode_list): Rename to ..
7388 (vbe_mode_list): ... this. All users updated.
7389 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
7390 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
7391 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
7392 'mode_list_size' to 'vbe_mode_list_size'.
7393 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
7394 'best_mode_info' to 'best_vbe_mode_info' and
7395 'best_mode' to 'best_vbe_mode'
7396
6025fcd7 73972009-08-17 Michal Suchanek <hramrach@centrum.cz>
7398
7399 Remove duplicate grub_video_fb_get_video_ptr.
7400
7401 * include/grub/fbutil.h (get_data_ptr): Rename to ...
7402 (grub_video_fb_get_video_ptr): ... this.
7403 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
7404 * video/fb/fbutil.c: Add comment about addressing.
7405 (get_data_ptr): Rename to ...
7406 (grub_video_fb_get_video_ptr): ... this. All users updated.
7407 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
7408
cc8c6faf 74092009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7410
7411 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
7412 grub_dprintf() that was just added.
7413
08aa61f0 74142009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7415
7416 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
7417 (DEFAULT_VIDEO_MODE): Remove macros.
7418 (grub_linux_boot): Remove assumption that Linux has FB support,
7419 and use "text" as default video mode.
7420
7cef4f75 74212009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
7424 grub_dprintf.
7425 * fs/fat.c (grub_fat_read_data): Likewise.
7426
e1f39873 74272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
7430 payload.
7431 (grub_module): Likewise.
7432
c166d79e 74332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
7436 mbi->cmdline but free playground.
7437
c60cee8e 74382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 Handle group offset on UFS1.
7441
7442 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
7443 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
7444
c0d8b5d4 74452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 Split ufs.mod into ufs1.mod and ufs2.mod.
7448
7449 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
7450 (grub_fstest_SOURCES): Likewise.
7451 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
7452 (ufs_mod_SOURCES): Remove.
7453 (ufs_mod_CFLAGS): Likewise.
7454 (ufs_mod_LDFLAGS): Likewise.
7455 (ufs1_mod_SOURCES): New variable.
7456 (ufs1_mod_CFLAGS): Likewise.
7457 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 7458 (ufs2_mod_SOURCES): New variable.
7459 (ufs2_mod_CFLAGS): Likewise.
7460 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 7461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
7462 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7463 Likewise.
7464 (grub_emu_SOURCES): Likewise.
7465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7466 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7467 (grub_setup_SOURCES): Likewise.
7468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7469 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
7470 (grub_setup_SOURCES): Likewise.
7471 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7472 Likewise.
7473 * fs/ufs2.c: New file.
7474 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
7475
d3539132 74762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 Framebuffer split.
7479
7480 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
7481 subsystem at the end.
7482 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
7483 (video_fb_mod_SOURCES): New variable.
7484 (video_fb_mod_CFLAGS): Likewise.
7485 (video_fb_mod_LDFLAGS): Likewise.
7486 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
7487 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
7488 * video/i386/pc/vbeblit.c: Moved from here ...
7489 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
7490 * video/i386/pc/vbefill.c: Moved from here ...
7491 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
7492 * video/i386/pc/vbeutil.c: Moved from here ...
7493 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
7494 * include/grub/i386/pc/vbeblit.h: Moved from here ...
7495 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
7496 * include/grub/i386/pc/vbefill.h: Moved from here ...
7497 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
7498 * include/grub/i386/pc/vbeutil.h: Moved from here ...
7499 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
7500 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
7501 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
7502 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
7503 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
7504 (grub_video_adapter): Added 'get_info_and_fini'.
7505 (grub_video_get_info_and_fini): New prototype.
7506 (grub_video_set_mode): make modestring const char *.
7507 * loader/i386/linux.c (grub_linux_setup_video): Use
7508 grub_video_get_info_and_fini.
7509 (grub_linux_boot): Move modesetting just before booting.
7510 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
7511 grub_video_get_info_and_fini.
7512 * video/i386/pc/vbe.c: Moved framebuffer part ...
7513 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
7514 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
7515 grub_video_fbstd_colors and grub_video_fb_set_palette.
7516 (grub_video_vbe_init): Clear 'framebuffer' variable and use
7517 grub_video_fb_init.
7518 (grub_video_vbe_fini): Use grub_video_fb_fini.
7519 (grub_video_vbe_setup): Use framebuffer.render_target instead of
7520 render_target and use grub_video_fb_set_active_render_target and
7521 grub_video_fb_set_palette.
7522 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
7523 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
7524 (grub_video_vbe_adapter): Use framebuffer.
7525 * video/video.c (grub_video_get_info_and_fini): New function.
7526 (grub_video_set_mode): Make modestring const char *.
7527 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
7528 values are already initialised.
7529
d404ee56 75302009-08-14 Pavel Roskin <proski@gnu.org>
7531
7532 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
7533 ABS and APPLE_CC.
7534 * boot/i386/pc/diskboot.S: Likewise.
7535 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
7536 sectors allow compilation on MacOSX.
7537 * conf/i386-pc.rmk: Enable unconditional compilation of
7538 lnxboot.img.
7539
9a10df16 75402009-08-13 Colin Watson <cjwatson@ubuntu.com>
7541
7542 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
7543 * util/grub.d/00_header.in: Enter interruptible sleep if
7544 GRUB_HIDDEN_TIMEOUT is set.
7545
be3c9ca7 75462009-08-13 Yves Blusseau <blusseau@zetam.org>
7547
7548 * include/grub/symbol.h: Add the LOCAL macro.
7549 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
7550 starting with "L_".
7551
1f9e557e 75522009-08-13 Pavel Roskin <proski@gnu.org>
7553
9ca62843 7554 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
7555 any modern compilers we support.
7556
1f9e557e 7557 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
7558 Use local labels starting with "L_" so that Apple assembler
7559 knows they are local.
7560
81623db6 75612009-08-10 Robert Millan <rmh.grub@aybabtu.com>
7562
7563 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
7564 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
7565 (bsd_kernel_types): ... this enum.
7566
7567 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
7568 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
7569 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
7570
7571 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
7572 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
7573 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
7574 messages.
7575
f5d35e7a 75762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7577
7578 * util/grub-dumpdevtree: Moved from here ...
7579 * util/i386/efi/grub-dumpdevtree: ... to here.
7580 (hexify): New function. Converts a string to its hex version.
7581 Generate hex versions of "efi" and "device-properties" by calling
7582 hexify() on the ASCII strings rather than by hardcoding numbers.
7583
d1e1d527 75842009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7585
7586 * fs/jfs.c: Update copyright year.
7587
1ebbe064 75882009-08-08 Felix Zielcke <fzielcke@z-51.de>
7589
7590 * util/grub.d/00_header.in: Fix a comment.
7591 * util/grub.d/10_linux.in: Likewise.
7592 * util/grub.d/10_windows.in: Likewise.
7593 * util/grub.d/10_hurd.in: Likewise.
7594
a78c8d24 75952009-08-08 Felix Zielcke <fzielcke@z-51.de>
7596
7597 * util/grub-mkconfig.in: Allow the user to specify the used font
7598 with GRUB_FONT.
7599
29a6b9e8 76002009-08-08 Pavel Roskin <proski@gnu.org>
7601
b5f16cc4 7602 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
7603 available, xfs.mod needs it now.
7604
2f5cb827 7605 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
7606 the "g" modifier in sed when the intention is to strip something
7607 once. This fixes comparison of kernels with multiple dashes.
7608
29a6b9e8 7609 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
7610 on it. Add missing space before closing bracket. Fix
7611 misleading formatting.
7612
892a3d98 76132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7614
7615 * docs/grub.texi: Major overhaul. Remove all sections that are
7616 specific to GRUB Legacy, or mostly composed of Legacy-specific
7617 information.
7618
ed94253f 76192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7620
7621 * docs/version.texi: New file. Provides version information for
7622 grub.texi.
7623
126d6628 76242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7625
7626 * docs/grub.texi: Update CVS information to SVN.
7627 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
7628
998b5aa9 76292009-08-07 Felix Zielcke <fzielcke@z-51.de>
7630
7631 * util/grub-mkconfig.in: Remove a wrong `fi'.
7632
818e094a 76332009-08-07 Felix Zielcke <fzielcke@z-51.de>
7634
7635 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
7636 (grub_jfs_uuid): New function.
7637 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
7638
b969c52f 76392009-08-07 Felix Zielcke <fzielcke@z-51.de>
7640
7641 * util/grub-mkconfig_lib.in (font_path): Move the functionality
7642 of it to ...
7643 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
7644 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
7645
7a4894cc 76462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7647
7648 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
7649 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
7650 Update all users.
7651
7652 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
7653 not just "vmlinu[zx]".
7654 Moved from here ...
7655 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
7656 all users.
7657
7658 * util/grub.d/10_linux.in (find_latest): Moved from here ...
7659 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
7660 all users.
7661
4e2171f8 76622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7663
7664 * util/grub.d/10_freebsd.in: Use an absolute device path for
7665 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
7666
6dcfcb32 76672009-08-06 Felix Zielcke <fzielcke@z-51.de>
7668
7669 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7670 handling of multiple abstraction modules.
7671
f56a8756 76722009-08-04 Robert Millan <rmh.grub@aybabtu.com>
7673
7674 Fix a bug resulting in black screen when loading Linux using a
7675 packed video mode.
7676
7677 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
7678 function.
7679
7680 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
7681 (grub_vbe_bios_getset_dac_palette_width): New function.
7682 (grub_vbe_bios_get_dac_palette_width)
7683 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
7684 grub_vbe_bios_getset_dac_palette_width()).
7685
7686 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
7687 check for return status.
7688 (grub_vbe_get_video_mode_info): When getting information for a packed
7689 mode (<= 8 bpp), obtain DAC palette width using
7690 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
7691 {red,green,blue}_mark_size.
7692
222671b2 76932009-08-04 Felix Zielcke <fzielcke@z-51.de>
7694
ecb1a6d9 7695 * commands/search.c (options): Fix help output to match actual code.
222671b2 7696
f84114f5 76972009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
7700 of homegrown code.
7701
bd288a20 77022009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 7703
7704 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
7705 on XFS or ReiserFS.
7706
8aab5e25 77072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 Support Apple partition map with sector size different from 512 bytes.
7710
7711 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
7712 (apple_partition_map_iterate): Respect 'aheader.blocksize'
7713 and 'apart.partmap_size'.
7714
6ad6258a 77152009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
77162009-08-01 Robert Millan <rmh.grub@aybabtu.com>
7717
7718 Fix cpuid command.
7719
7720 * commands/i386/cpuid.c (options): New variable.
7721 (grub_cmd_cpuid): Return real error.
7722 (GRUB_MOD_INIT(cpuid)): Declare options.
7723
67459bc6 77242009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
7727 valid.
7728
fbc6ab54 77292009-07-31 Bean <bean123ch@gmail.com>
7730
7731 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
7732 log2_inode.
7733 (grub_fshelp_node): Move inode field to the end.
7734 (grub_xfs_data): Remove inode field.
7735 (grub_xfs_inode_block): Calculate inode size using sblock.
7736 (grub_xfs_inode_offset): Likewise.
7737 (grub_xfs_read_inode): Calculate inode size using sblock.
7738 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
7739 (grub_xfs_iterate_dir): Calculate inode size using sblock.
7740 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
7741 to match inode size.
7742 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
7743 not accessible when data is null.
7744 (grub_xfs_open): Likewise.
7745
f45d6cfc 77462009-07-31 Bean <bean123ch@gmail.com>
7747
7748 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
7749 Don't change pv->disk if it's already set.
7750
7751 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
7752 (grub_raid_register): ... here.
7753 (grub_raid_rescan): Removed.
7754
7755 * include/grub/raid.h (grub_raid_rescan): Removed.
7756
7757 * util/grub-fstest.c: Remove include file <grub/raid.h>.
7758 (fstest): Replace grub_raid_rescan with module fini function followed
7759 by init function.
7760
7761 * util/grub-probe.c: Add include file <grub/raid.h>.
7762 (probe_raid_level): New function.
7763 (probe): Detect abstraction by walking the disk device, support two
7764 level of abstraction (LVM on RAID) when detecting partition map.
7765
24443b5a 77662009-07-31 Pavel Roskin <proski@gnu.org>
7767
7768 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
7769 to grub_zalloc(), it was erroneous.
7770 Reported by Bean <bean123ch@gmail.com>
7771
a275d9e7 77722009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 7775 embedding zone, not only the first one.
a275d9e7 7776
56c5a47f 77772009-07-29 Joe Auricchio <jauricchio@gmail.com>
7778
7779 * term/gfxterm.c (clear_char): New function.
7780 (grub_virtual_screen_setup): Use clear_char.
7781 (scroll_up): Likewise.
7782 (grub_virtual_screen_cls): Likewise.
7783
67bb323a 77842009-07-29 Felix Zielcke <fzielcke@z-51.de>
7785
7786 * util/deviceiter.c (get_acceleraid_disk_name): New static
7787 function.
7788 (grub_util_iterate_devices): Handle Accelraid devices.
7789 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7790
388a7c75 77912009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7792
7793 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7794 separator for the suggested gfxpayload string (';' collides with the
7795 parser and needs escaping).
7796
3bb7abcf 77972009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7800 Clear direction flag before jumping to OS.
7801 (grub_multiboot2_real_boot): Likewise.
7802
2ddd36d7 78032009-07-28 Felix Zielcke <fzielcke@z-51.de>
7804
7805 * util/i386/pc/grub-install: Fix parsing of --disk-module
7806 option.
7807
c521b62b 78082009-07-28 Felix Zielcke <fzielcke@z-51.de>
7809
7810 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7811 when embedding.
7812
880e0a0c 78132009-07-26 Felix Zielcke <fzielcke@z-51.de>
7814
7815 * util/grub-mkconfig.in (package_version): New variable.
7816 Use it do display the version.
7817
2366e356 78182009-07-25 Felix Zielcke <fzielcke@z-51.de>
7819
7820 * kern/file.c (grub_file_open): Revert to previous check with
7821 grub_errno.
7822
7ad8c80e 78232009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7826 from help line. It's out of sync with code.
7827
72b9658b 78282009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7831 entries on failed boot.
7832
77435277 78332009-07-25 Felix Zielcke <fzielcke@z-51.de>
7834
7835 * kern/file.c (grub_file_open): Fix an error check.
7836
fcaa8b21 78372009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7838
35d16c74 7839 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7840 partition map couldn't be identified.
fcaa8b21 7841
48904cd1 78422009-07-23 Pavel Roskin <proski@gnu.org>
7843
ef3c317f 7844 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7845 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7846 case of little endian words becomes just an optimization.
7847 Respect const modifier.
ad8ea1f4 7848 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7849
48904cd1 7850 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7851 to avoid loss of upper bits if align is unsigned and shorter
7852 than addr.
7853
260c9a89 78542009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 UUID support for UFS
7857
7858 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7859 (grub_ufs_uuid): New function.
7860 (grub_ufs_fs): add .uuid
7861
f76ce889 78622009-07-21 Pavel Roskin <proski@gnu.org>
7863
7864 * kern/dl.c (grub_dl_check_header): Make static.
7865
6a6cbcaf 78662009-07-21 Felix Zielcke <fzielcke@z-51.de>
7867
7868 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7869 add drivemap for Vista. It breaks Windows 7.
7870
cffcddb2 78712009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7874 128 bytes
7875
1ef44b80 78762009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 Add BFS support
7879
7880 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7881 (grub_fstest_SOURCES): Likewise.
7882 (pkglib_MODULES): Add befs.mod.
7883 (befs_mod_SOURCES): New variable.
7884 (befs_mod_CFLAGS): Likewise.
7885 (befs_mod_LDFLAGS): Likewise.
7886 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7888 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7889 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7890 (grub_setup_SOURCES): Likewise.
7891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7892 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7893 (grub_setup_SOURCES): Likewise.
7894 * fs/befs.c: New file.
7895 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7896 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7897 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7898 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7899 (B_KEY_INDEX_ALIGN): New declaration.
7900 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7901 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7902 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7903 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7904 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7905 (grub_afs_mount) [MODE_BFS]: Likewise.
7906 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7907 (grub_afs_fs): Use GRUB_AFS_FSNAME
7908 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7909 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7910 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7911 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7912
4f253044 79132009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7914
7915 * util/getroot.c (find_root_device): Add support for MacOSX.
7916 * util/hostdisk.c: Likewise.
7917
57a55913 79182009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * font/font.c (find_glyph): Check whether a font is present to avoid
7921 segmentation fault.
75421ca9 7922
79232009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7924
7925 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7926
e98cd0c2 79272009-07-20 Pavel Roskin <proski@gnu.org>
7928
7929 * configure.ac: Trim excessively wordy excuses.
7930
1d2d169a 79312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 Add symlink, mtime and label support to AtheFS.
7934
7935 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7936 (grub_afs_iterate_dir): Handle symlinks.
7937 (grub_afs_open): Use grub_afs_read_symlink.
7938 (grub_afs_dir): Likewise.
7939 Pass mtime.
7940 (grub_afs_label): New function.
7941 (grub_afs_fs): Add grub_afs_label.
7942 (grub_afs_read_symlink): New function.
7943
186f3189 79442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Fix AtheFS support.
7947
7948 * fs/afs.c: Fix comments style.
7949 (grub_afs_blockrun): Declare as packed.
7950 (grub_afs_datastream): Likewise.
7951 (grub_afs_bnode): Likewise.
7952 (grub_afs_btree): Likewise.
7953 (grub_afs_sblock): Likewise.
7954 Declare `name' as char.
7955 (grub_afs_inode): Declare as packed.
7956 Change void *vnode to grub_uint32_t unused.
7957 (grub_afs_iterate_dir): Check that key_size is positive.
7958 (grub_afs_mount): Don't read superblock twice.
75421ca9 7959 (grub_afs_dir): Don't free node in case of error,
186f3189 7960 grub_fshelp_find_file already handles this.
7961 (grub_afs_open): Likewise.
7962
5680109e 79632009-07-19 Pavel Roskin <proski@gnu.org>
7964
7965 * Makefile.in: Remove LIBLZO and enable_lzo.
7966 * conf/i386-pc.rmk: Remove lzo support.
7967 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7968 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7969 support.
7970 * kern/i386/pc/lzo1x.S: Remove.
7971 * kern/i386/pc/startup.S: Remove lzo support.
7972 * util/i386/pc/grub-mkimage.c: Likewise.
7973
ac70fa32 79742009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7977 * fs/xfs.c (grub_xfs_dir): Likewise.
7978 * fs/afs.c (grub_afs_dir): Likewise.
7979 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7980 (grub_iso9660_open): Likewise.
7981 * fs/jfs.c (grub_jfs_open): Likewise.
7982 * fs/ext2.c (grub_ext2_dir): Likewise.
7983 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7984 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7985
eab58da2 79862009-07-16 Pavel Roskin <proski@gnu.org>
7987
d2838156 7988 * configure.ac: Never add "-c" to CFLAGS.
7989
55c70904 7990 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7991
43e6200c 7992 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7993 grub_cv_cc_efiemu should be used.
7994
ce7a733d 7995 * configure.ac: Typo fixes.
7996
eab58da2 7997 * kern/mm.c (grub_zalloc): New function.
7998 (grub_debug_zalloc): Likewise.
7999 * include/grub/mm.h: Declare grub_zalloc() and
8000 grub_debug_zalloc().
8001 * util/misc.c (grub_zalloc): New function.
8002 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
8003 instead of grub_malloc(), remove unneeded initializations.
8004 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
8005 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
8006 * commands/parttool.c (grub_cmd_parttool): Likewise.
8007 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8008 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
8009 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
8010 * disk/usbms.c (grub_usbms_finddevs): Likewise.
8011 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
8012 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
8013 (grub_cmd_efiemu_pnvram): Likewise.
8014 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
8015 * fs/iso9660.c (grub_iso9660_mount): Likewise.
8016 (grub_iso9660_iterate_dir): Likewise.
8017 * fs/jfs.c (grub_jfs_opendir): Likewise.
8018 * fs/ntfs.c (list_file): Likewise.
8019 (grub_ntfs_mount): Likewise.
8020 * kern/disk.c (grub_disk_open): Likewise.
8021 * kern/dl.c (grub_dl_load_core): Likewise.
8022 * kern/elf.c (grub_elf_file): Likewise.
8023 * kern/env.c (grub_env_context_open): Likewise.
8024 (grub_env_set): Likewise.
8025 (grub_env_set_data_slot): Likewise.
8026 * kern/file.c (grub_file_open): Likewise.
8027 * kern/fs.c (grub_fs_blocklist_open): Likewise.
8028 * loader/i386/multiboot.c (grub_module): Likewise.
8029 * loader/xnu.c (grub_xnu_create_key): Likewise.
8030 (grub_xnu_create_value): Likewise.
8031 * normal/main.c (grub_normal_add_menu_entry): Likewise.
8032 (read_config_file): Likewise.
8033 * normal/menu_entry.c (make_screen): Likewise.
8034 * partmap/sun.c (sun_partition_map_iterate): Likewise.
8035 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
8036 * script/sh/script.c (grub_script_parse): Likewise.
8037 * video/bitmap.c (grub_video_bitmap_create): Likewise.
8038 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8039 * video/readers/png.c (grub_png_output_byte): Likewise.
8040 (grub_video_reader_png): Likewise.
8041
830afef7 80422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 8043
8044 Enable all targets that can be built by default
8045
830afef7 8046 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 8047 grub-mkfont and grub-fstest if they can be built
8048
ee293aee 80492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Fix hang and segmentation fault in grub-emu-usb
8052
8053 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
8054 * util/usb.c (grub_libusb_devices): likewise
8055 (grub_libusb_init): rename to ...
8056 (GRUB_MOD_INIT (libusb)):...this
8057 (grub_libusb_fini): rename to ..
8058 (GRUB_MOD_FINI (libusb)):...this
8059 * disk/usbms.c (grub_usbms_transfer): fix retry logic
8060 * include/grub/disk.h (grub_raid_init): removed, it's useless
8061 (grub_raid_fini): likewise
8062 (grub_lvm_init): likewise
8063 (grub_lvm_fini): likewise
8064 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
8065 by grub_init_all
8066
94414221 80672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 Fix libusb
8070
8071 * Makefile.in (LIBUSB): new macro
8072 * genmk.rb (Utility/print_tail): new method
8073 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
8074 (top level): call util.print_tail at the end.
8075
59ade63d 80762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 Make FreeBSD accept zpool.cache
8079
8080 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
8081 type is /boot/zfs/zpool.cache
8082
a58da8c7 80832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 Fix 64-bit efiemu
8086
8087 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
8088 correct wrong typedef
8089 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
8090
20591577 80912009-07-15 Pavel Roskin <proski@gnu.org>
8092
560ca572 8093 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
8094 * kern/disk.c (struct grub_disk_cache): Likewise.
8095
e8e8e4fd 8096 * commands/probe.c (options): Typo fix.
8097
fde24e10 8098 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
8099 Increase to 0x5a to accommodate FAT32. Adjust other offsets
8100 accordingly.
8101 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
8102
379c54c1 8103 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
8104 the end of "Error" to make the message more readable.
8105
7bd8f5bf 8106 * boot/i386/pc/boot.S (kernel_segment): Remove.
8107 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
8108 for destination.
8109
40b132c5 8110 * boot/i386/pc/boot.S (boot_version): Remove.
8111 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8112 Remove.
8113
20591577 8114 * include/grub/i386/pc/boot.h: Sort all offsets.
8115 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
8116 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
8117 * boot/i386/pc/boot.S: Assert location of every offset listed in
8118 include/grub/i386/pc/boot.h.
8119
2df32b2c 81202009-07-13 Pavel Roskin <proski@gnu.org>
8121
44b5d879 8122 * include/grub/i386/coreboot/machine.h: Rename
8123 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
8124 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
8125 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
8126
17dc3751 8127 * kern/dl.c: Force native word size to suppress warnings when
8128 compiling grub-emu.
8129
2df32b2c 8130 * kern/device.c (grub_device_iterate): Change struct part_ent to
8131 hold the name, not a pointer to it. Use one grub_malloc() per
8132 partition, not two. Free partition_name if grub_malloc() fails.
8133 Set ents to NULL only before grub_partition_iterate() is called.
8134
75c59f59 81352009-07-11 Bean <bean123ch@gmail.com>
8136
8137 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
8138 childname.
8139
0ae1bf88 81402009-07-10 Bean <bean123ch@gmail.com>
81412009-07-10 Robert Millan <rmh.grub@aybabtu.com>
8142
8143 * kern/ieee1275/openfw.c (grub_children_iterate)
8144 (grub_devalias_iterate): Fix size evaluation for property or path
8145 strings, which was broken since r2132.
8146
8279cade 81472009-07-07 Pavel Roskin <proski@gnu.org>
8148
7d8a52d3 8149 * commands/search.c (search_file): Merge into ...
8150 (search_fs): ... this. Accept search type as argument.
8151 (grub_cmd_search): Pass search type to search_fs().
8152
25f9a05a 8153 * include/grub/util/console.h: New file.
8154 * util/console.c: Use it instead of grub/machine/console.h.
8155 * util/grub-emu.c: Likewise.
8156
8279cade 8157 * lib/arg.c (find_long_option): Remove.
8158 (find_long): Add `len' argument, make `s' const char *.
8159 (grub_arg_parse): Parse long options in place, not in a
8160 temporary buffer.
8161
4a11b60f 81622009-07-06 Pavel Roskin <proski@gnu.org>
8163
99f68041 8164 * commands/search.c (search_fs): Fix potential NULL pointer
8165 dereference.
8166
4a11b60f 8167 * commands/search.c (search_fs): Replace QUID macro with quid_fn
8168 function pointer.
8169
e110f4de 81702009-07-06 Daniel Mierswa <impulze@impulze.org>
8171
8172 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
8173 comparison.
8174
46eeb6a2 81752009-07-05 Pavel Roskin <proski@gnu.org>
8176
bab74958 8177 * include/grub/i386/linux.h (struct linux_kernel_params):
8178 Restore padding3, it's still needed.
8179
46eeb6a2 8180 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
8181 FreeBSD.
8182 * util/osdetect.lua: Likewise.
8183
b4a1dc79 81842009-07-05 Bean <bean123ch@gmail.com>
8185
8186 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
8187
8188 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
8189 (grub_lua_getenv): Likewise.
8190 (grub_lua_setenv): Likewise.
8191 (save_errno): New function.
8192 (push_result): Likewise.
8193 (grub_lua_enum_device): Likewise.
8194 (grub_lua_enum_file): Likewise.
8195 (grub_lua_file_open): Likewise.
8196 (grub_lua_file_close): Likewise.
8197 (grub_lua_file_seek): Likewise.
8198 (grub_lua_file_read): Likewise.
8199 (grub_lua_file_getline): Likewise.
8200 (grub_lua_file_getsize): Likewise.
8201 (grub_lua_file_getpos): Likewise.
8202 (grub_lua_file_eof): Likewise.
8203 (grub_lua_file_exist): Likewise.
8204 (grub_lua_add_menu): Likewise.
8205
8206 * script/lua/grub_lua.h (isupper): New inline function.
8207 (islower): Likewise.
8208 (ispunct): Likewise.
8209 (isxdigit): Likewise.
8210 (strcspn): Change to normal function.
8211 (strpbkr): New function declaration.
8212 (memchr): Likewise.
8213
8214 * script/lua/grub_main.c (scan_str): New function.
8215 (strcspn): Likewise.
8216 (strpbrk): Likewise.
8217 (memchr): Likewise.
8218
8219 * script/lua/linit.c (lualibs): Enable the string library.
8220
8221 * util/osdetect.lua: New file.
8222
2da92295 82232009-07-04 Robert Millan <rmh.grub@aybabtu.com>
8224
8225 * include/grub/i386/linux.h (struct linux_kernel_params): Add
8226 `capabilities' member.
8227
b2582ec9 82282009-07-02 Pavel Roskin <proski@gnu.org>
8229
8230 * genparttoollist.sh: Add missing newline at the end.
8231
32622956 82322009-07-01 Pavel Roskin <proski@gnu.org>
8233
87a7339e 8234 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
8235
d23af54e 8236 * util/hostdisk.c (open_device): Remove `const' from
8237 `sysctl_size', as sysctlbyname() can change it (in this case it
8238 doesn't actually happen).
8239
c94b18a9 8240 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
8241 using signed long int constants.
8242
c6cd3ef0 8243 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
8244 constant to avoid a warning on FreeBSD.
8245
0df63420 8246 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
8247 where it's needed.
8248
999577f1 8249 * Makefile.in: Install include/grub/machine symlink.
8250
6f41557f 8251 * Makefile.in: When installing symlinks, use "cp -fR", which
8252 works on FreeBSD and MacOSX.
8253 From Yves Blusseau <cl7m42e02@sneakemail.com>
8254
c8d22988 8255 * kern/dl.c (grub_dl_resolve_symbol): Make static.
8256 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
8257
1b96e952 8258 * util/misc.c: Move grub_reboot() and grub_halt() ...
8259 * util/grub-emu.c: ... here. Make main_env static.
8260 * include/grub/util/misc.h: Remove main_env.
8261
2ef0084d 8262 * kern/mm.c: Use correct format to print size_t.
8263
32622956 8264 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
8265 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
8266 * kern/powerpc/dl.c: Likewise.
8267 * kern/sparc64/dl.c: Likewise.
8268 * kern/x86_64/dl.c: Likewise.
8269
3f7f0cd0 82702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8271
8272 Fix grub-emu build on sparc64-ieee1275.
8273
75421ca9 8274 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 8275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
8276
211d06b5 82772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8278
8279 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
8280 (grub_reboot, grub_halt): New functions.
8281
8282 * util/i386/pc/misc.c: Delete. Update all users.
8283 * util/sparc64/ieee1275/misc.c: Likewise.
8284 * util/powerpc/ieee1275/misc.c: Likewise.
8285
aaf53e3c 82862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8287
8288 * conf/i386.rmk (setjmp_mod_SOURCES)
8289 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
8290 * conf/common.rmk (setjmp_mod_SOURCES)
8291 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
8292 to use $(target_cpu).
8293 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
8294 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
8295 * conf/powerpc-ieee1275.rmk: Likewise.
8296 * conf/sparc64-ieee1275.rmk: Likewise.
8297
8298 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
8299 $(target_cpu) for kern/$(target_cpu)/dl.c.
8300 * conf/i386-efi.rmk: Likewise.
8301 * conf/i386-ieee1275.rmk: Likewise.
8302 * conf/x86_64-efi.rmk: Likewise.
8303 * conf/i386-coreboot.rmk: Likewise.
8304 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
8305 $(target_cpu) for kern/$(target_cpu)/dl.c and for
8306 kern/$(target_cpu)/cache.S.
8307 * conf/sparc64-ieee1275.rmk: Likewise.
8308
a337130b 83092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8310
8311 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
8312 type to `grub_uint8_t', and adjust `padding9' accordingly.
8313
c6fe4d53 83142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8315
b09db61d 8316 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
8317
c6fe4d53 8318 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
8319 assembly in final jump, using register constraints.
8320
b09db61d 8321 (grub_linux_boot): For text mode, initialize `have_vga' using
8322 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
8323
8324 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
8325 right before the final jump.
8326
8327 Set `video_mode' to 0x3.
8328
8329 Document initialization of `video_page', `video_mode' and
8330 `video_ega_bx'.
8331
28333ad0 83322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8333
8334 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
8335 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 8336 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 8337
02164e1b 83382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8339
8340 Fix build on Debian / sparc.
8341
8342 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
8343
18b6c557 83442009-06-28 Pavel Roskin <proski@gnu.org>
8345
85f2aab6 8346 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
8347 fix a warning.
8348
18b6c557 8349 * util/grub.d/10_linux.in: Match SUSE style initrd names.
8350
ad760f81 83512009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8352
8353 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
8354 `err'.
8355
87a4623b 83562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8357
8358 Revert r2338.
8359
8360 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
8361 file can't be opened. grub_file_open() is already supposed to set
75421ca9 8362 grub_errno / grub_errmsg appropriately.
87a4623b 8363 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8364
8231fb77 83652009-06-27 Pavel Roskin <proski@gnu.org>
83662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8367
8368 * include/grub/dl.h: Include grub/elf.h.
8369 (struct grub_dl): Add symtab field.
8370 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
8371 GRUB_MODULES_MACHINE_READONLY.
8372 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
8373 of the header for read-only modules.
8374 (grub_dl_unload): Free mod->symtab for read-only modules.
8375 * kern/i386/dl.c: Use mod->symtab.
8376 * kern/powerpc/dl.c: Likewise.
8377 * kern/sparc64/dl.c: Likewise.
8378 * kern/x86_64/dl.c: Likewise.
8379
8380 * conf/i386-qemu.rmk: New file.
8381 * kern/i386/qemu/startup.S: Likewise.
8382 * kern/i386/qemu/mmap.c: Likewise.
8383 * boot/i386/qemu/boot.S: Likewise.
8384 * include/grub/i386/qemu/time.h: Likewise.
8385 * include/grub/i386/qemu/serial.h: Likewise.
8386 * include/grub/i386/qemu/kernel.h: Likewise.
8387 * include/grub/i386/qemu/console.h: Likewise.
8388 * include/grub/i386/qemu/boot.h: Likewise.
8389 * include/grub/i386/qemu/init.h: Likewise.
8390 * include/grub/i386/qemu/machine.h: Likewise.
8391 * include/grub/i386/qemu/loader.h: Likewise.
8392 * include/grub/i386/qemu/memory.h: Likewise.
8393
8394 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
8395 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
8396 [qemu] (pkglib_IMAGES): Add `boot.img'.
8397 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
8398 [qemu] (boot_img_FORMAT): New variables.
8399 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
8400 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
8401 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
8402 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8403 [qemu] (kernel_img_FORMAT): New variables.
8404
8405 * configure.ac: Recognise `i386-qemu'.
8406
8407 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
8408 (for no compression).
8409 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
8410 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
8411 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
8412 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
8413 ifdefs).
8414
97fe384e 84152009-06-27 Pavel Roskin <proski@gnu.org>
8416
8417 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
8418 read.
8419 * efiemu/prepare32.c: Likewise.
8420 * efiemu/prepare64.c: Likewise.
8421
c402ab17 84222009-06-26 Pavel Roskin <proski@gnu.org>
8423
8424 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
8425 * include/grub/elf.h: Define symbols without "32" or "64" based
8426 on GRUB_TARGET_WORDSIZE.
8427 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
8428 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
8429 ELF definitions.
8430 * efiemu/loadcore64.c: Likewise.
8431 * loader/i386/bsd32.c: Likewise.
8432 * loader/i386/bsd64.c: Likewise.
8433 * kern/dl.c: Remove own ELF definitions.
8434 * util/i386/efi/grub-mkimage.c: Likewise.
8435
9bbdfd4d 84362009-06-23 Robert Millan <rmh.grub@aybabtu.com>
8437
8438 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
8439 segment 0x0 unconditionally, because the reference generated by
8440 GAS is an absolute address.
8441
a42ce6e9 84422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8443
8444 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
8445 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
8446
c952cf92 84472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8448
8449 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
8450 indexes. Check for -f explicitly.
cc3752ad 8451 (search_file): Improve error message.
8452 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 8453
132a0a59 84542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8455
8456 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
8457 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
8458
387a140c 84592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8460
8461 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
8462 * conf/i386-ieee1275.rmk: Likewise.
8463 * conf/i386-coreboot.rmk: Likewise.
8464
8465 * kern/i386/pc/startup.S (grub_stop): Remove function.
8466 * kern/i386/ieee1275/startup.S: Likewise.
8467 * kern/i386/coreboot/startup.S: Likewise.
8468 * kern/i386/misc.S (grub_stop): New function.
8469
41da9665 84702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8471
8472 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
8473 * kern/i386/realmode.S (real_to_prot): ... to here.
8474
bf337234 84752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8476
8477 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
8478 with `kernel.img'.
8479 (kernel_elf_SOURCES): Rename to ...
8480 (kernel_img_SOURCES): ... this.
8481 (kernel_elf_HEADERS): Rename to ...
8482 (kernel_img_HEADERS): ... this. Update all users.
8483 (kernel_elf_ASFLAGS): Rename to ...
8484 (kernel_img_ASFLAGS): ... this.
8485 (kernel_elf_CFLAGS): Rename to ...
8486 (kernel_img_CFLAGS): ... this.
8487 (kernel_elf_LDFLAGS): Rename to ...
8488 (kernel_img_LDFLAGS): ... this.
8489 * conf/i386-coreboot.rmk: Likewise.
8490 * conf/powerpc-ieee1275.rmk: Likewise.
8491
8492 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
8493 with "kernel.img".
8494
f52196ff 84952009-06-21 Pavel Roskin <proski@gnu.org>
8496
c3cee413 8497 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
8498 to match nested functions.
8499 * loader/sparc64/ieee1275/linux.c: Likewise.
8500
f52196ff 8501 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
8502
58750afc 85032009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8504
8505 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
8506 all i386 platforms.
8507
15355c7d 85082009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8509
8510 Fix asm file handling on ELF, and remove workarounds.
8511
8512 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 8513 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 8514 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
8515 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
8516
3f3ec72b 85172009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 Load BSD ELF modules
8520
8521 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
8522 and loader/i386/bsd64.c
8523 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
8524 (FREEBSD_MODTYPE_ELF_MODULE): New definition
8525 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
8526 (grub_freebsd_load_elfmodule32): New declaration
8527 (grub_freebsd_load_elfmoduleobj64): Likewise
8528 (grub_freebsd_load_elf_meta32): Likewise
8529 (grub_freebsd_load_elf_meta64): Likewise
8530 (grub_freebsd_add_meta): Likewise
8531 (grub_freebsd_add_meta_module): Likewise
8532 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
8533 (grub_freebsd_add_meta_module): Likewise and move module-specific
8534 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
8535 (grub_cmd_freebsd): Add elf-kernel specific parts
8536 based on grub_freebsd_add_meta_module
8537 (grub_cmd_freebsd_module): Add type parsing moved from
8538 grub_freebsd_add_meta_module
8539 (grub_cmd_freebsd_module_elf): New function
8540 (cmd_freebsd_module_elf): New variable
8541 (GRUB_MOD_INIT): Register freebsd_module_elf
8542 * loader/i386/bsd32.c: New file
8543 * loader/i386/bsd64.c: Likewise
8544 * loader/i386/bsdXX.c: Likewise
8545 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
8546 (grub_elf64_load): Likewise
8547 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
8548 All users updated
8549 (grub_elf64_load_hook_t): Likewise
8550
0db15301 85512009-06-21 Colin Watson <cjwatson@ubuntu.com>
8552
8553 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
8554 variable.
8555 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
8556 don't write a menu entry for recovery mode.
8557
546796c1 85582009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8559
8560 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
8561 after it's no longer needed.
8562
cd7310d5 85632009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8564
8565 * include/grub/i386/loader.h (grub_linux_prot_size)
8566 (grub_linux_tmp_addr, grub_linux_real_addr)
8567 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
8568 GRUB_MACHINE_PCBIOS.
8569 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
8570 common grub_util_info() call to ...
8571 (generate_image): ... here.
8572 Fix use of uninitialized memory, comparison of signed with
8573 unsigned integers and memory leak.
8574 Remove bogus module address message.
8575
ab32d3b5 85762009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
8579 grub_raid_register
8580 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
8581
024ef597 85822009-06-19 Pavel Roskin <proski@gnu.org>
8583
8584 * configure.ac: Remove stray AC_MSG_CHECKING.
8585
3ac72b51 85862009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 8589
e14cd814 85902009-06-18 Pavel Roskin <proski@gnu.org>
8591
8592 * conf/common.rmk: Add fs_file.mod.
8593 * disk/fs_file.c: New file.
8594 * include/grub/disk.h (enum grub_disk_dev_id): Add
8595 GRUB_DISK_DEVICE_FILE_ID.
8596
26586d98 85972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 Fix build with Apple's toolchain. Part 2
8600
8601 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
8602 a fake start
8603
26de2bcd 86042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Fix build with Apple's toolchain. Part 1
8607
8608 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
8609 for long calls
8610 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 8611 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 8612 Apple's toolchain
8613
09b3490b 86142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Fix warnings
8617
8618 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
8619 (decomp_block): initialize ch
8620 use grub_memcpy instead of memcpy
8621
c22a006a 86222009-06-17 Pavel Roskin <proski@gnu.org>
8623
d3638678 8624 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
8625 version, use declarations needed to use vga_text as the startup
8626 console.
8627
c22a006a 8628 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
8629 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
8630 the kernel.
8631 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
8632 and grub_at_keyboard_fini(), it's done on module load and
8633 unload.
8634
05b129e0 86352009-06-17 Felix Zielcke <fzielcke@z-51.de>
8636
8637 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
8638 file can't be found.
8639 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8640
cf24ed9e 86412009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Fix newline handling
8644
8645 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 8646 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 8647 (grub_script_yylex): don't segfault on unterminated script
8648 newline terminates command and variable
8649
74aa8e4b 86502009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 avoid double grub_adjust_range call. Bug reported by David Simner
8653
8654 * kern/disk.c (grub_disk_write): change to raw disk access before
8655 calling disk_read
8656
1bd265f3 86572009-06-17 Colin Watson <cjwatson@ubuntu.com>
8658
8659 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
8660 spaces, for the benefit of help2man.
8661 * util/i386/efi/grub-mkimage.c (usage): Likewise.
8662
a2d08c06 86632009-06-16 Pavel Roskin <proski@gnu.org>
8664
8665 * kern/i386/halt.c: Include grub/machine/init.h.
8666 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
8667
b97bcb19 86682009-06-16 Felix Zielcke <fzielcke@z-51.de>
8669
8670 * util/grub.d/30_os-prober.in: Use ${root} in the generated
8671 drivemap menuentry.
8672
0644f96c 86732009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
8674
8675 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
8676 `echo' command.
8677
3ef17a2e 86782009-06-16 Pavel Roskin <proski@gnu.org>
8679
8680 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
8681 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
8682 save %dx, we only need %dl and we never change it.
8683 * boot/i386/pc/cdboot.S: Don't set the root drive.
8684 * boot/i386/pc/pxeboot.S: Likewise.
8685 * include/grub/i386/pc/boot.h: Remove
8686 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
8687 GRUB_BOOT_MACHINE_DRIVE_CHECK.
8688 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
8689 * kern/i386/pc/init.c (make_install_device): Remove references
8690 to grub_root_drive.
8691 * kern/i386/pc/startup.S: Likewise.
8692 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
8693
693fe637 86942009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 xnu_uuid command
8697
8698 * commands/xnu_uuid.c: new file
8699 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
8700 (xnu_uuid_mod_SOURCES): new variable
8701 (xnu_uuid_mod_CFLAGS): likewise
8702 (xnu_uuid_mod_LDFLAGS): likewise
8703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8704 * conf/i386-ieee1275.rmk: likewise
8705 * conf/i386-pc.rmk: likewise
8706 * conf/powerpc-ieee1275.rmk: likewise
8707 * conf/sparc64-ieee1275.rmk: likewise
8708 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
8709
c9da87d0 87102009-06-16 Pavel Roskin <proski@gnu.org>
8711
8712 * configure.ac: Avoid '==' in test command, it's not portable.
8713
9c6f4596 87142009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 Probe command
8717
8718 * commands/probe.c: new file
8719 * conf/common.rmk (pkglib_MODULES): add probe.mod
8720 (probe_mod_SOURCES): new variable
8721 (probe_mod_CFLAGS): likewise
8722 (probe_mod_LDFLAGS): likewise
8723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8724 * conf/i386-ieee1275.rmk: likewise
8725 * conf/i386-pc.rmk: likewise
8726 * conf/powerpc-ieee1275.rmk: likewise
8727 * conf/sparc64-ieee1275.rmk: likewise
8728
70b7f9fd 87292009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 Fix handling of string like \"hello\" and "a
8732 b"
8733
8734 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
8735 (grub_script_yylex): fix parsing of quoting, escaping and newline
8736
71c79a6b 87372009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8738
dd74360c 8739 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 8740 handling
dd74360c 8741
0644f96c 87422009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 8743
8744 * util/grub-mkconfig.in: Fix parsing of --output option.
8745
e40893c3 87462009-06-12 Pavel Roskin <proski@gnu.org>
8747
8748 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
8749 genmk.rb don't need to be generated or installed.
8750
3a1acfe2 87512009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * commands/i386/pc/drivemap_int13h.S: add more comments
8754
3a4575d4 87552009-06-11 Pavel Roskin <proski@gnu.org>
8756
0658e928 8757 * Makefile.in (uninstall): Uninstall manuals.
8758
ca0388f0 8759 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
8760 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
8761 and update-grub_lib in two places.
8762 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
8763
e3b27c39 8764 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
8765 a compiler warning.
8766
3a4575d4 8767 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
8768 `entry_lo' to fix variable shadowing.
8769
af1f4f55 87702009-06-11 Christian Franke <franke@computer.org>
8771
8772 * kern/misc.c (__enable_execute_stack): Add missing return type
8773 to prevent gcc warning.
8774
5225e649 87752009-06-11 Felix Zielcke <fzielcke@z-51.de>
8776
8777 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
8778
7d83bd47 87792009-06-11 Pavel Roskin <proski@gnu.org>
8780
c1cb63ba 8781 * Makefile.in: Don't rely on any scripts being executable.
8782 Always use $(SHELL) to run shell scripts.
8783
7d83bd47 8784 * configure.ac: Always define ___main if using -nostdlib. This
8785 fixes tests on Cygwin.
8786
948f48e7 87872009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8788
8789 UDF fix
8790
7d83bd47 8791 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8792 is in bytes and not in blocks
7d83bd47 8793
8ada9bc1 87942009-06-11 Pavel Roskin <proski@gnu.org>
8795
8796 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8797 warning.
8798
25ad2323 87992009-06-11 Felix Zielcke <fzielcke@z-51.de>
8800
8801 * util/grub.d/30_os-prober.in: Fix a comment. Source
8802 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8803 to set the root device. Place drivemap command in the generated
8804 chain entry.
8805
e65acb0c 88062009-06-11 Pavel Roskin <proski@gnu.org>
8807
8808 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8809 have long been resolved.
8810
f285fe2d 88112009-06-11 Colin Watson <cjwatson@ubuntu.com>
8812
bd47b0b5 8813 * util/grub.d/10_linux.in: Capitalise "Linux".
8814
f285fe2d 8815 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8816
a0c62e4e 88172009-06-11 Pavel Roskin <proski@gnu.org>
8818
b6783cb2 8819 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8820 fix a gcc warning and ensure that the function won't ever exit.
8821
dde032e8 8822 * kern/i386/ieee1275/init.c: Add missing prototype for
8823 grub_stop_floppy().
8824
22cd079d 8825 * loader/ieee1275/multiboot2.c [__i386__]: Include
8826 grub/cpu/multiboot.h.
8827
a0c62e4e 8828 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8829 casts to short - they are not portable and cause warnings. Fix
8830 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8831
63963d17 88322009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Drivemap fixes
8835
8836 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8837 new function
8838 (grub_get_root_biosnumber_saved): new variable
8839 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8840 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8841 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8842 %dx after the call if necessary
8843 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8844 (boot_mod_SOURCES): remove
8845 (boot_mod_CFLAGS): remove
8846 (boot_mod_LDFLAGS): remove
8847 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8848 (boot_mod_SOURCES): new variable
8849 (boot_mod_CFLAGS): likewise
8850 (boot_mod_LDFLAGS): likewise
8851 * conf/i386-efi.rmk: likewise
8852 * conf/i386-ieee1275.rmk: likewise
8853 * conf/i386-pc.rmk: likewise
8854 * conf/powerpc-ieee1275.rmk: likewise
8855 * conf/sparc64-ieee1275.rmk: likewise
8856 * conf/x86_64-efi.rmk: likewise
8857 * include/grub/i386/pc/biosnum.h: new file
8858 * lib/i386/pc/biosnum.c: likewise
8859 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8860 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8861 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8862
33abf7ae 88632009-06-10 Pavel Roskin <proski@gnu.org>
8864
5ac35b35 8865 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8866 Use separate variables. Read only the file size at the end, but
8867 not the checksum that we don't use.
8868
5c5215d5 8869 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8870 Adjust all callers.
8871
27d5fef7 8872 * kern/ieee1275/openfw.c: Remove libc includes.
8873 * kern/ieee1275/cmain.c: Likewise.
8874 * include/grub/ieee1275/ieee1275.h: Likewise.
8875
33abf7ae 8876 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8877 compiler warnings.
8878
19d50c2b 88792009-06-10 Felix Zielcke <fzielcke@z-51.de>
8880
8881 * Makefile.in: Remove all trailing whitespace.
8882 * conf/i386-pc.rmk: Likewise.
8883 * conf/powerpc-ieee1275.rmk: Likewise.
8884 * conf/sparc64-ieee1275.rmk: Likewise.
8885 * docs/grub.texi: Likewise.
8886 * docs/texinfo.tex: Likewise.
8887 * disk/fs_uuid.c: Likewise.
8888 * disk/lvm.c: Likewise.
8889 * disk/scsi.c: Likewise.
8890 * disk/ata.c: Likewise.
8891 * disk/ieee1275/ofdisk.c: Likewise.
8892 * disk/i386/pc/biosdisk.c: Likewise.
8893 * disk/host.c: Likewise.
8894 * disk/raid.c: Likewise.
8895 * disk/efi/efidisk.c: Likewise.
8896 * disk/usbms.c: Likewise.
8897 * disk/memdisk.c: Likewise.
8898 * disk/loopback.c: Likewise.
8899 * kern/powerpc/dl.c: Likewise.
8900 * kern/device.c: Likewise.
8901 * kern/dl.c: Likewise.
8902 * kern/sparc64/dl.c: Likewise.
8903 * kern/ieee1275/ieee1275.c: Likewise.
8904 * kern/term.c: Likewise.
8905 * kern/fs.c: Likewise.
8906 * kern/i386/dl.c: Likewise.
8907 * kern/i386/pc/startup.S: Likewise.
8908 * kern/i386/pc/init.c: Likewise.
8909 * kern/i386/pc/mmap.c: Likewise.
8910 * kern/i386/pc/lzo1x.S: Likewise.
8911 * kern/i386/ieee1275/init.c: Likewise.
8912 * kern/i386/realmode.S: Likewise.
8913 * kern/i386/tsc.c: Likewise.
8914 * kern/partition.c: Likewise.
8915 * kern/corecmd.c: Likewise.
8916 * kern/file.c: Likewise.
8917 * kern/efi/efi.c: Likewise.
8918 * kern/efi/init.c: Likewise.
8919 * kern/efi/mm.c: Likewise.
8920 * kern/main.c: Likewise.
8921 * kern/err.c: Likewise.
8922 * kern/env.c: Likewise.
8923 * kern/disk.c: Likewise.
8924 * kern/generic/millisleep.c: Likewise.
8925 * kern/generic/rtc_get_time_ms.c: Likewise.
8926 * kern/misc.c: Likewise.
8927 * kern/parser.c: Likewise.
8928 * genmk.rb: Likewise.
8929 * configure.ac: Likewise.
8930 * boot/i386/pc/diskboot.S: Likewise.
8931 * boot/i386/pc/pxeboot.S: Likewise.
8932 * boot/i386/pc/boot.S: Likewise.
8933 * boot/i386/pc/lnxboot.S: Likewise.
8934 * boot/i386/pc/cdboot.S: Likewise.
8935 * parttool/pcpart.c: Likewise.
8936 * video/readers/tga.c: Likewise.
8937 * video/video.c: Likewise.
8938 * video/bitmap.c: Likewise.
8939 * lib/envblk.c: Likewise.
8940 * lib/i386/setjmp.S: Likewise.
8941 * fs/xfs.c: Likewise.
8942 * fs/afs.c: Likewise.
8943 * fs/fat.c: Likewise.
8944 * fs/ntfs.c: Likewise.
8945 * fs/udf.c: Likewise.
8946 * fs/affs.c: Likewise.
8947 * fs/iso9660.c: Likewise.
8948 * fs/hfs.c: Likewise.
8949 * fs/fshelp.c: Likewise.
8950 * fs/ext2.c: Likewise.
8951 * fs/jfs.c: Likewise.
8952 * fs/reiserfs.c: Likewise.
8953 * fs/hfsplus.c: Likewise.
8954 * fs/minix.c: Likewise.
8955 * fs/cpio.c: Likewise.
8956 * fs/sfs.c: Likewise.
8957 * fs/ufs.c: Likewise.
8958 * efiemu/prepare.c: Likewise.
8959 * efiemu/loadcore_common.c: Likewise.
8960 * efiemu/runtime/efiemu.sh: Likewise.
8961 * efiemu/runtime/efiemu.S: Likewise.
8962 * efiemu/runtime/efiemu.c: Likewise.
8963 * efiemu/pnvram.c: Likewise.
8964 * efiemu/main.c: Likewise.
8965 * efiemu/i386/pc/cfgtables.c: Likewise.
8966 * efiemu/i386/loadcore64.c: Likewise.
8967 * efiemu/i386/loadcore32.c: Likewise.
8968 * efiemu/loadcore.c: Likewise.
8969 * efiemu/symbols.c: Likewise.
8970 * efiemu/mm.c: Likewise.
8971 * include/grub/autoefi.h: Likewise.
8972 * include/grub/datetime.h: Likewise.
8973 * include/grub/term.h: Likewise.
8974 * include/grub/hfs.h: Likewise.
8975 * include/grub/lvm.h: Likewise.
8976 * include/grub/i386/tsc.h: Likewise.
8977 * include/grub/i386/linux.h: Likewise.
8978 * include/grub/i386/xnu.h: Likewise.
8979 * include/grub/i386/efiemu.h: Likewise.
8980 * include/grub/i386/pc/biosdisk.h: Likewise.
8981 * include/grub/i386/pc/memory.h: Likewise.
8982 * include/grub/i386/pc/vbe.h: Likewise.
8983 * include/grub/parttool.h: Likewise.
8984 * include/grub/video.h: Likewise.
8985 * include/grub/memory.h: Likewise.
8986 * include/grub/fs.h: Likewise.
8987 * include/grub/partition.h: Likewise.
8988 * include/grub/xnu.h: Likewise.
8989 * include/grub/efi/api.h: Likewise.
8990 * include/grub/efi/pe32.h: Likewise.
8991 * include/grub/efi/memory.h: Likewise.
8992 * include/grub/multiboot.h: Likewise.
8993 * include/grub/usbdesc.h: Likewise.
8994 * include/grub/multiboot2.h: Likewise.
8995 * include/grub/acpi.h: Likewise.
8996 * include/grub/efiemu/efiemu.h: Likewise.
8997 * include/grub/disk.h: Likewise.
8998 * include/grub/ieee1275/ieee1275.h: Likewise.
8999 * include/grub/net.h: Likewise.
9000 * include/grub/machoload.h: Likewise.
9001 * include/grub/macho.h: Likewise.
9002 * include/multiboot.h: Likewise.
9003 * genmoddep.awk: Likewise.
9004 * normal/main.c: Likewise.
9005 * normal/menu_entry.c: Likewise.
9006 * normal/menu_viewer.c: Likewise.
9007 * normal/completion.c: Likewise.
9008 * normal/cmdline.c: Likewise.
9009 * normal/misc.c: Likewise.
9010 * normal/datetime.c: Likewise.
9011 * bus/usb/usbtrans.c: Likewise.
9012 * bus/usb/ohci.c: Likewise.
9013 * bus/usb/uhci.c: Likewise.
9014 * bus/usb/usb.c: Likewise.
9015 * mmap/efi/mmap.c: Likewise.
9016 * mmap/i386/pc/mmap_helper.S: Likewise.
9017 * mmap/i386/pc/mmap.c: Likewise.
9018 * mmap/i386/mmap.c: Likewise.
9019 * mmap/i386/uppermem.c: Likewise.
9020 * mmap/mmap.c: Likewise.
9021 * commands/acpi.c: Likewise.
9022 * commands/echo.c: Likewise.
9023 * commands/blocklist.c: Likewise.
9024 * commands/loadenv.c: Likewise.
9025 * commands/usbtest.c: Likewise.
9026 * commands/boot.c: Likewise.
9027 * commands/parttool.c: Likewise.
9028 * commands/search.c: Likewise.
9029 * commands/cat.c: Likewise.
9030 * commands/i386/pc/play.c: Likewise.
9031 * commands/i386/pc/drivemap.c: Likewise.
9032 * commands/i386/pc/vbeinfo.c: Likewise.
9033 * commands/i386/pc/acpi.c: Likewise.
9034 * commands/i386/pc/vbetest.c: Likewise.
9035 * commands/ls.c: Likewise.
9036 * commands/cmp.c: Likewise.
9037 * commands/test.c: Likewise.
9038 * commands/efi/acpi.c: Likewise.
9039 * commands/gptsync.c: Likewise.
9040 * commands/help.c: Likewise.
9041 * partmap/amiga.c: Likewise.
9042 * partmap/apple.c: Likewise.
9043 * partmap/acorn.c: Likewise.
9044 * partmap/pc.c: Likewise.
9045 * partmap/sun.c: Likewise.
9046 * partmap/gpt.c: Likewise.
9047 * script/sh/lexer.c: Likewise.
9048 * script/sh/function.c: Likewise.
9049 * font/font.c: Likewise.
9050 * font/font_cmd.c: Likewise.
9051 * loader/powerpc/ieee1275/linux.c: Likewise.
9052 * loader/efi/chainloader.c: Likewise.
9053 * loader/multiboot_loader.c: Likewise.
9054 * loader/macho.c: Likewise.
9055 * loader/i386/multiboot.c: Likewise.
9056 * loader/i386/linux.c: Likewise.
9057 * loader/i386/pc/linux.c: Likewise.
9058 * loader/i386/pc/multiboot2.c: Likewise.
9059 * loader/i386/pc/chainloader.c: Likewise.
9060 * loader/i386/pc/xnu.c: Likewise.
9061 * loader/i386/bsd_trampoline.S: Likewise.
9062 * loader/i386/efi/linux.c: Likewise.
9063 * loader/i386/multiboot_elfxx.c: Likewise.
9064 * loader/i386/bsd_helper.S: Likewise.
9065 * loader/i386/bsd.c: Likewise.
9066 * loader/i386/linux_trampoline.S: Likewise.
9067 * loader/i386/xnu_helper.S: Likewise.
9068 * loader/i386/xnu.c: Likewise.
9069 * loader/i386/bsd_pagetable.c: Likewise.
9070 * loader/i386/multiboot_helper.S: Likewise.
9071 * loader/xnu.c: Likewise.
9072 * loader/xnu_resume.c: Likewise.
9073 * io/gzio.c: Likewise.
9074 * term/efi/console.c: Likewise.
9075 * term/terminfo.c: Likewise.
9076 * term/ieee1275/ofconsole.c: Likewise.
9077 * term/i386/pc/serial.c: Likewise.
9078 * term/i386/pc/vesafb.c: Likewise.
9079 * term/i386/pc/vga.c: Likewise.
9080 * term/usb_keyboard.c: Likewise.
9081 * term/gfxterm.c: Likewise.
9082 * aclocal.m4: Likewise.
9083 * util/lvm.c: Likewise.
9084 * util/grub.d/30_os-prober.in: Likewise.
9085 * util/grub.d/10_hurd.in: Likewise.
9086 * util/console.c: Likewise.
9087 * util/grub-macho2img.c: Likewise.
9088 * util/grub-probe.c: Likewise.
9089 * util/hostfs.c: Likewise.
9090 * util/i386/pc/grub-mkimage.c: Likewise.
9091 * util/i386/pc/grub-setup.c: Likewise.
9092 * util/i386/efi/grub-mkimage.c: Likewise.
9093 * util/grub-mkconfig.in: Likewise.
9094 * util/raid.c: Likewise.
9095 * util/resolve.c: Likewise.
9096 * util/grub-mkdevicemap.c: Likewise.
9097 * util/grub-emu.c: Likewise.
9098 * util/getroot.c: Likewise.
9099 * util/hostdisk.c: Likewise.
9100 * util/usb.c: Likewise.
9101 * util/grub-editenv.c: Likewise.
9102 * util/misc.c: Likewise.
9103
d2d49665 91042009-06-10 Felix Zielcke <fzielcke@z-51.de>
9105
9106 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
9107 `genparttoollist.sh'.
9108 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
9109 Add `*.sh' to the list find searches for and change `mdate.sh'
9110 to `mdate-sh'.
9111
fe052e37 91122009-06-10 Pavel Roskin <proski@gnu.org>
9113
2763ac18 9114 * include/grub/multiboot2.h: Provide compatibility defines for
9115 multiboot2.h.
9116 * include/multiboot2.h: Include stdint.h only if needed, using
9117 angle brackets.
9118 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
9119 grub/multiboot2.h.
9120 * loader/ieee1275/multiboot2.c: Likewise.
9121 * loader/multiboot2.c: Likewise.
9122 * loader/multiboot_loader.c: Likewise.
9123
437e6adc 9124 * configure.ac: Use -nostdlib when probing for the target. It
9125 should not be required to have libc for the target.
9126
06a6836c 9127 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
9128 they fail without libc headers for the target.
9129 * include/grub/powerpc/libgcc.h: Use weak attribute for all
9130 exports.
9131 * include/grub/sparc64/libgcc.h: Likewise. Don't use
9132 preprocessor conditionals.
9133
fe052e37 9134 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
9135 build system doesn't need to be aware of the tar.c internals.
9136
afd22553 91372009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 9138
afd22553 9139 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 9140
6b787c4f 91412009-06-09 Robert Millan <rmh.grub@aybabtu.com>
9142
9143 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
9144 disk limit to 26 for IDE, Virtio, Xen and SCSI.
9145
91462009-06-09 Felix Zielcke <fzielcke@z-51.de>
9147
9148 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 9149 aren't available if ata.mod gets used.
6b787c4f 9150
473d1e45 91512009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 9152
473d1e45 9153 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 9154 initialising controller.
473d1e45 9155 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 9156
255a27d4 91572009-06-08 Felix Zielcke <fzielcke@z-51.de>
9158
9159 * util/i386/pc/grub-install.in: Add a parameter --disk-module
9160 to choose between ata and biosdisk module on i386-pc.
9161
473d1e45 91622009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 9163
d55842d8 9164 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
9165 Subclass and Programming Interface fields in terms of the 3 byte
9166 Class Code register.
9167 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9168
fa5db0b1 9169 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
9170 interface is OHCI. Add grub_dprintf for symmetry with
9171 bus/usb/uhci.c.
9172 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
9173 interface is UHCI. Add interf variable for programming
9174 interface. Print interface with class/subclass.
9175
c0947beb 9176 * bus/usb/ohci.c: Set interf with correct field.
9177
69da8877 9178 * bus/usb/uhci.c: Remove unneeded doubled lines.
9179 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
9180 Remove whitespace inside comment.
9181
9e172e30 91822009-06-08 Robert Millan <rmh.grub@aybabtu.com>
9183
9184 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
9185 as fallback an equivalent option without depth.
9186
de65ee2b 91872009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 Not fail if unable to retrieve C/H/S on LBA disks
9190
473d1e45 9191 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 9192 if unable to retrieve C/H/S on LBA disks
9193
b57ea2c9 91942009-06-08 Pavel Roskin <proski@gnu.org>
9195
9196 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
9197 about aliasing.
9198
af361263 91992009-06-08 Felix Zielcke <fzielcke@z-51.de>
9200
9201 * Makefile.in (uninstall): Remove all $lib_DATA files.
9202
4c9ec6b3 92032009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 Bugfix: install on partitionless device
9206
9207 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
9208 is a whole disk
9209
e76fc924 92102009-06-08 Felix Zielcke <fzielcke@z-51.de>
9211
9212 * Makefile.in (uninstall): Remove all $include_DATA files.
9213
ba5a0d05 92142009-06-08 Felix Zielcke <fzielcke@z-51.de>
9215
9216 * commands/true.c: New file. Implement the true and false commands.
9217 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
9218 (true_mod_SOURCES): New variable.
9219 (true_mod_CFLAGS): Likewise.
9220 (true_mod_LDFLAGS): Likewise.
9221
c8048e32 92222009-06-05 Colin D Bennett <colin@gibibit.com>
9223
9224 Optimized font character lookup using binary search instead of linear
9225 search. Fonts now are required to have the character index ordered by
9226 code point.
9227
9228 * font/font.c (load_font_index): Verify that fonts have ordered
9229 character indices.
9230 (find_glyph): Use binary search instead of linear search to find a
9231 character in a font.
9232
408305be 92332009-06-05 Michael Scherer <misc@mandriva.org>
9234
9235 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
9236 uses case sensitive btree.
9237 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
9238 only for case insensitive filesystems.
9239
8ee1e0d9 92402009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
9243 * conf/common.rmk (search_mod_CFLAGS): likewise
9244
a9966eb1 92452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9246
473d1e45 9247 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 9248 compensate a compiler bug
9249
9e7100fb 92502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9251
473d1e45 9252 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 9253 instead of '\b'
473d1e45 9254
ede21d71 92552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 Definitions for creating asm symbols with Apple's CC
9258
9259 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
9260 [APPLE_CC] (VARIABLE): likewise
9261
9dbf7653 92622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Disable lnxboot.img when compiled
9265 with Apple's CC
9266
9267 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
9268 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
9269 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
9270 [! APPLE_CC] (CODE_LENG): skip
9271 [! APPLE_CC] (setup_sects): likewise
9272 [! APPLE_CC]: skip filling
473d1e45 9273
e93cdc3d 92742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Address in trampolines based on 32-bit registers when compiled
9277 with Apple's CC
9278
473d1e45 9279 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 9280 for addresses
9281 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
9282
6c688477 92832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Avoid aliases when compiling with Apple's CC for PCBIOS machine
9286
9287 * kern/misc.c [APPLE_CC] (memcpy): new function
9288 [APPLE_CC] (memmove): likewise
9289 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 9290 (memcpy): define alias conditionally on !APPLE_CC
6c688477 9291 (memset): likewise
9292 (abort): likewise
9293 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
9294 APPLE_CC are defined
9295 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
9296 (grub_assert_fail): make prototype conditional
9297
e37ffc5c 92982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
9301
473d1e45 9302 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
9303 grub-macho2img
e37ffc5c 9304 (CLEANFILES): add grub-macho2img
9305 (grub_macho2img_SOURCES): new variable
9306 * kern/i386/pc/startup.S (bss_start): new variable
9307 (bss_end): likewise
9308 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
9309 * util/grub-macho2img.c: new file
9310
cf00df31 93112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 Use objconv when compiling with Apple's CC
9314
9315 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
9316 (efiemu64.o): likewise
9317 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
9318 when compiling with Apple's CC
9319 (efiemu64_s.o): likewise
9320 * configure.ac: check for objconv when compiling with Apple's CC
9321 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 9322
d119a20c 93232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Define segment as well as section when compiling with
9326 Apple's CC
9327
9328 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
9329 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
9330 (efiemu_convert_pointer): likewise
9331 (efiemu_set_virtual_address_map): likewise
9332 (efiemu_convert_pointer): likewise
9333 (efiemu_getcrc32): likewise
9334 (init_crc32_table): likewise
9335 (reflect): likewise
9336 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
9337 (GRUB_MOD_DEP): likewise
473d1e45 9338
c8600122 93392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Allow a compilation without -mcmodel=large
9342
9343 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
9344 when compiled without -mcmodel=large
473d1e45 9345 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 9346 without -mcmodel=large
473d1e45 9347 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 9348 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 9349
e8df1d4e 93502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 Remove nested functions in efiemu core
9353
9354 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 9355
cc6c3ac1 93562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
9359
9360 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
9361 temporary storage
473d1e45 9362 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
9363 using Apple's CC
cc6c3ac1 9364 (grub_cpu_is_tsc_supported): likewise
9365 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 9366
3e325901 93672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 Absolute addressing through constant with Apple's cc
9370
9371 * kern/i386/pc/startup.S: Define necessary constants
9372 and address through it when using ABS with Apple's CC
9373 * boot/i386/pc/diskboot.S: likewise
9374 * boot/i386/pc/boot.S: likewise
9375 * boot/i386/pc/lnxboot.S: likewise
9376 * boot/i386/pc/cdboot.S: likewise
9377 * mmap/i386/pc/mmap_helper.S: likewise
9378 * commands/i386/pc/drivemap_int13h.S: likewise
9379
2b167a72 93802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Check if compiler is apple cc
9383
9384 * Makefile.in (ASFLAGS): new variable
9385 (TARGET_ASFLAGS): likewise
9386 (TARGET_MODULE_FORMAT): likewise
9387 (TARGET_APPLE_CC): likewise
9388 (OBJCONV): likewise
9389 (TARGET_IMG_CFLAGS): likewise
9390 (TARGET_CPPFLAGS): add includedir
9391 * configure.ac: call grub_apple_cc and grub_apple_target_cc
9392 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
9393 Check for linker script only if compiler isn't Apple's CC
9394 (TARGET_MODULE_FORMAT): set
9395 (TARGET_APPLE_CC): likewise
9396 (TARGET_ASFLAGS): likewise
9397 (ASFLAGS): likewise
9398 Check for objcopy only if compiler isn't Apple's CC
9399 Check for BSS symbol only if compiler isn't Apple's CC
9400 * genmk.rb: adapt nm options if we use Apple's utils
9401 * aclocal.m4 (grub_apple_cc): new test
9402 (grub_apple_target_cc): likewise
473d1e45 9403
fb14123e 94042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Simplify sed expressions and improve awk
9407
9408 * Makefile.in (install-local): simplify sed expression
9409 * gencmdlist.sh: likewise
9410 * genmoddep.awk: avoid adding module as a dependency of itself
9411
5b889789 94122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Add missing start symbols
9415
9416 * boot/i386/pc/boot.S: add start
fb14123e 9417 * boot/i386/pc/pxeboot.S: likewise
473d1e45 9418
fd2bf2e3 94192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 9422
9423 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 9424 (relocate_addresses): consider both r_addend and value at offset
9425 (make_mods_section): zerofill modinfo and header
9426 (convert_elf): write prefix here
473d1e45 9427
5389763d 94282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 Use .asciz instead of .string
9431
9432 * i386/pc/diskboot.S: use .asciz instead of .string
9433 * i386/pc/boot.S: likewise
9434 * include/grub/dl.h (GRUB_MOD_DEP): likewise
9435 (GRUB_MOD_NAME): likewise
473d1e45 9436
3eb5ed4e 94372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 gfxpayload support
9440
9441 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
9442 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
9443 (grub_video_setup): remove
9444 (grub_video_set_mode): new prototype
9445 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
9446 (vid_mode): remove
9447 (linux_vesafb_res): compile only on PCBIOS
9448 (grub_linux_boot): support gfxpayload
9449 * loader/i386/pc/xnu.c (video_hook): new function
9450 (grub_xnu_set_video): support gfxpayload
9451 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
9452 (DEFAULT_VIDEO_HEIGHT): likewise
9453 (DEFAULT_VIDEO_FLAGS): likewise
9454 (DEFAULT_VIDEO_MODE): new definition
9455 (video_hook): new function
9456 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 9457 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 9458 loading xnu
9459 * video/video.c (grub_video_setup): removed
473d1e45 9460 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 9461 grub_video_setup
9462
4b0e1143 94632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 Avoid calling biosdisk in drivemap
9466
9467 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
9468 (revparse_biosdisk): likewise
9469 (list_mappings): derive name from id directly
9470 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 9471
fda6cb98 94722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Script fixes
9475
9476 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
9477 (grub_lexer_param): add tokenonhold
9478 (grub_script_create_cmdline): remove cmdline. All callers updated
9479 (grub_script_function_create): make functionname
9480 grub_script_arg. All callers updated
9481 (grub_script_execute_argument_to_string): new prototype
9482 * kern/parser.c (state_transitions): reorder
9483 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 9484 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 9485 make global
9486 (grub_script_execute_cmdline): use new format
9487 * script/sh/function.c (grub_script_function_create): make functionname
9488 grub_script_arg. All callers updated
473d1e45 9489 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 9490 (grub_script_yylex): remove
9491 (grub_script_yylex2): renamed to ...
9492 (grub_script_yylex): ...renamed
9493 parse the expressions like a${b}c
9494 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
9495 (GRUB_PARSER_TOKEN_VAR): remove
9496 (GRUB_PARSER_TOKEN_NAME): likewise
9497 ("if"): declare as typeless
9498 ("while"): likewise
9499 ("function"): likewise
9500 ("else"): likewise
9501 ("then"): likewise
9502 ("fi"): likewise
9503 (text): remove
9504 (argument): likewise
9505 (script): accept empty scripts and make exit on error
9506 (arguments): use GRUB_PARSER_TOKEN_ARG
9507 (function): likewise
9508 (command): move error handling to script
9509 (menuentry): move grub_script_lexer_ref before
473d1e45 9510 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 9511 argument. All callers updated
9512
f4448a07 95132009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9514
9515 Prevent GRUB from probing floppies during boot.
9516
9517 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
9518 * commands/search.c (options): Add --no-floppy.
9519 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
9520 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
9521 --no-floppy when searching for UUIDs.
9522
2bf5885a 95232009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9524
9525 Simplify the code duplication in commands/search.c.
9526
9527 * commands/search.c (search_label, search_fs_uuid): Merge into ...
9528 (search_fs): ... this. Update all users.
9529
f6fd460a 95302009-06-03 Felix Zielcke <fzielcke@z-51.de>
9531
9532 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
9533
cbb3c83e 95342009-05-28 Pavel Roskin <proski@gnu.org>
9535
57788cfd 9536 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
9537 Remove the original symlink explicitly.
9538
cbb3c83e 9539 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
9540 just one slash. That's how grub_fshelp_find_file() does it.
9541
cd0d5e30 95422009-05-26 Pavel Roskin <proski@gnu.org>
9543
f0f8bbe2 9544 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
9545 to `str'.
9546
cd0d5e30 9547 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
9548 possibly unused.
9549
8c2cab51 95502009-05-25 Christian Franke <franke@computer.org>
9551
9552 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
9553 register.
9554 (grub_atapi_identify): Add wait after drive select.
9555 (grub_ata_identify): Do more strict status register check before
9556 calling grub_atapi_identify (). Suppress error message if status
9557 register is 0x00 after command failure. Add status register
9558 check after PIO read to avoid bogus identify due to stuck DRQ.
9559 Thanks to Pavel Roskin for testing.
9560 (grub_device_initialize): Remove unsafe status register check.
9561 Thanks to 'phcoder' for problem report and patch.
9562 Prevent sign extension in debug message.
9563
230c0ad6 95642009-05-23 Colin D Bennett <colin@gibibit.com>
9565
9566 Cleaned up `include/grub/normal.h'. Grouped prototypes by
9567 definition file, and functions defined in `normal/menu.c' have had
9568 their prototypes moved to `include/grub/menu.h' for consistency.
9569
9570 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
9571 from normal.h.
9572 (grub_menu_get_entry): Likewise.
9573 (grub_menu_get_timeout): Likewise.
9574 (grub_menu_set_timeout): Likewise.
9575 (grub_menu_execute_entry): Likewise.
9576 (grub_menu_execute_with_fallback): Likewise.
9577 (grub_menu_entry_run): Likewise.
9578
9579 * include/grub/normal.h: Re-ordered and grouped function
9580 prototypes by file that the function is defined in.
9581 (grub_menu_execute_callback): Removed; moved to menu.h.
9582 (grub_menu_get_entry): Likewise.
9583 (grub_menu_get_timeout): Likewise.
9584 (grub_menu_set_timeout): Likewise.
9585 (grub_menu_execute_entry): Likewise.
9586 (grub_menu_execute_with_fallback): Likewise.
9587 (grub_menu_entry_run): Likewise.
9588 (grub_menu_addentry): Renamed from this ...
9589 (grub_normal_add_menu_entry): ... to this.
9590
9591 * normal/main.c (grub_menu_addentry): Renamed from this ...
9592 (grub_normal_add_menu_entry): ... to this.
9593
9594 * script/sh/execute.c (grub_script_execute_menuentry): Update
9595 reference to renamed grub_menu_addentry function.
9596
861f03a5 95972009-05-23 Felix Zielcke <fzielcke@z-51.de>
9598
9599 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
9600
96b1619a 96012009-05-22 Pavel Roskin <proski@gnu.org>
9602
bf6a5fb2 9603 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
9604 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
9605 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
9606 compiling for the i386 targets, but not for the utilities.
9607
96b1619a 9608 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
9609 to grub_uint8_t.
9610 (grub_root_drive): Likewise.
9611 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
9612 remove alignment.
9613 (grub_root_drive): Change size to byte.
9614 (grub_start_addr): Remove.
9615 (grub_end_addr): Likewise.
9616 (grub_apm_bios_info): Likewise.
9617
b729776b 96182009-05-21 Felix Zielcke <fzielcke@z-51.de>
9619
9620 * normal/i386: Remove.
9621 * normal/powerpc: Likewise.
9622 * normal/sparc64: Likewise.
9623 * normal/x86_64: Likewise.
9624
0a15ce80 96252009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 9628 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 9629 * loader/i386/xnu_helper.S: Likewise
d6da58e6 9630
33db9015 96312009-05-18 Colin D Bennett <colin@gibibit.com>
9632
d6da58e6 9633 Display error messages when parsing a Lua statement fails.
9634 Previously, executing a syntactically invalid statement like
9635 ")foo" or "bar;" would silently fail.
33db9015 9636
9637 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 9638 (grub_lua_parse_line): Improved reporting of Lua parser and
9639 execution errors.
33db9015 9640
46422c89 96412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 Remove -Werror which causes build to fail on some systems
9644
9645 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
9646 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
9647 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 9648
22f53a96 96492009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 trampoline for linux on 64-bit platform
9652
18f547ad 9653 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
9654 loader/i386/efi/linux_trampoline.S
9655 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 9656 declaration
d6da58e6 9657 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
9658 here
22f53a96 9659 * loader/i386/linux_trampoline.S: moved here
d6da58e6 9660 * loader/i386/efi/linux.c (allocate_pages): reserve space for
9661 trampoline
22f53a96 9662 (jumpvector): removed
9663 (grub_linux_trampoline_start): new declaration
9664 (grub_linux_trampoline_end): likewise
9665 (grub_linux_boot): use trampoline when on 64-bit platform
9666 * loader/i386/linux.c: likewise
9667
cb5a0f40 96682009-05-16 Pavel Roskin <proski@gnu.org>
9669
9670 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
9671 const to avoid a warning.
9672 (grub_lua_setenv): Likewise.
9673 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
9674 lmsg to fix a warning.
9675
334f2c28 96762009-05-16 Felix Zielcke <fzielcke@z-51.de>
9677
9678 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 9679 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9680 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
9681 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9682 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9683 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9684 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9685 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 9686
59e5d3ec 96872009-05-16 Felix Zielcke <fzielcke@z-51.de>
9688
9689 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
9690
9d87a1ba 96912009-05-16 Bean <bean123ch@gmail.com>
9692
9693 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
9694 (lua_mod_SOURCES): New variable.
9695 (lua_mod_CFLAGS): Likewise.
9696 (lua_mod_LDFLAGS): Likewise.
9697
9698 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
9699 (setjmp_mod_SOURCES): New variable.
9700 (setjmp_mod_CFLAGS): Likewise.
9701 (setjmp_LDFLAGS): Likewise.
9702
9703 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
9704 (setjmp_mod_SOURCES): New variable.
9705 (setjmp_mod_CFLAGS): Likewise.
9706 (setjmp_LDFLAGS): Likewise.
9707
9708 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9709 (setjmp_mod_SOURCES): New variable.
9710 (setjmp_mod_CFLAGS): Likewise.
9711 (setjmp_LDFLAGS): Likewise.
9712
9713 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9714 (setjmp_mod_SOURCES): New variable.
9715 (setjmp_mod_CFLAGS): Likewise.
9716 (setjmp_LDFLAGS): Likewise.
9717
9718 * normal/i386/setjmp.S: Moved from here ...
9719 * lib/i386/setjmp.S: ... Moved here
9720 * normal/x86_64/setjmp.S: Moved from here ...
9721 * lib/x86_64/setjmp.S: ... Moved here
9722 * normal/powerpc/setjmp.S: Moved from here ...
9723 * lib/powerpc/setjmp.S: ... Moved here
9724 * normal/sparc64/setjmp.S: Moved from here ...
9725 * lib/sparc64/setjmp.S: ... Moved here
9726
9727 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
9728 returns_twice in mingw.
9729
9730 * script/lua/grub_lib.c: New file.
9731 * script/lua/grub_lib.h: Likewise.
9732 * script/lua/grub_lua.h: Likewise.
9733 * script/lua/grub_main.c: Likewise.
9734 * script/lua/lapi.c: Likewise.
9735 * script/lua/lapi.h: Likewise.
9736 * script/lua/lauxlib.c: Likewise.
9737 * script/lua/lauxlib.h: Likewise.
9738 * script/lua/lbaselib.c: Likewise.
9739 * script/lua/lcode.c: Likewise.
9740 * script/lua/lcode.h: Likewise.
9741 * script/lua/ldblib.c: Likewise.
9742 * script/lua/ldebug.c: Likewise.
9743 * script/lua/ldebug.h: Likewise.
9744 * script/lua/ldo.c: Likewise.
9745 * script/lua/ldo.h: Likewise.
9746 * script/lua/ldump.c: Likewise.
9747 * script/lua/lfunc.c: Likewise.
9748 * script/lua/lfunc.h: Likewise.
9749 * script/lua/lgc.c: Likewise.
9750 * script/lua/lgc.h: Likewise.
9751 * script/lua/linit.c: Likewise.
9752 * script/lua/liolib.c: Likewise.
9753 * script/lua/llex.c: Likewise.
9754 * script/lua/llex.h: Likewise.
9755 * script/lua/llimits.h: Likewise.
9756 * script/lua/lmathlib.c: Likewise.
9757 * script/lua/lmem.c: Likewise.
9758 * script/lua/lmem.h: Likewise.
9759 * script/lua/loadlib.c: Likewise.
9760 * script/lua/lobject.c: Likewise.
9761 * script/lua/lobject.h: Likewise.
9762 * script/lua/lopcodes.c: Likewise.
9763 * script/lua/lopcodes.h: Likewise.
9764 * script/lua/loslib.c: Likewise.
9765 * script/lua/lparser.c: Likewise.
9766 * script/lua/lparser.h: Likewise.
9767 * script/lua/lstate.c: Likewise.
9768 * script/lua/lstate.h: Likewise.
9769 * script/lua/lstring.c: Likewise.
9770 * script/lua/lstring.h: Likewise.
9771 * script/lua/lstrlib.c: Likewise.
9772 * script/lua/ltable.c: Likewise.
9773 * script/lua/ltable.h: Likewise.
9774 * script/lua/ltablib.c: Likewise.
9775 * script/lua/ltm.c: Likewise.
9776 * script/lua/ltm.h: Likewise.
9777 * script/lua/lua.h: Likewise.
9778 * script/lua/luaconf.h: Likewise.
9779 * script/lua/lualib.h: Likewise.
9780 * script/lua/lundump.c: Likewise.
9781 * script/lua/lundump.h: Likewise.
9782 * script/lua/lvm.c: Likewise.
9783 * script/lua/lvm.h: Likewise.
9784 * script/lua/lzio.c: Likewise.
9785 * script/lua/lzio.h: Likewise.
9786
5e898c9d 97872009-05-16 Bean <bean123ch@gmail.com>
9788
9789 * include/grub/kernel.h (grub_module_header_types): Add type
9790 OBJ_TYPE_CONFIG.
9791
9792 * kern/main.c (grub_load_config): New function.
9793 (grub_main): Call grub_load_config to read boot config.
9794
9795 * grub-mkimage (generate_image): New parameter config_path.
9796 (options): New option --config.
9797 (main): Parse --config option, and pass it to generate_image.
9798
cf353a47 97992009-05-14 Christian Franke <franke@computer.org>
9800
9801 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9802 This fixes build on Cygwin.
9803
3834887f 98042009-05-14 Pavel Roskin <proski@gnu.org>
9805
9806 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9807 jump. This saves two bytes, so the typical case of 2 swapped
9808 drives would fit 32 bytes.
9809
8090fc01 98102009-05-13 Pavel Roskin <proski@gnu.org>
9811
ac963883 9812 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9813 grub_uint32_t to avoid a warning.
9814
8090fc01 9815 * loader/i386/linux.c (allocate_pages): When assigning
9816 real_mode_mem, cast through grub_size_t to fix a warning. The
9817 code already makes sure that the value would fit a pointer.
9818 (grub_linux_setup_video): Cast render_target->data to
9819 grub_size_t to fix a warning.
9820
18f547ad 98212009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 9822
9823 * commands/i386/pc/drivemap.c: New file - implement drivemap
9824 command.
9825 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9826 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9827
6f6a8b28 98282009-05-13 Pavel Roskin <proski@gnu.org>
9829
9830 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9831 embedding_area_exists.
9832
15fbf4c4 98332009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9834
9835 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9836 it easier to understand / work with.
59978c8a 9837 Improve warning messages for cases where there's no embedding area,
9838 or when it is too small (or core.img too large).
15fbf4c4 9839
238e871f 98402009-05-13 Pavel Roskin <proski@gnu.org>
9841
0ab3a9a4 9842 * loader/i386/pc/multiboot2.c: Add necessary includes for
9843 grub_multiboot2_real_boot().
9844
a2c8c5f8 9845 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9846 PX record is always little-endian. We only need the lower 2
9847 bytes of the mode.
9848
faec96af 9849 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9850 facilitate code reuse.
9851 (grub_cpio_mount): Use "struct head", not a char buffer. This
9852 fixes a warning reported by gcc 4.4.
9853
238e871f 9854 * kernel/disk.c (grub_disk_read): Use void pointer for the
9855 buffer.
9856 (grub_disk_write): Use const void pointer for the buffer.
9857 Adjust all callers. Remove unnecessary casts.
9858
901d2f0c 98592009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9860
9861 * util/i386/pc/grub-install.in: Update copyright year.
9862
18f547ad 98632009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9864
9865 gptsync
9866
9867 * commands/gptsync.c: new file
9868 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9869 (gptsync_mod_SOURCES): new variable
9870 (gptsync_mod_CFLAGS): likewise
9871 (gptsync_mod_LDFLAGS): likewise
18f547ad 9872 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9873 new definition
9874 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9876 * conf/i386-ieee1275.rmk: likewise
9877 * conf/i386-pc.rmk: likewise
9878 * conf/powerpc-ieee1275.rmk: likewise
9879
b4ba690a 98802009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 Fixed grub-emu
9883
9884 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9885 (grub_dl_ref): likewise
9886
317e1a44 98872009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9888
9889 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9890 split in two functions (one for msdos and one for gpt).
9891
041b8094 98922009-05-08 Pavel Roskin <proski@gnu.org>
9893
752473c2 9894 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9895 not modified.
9896
041b8094 9897 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9898 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9899 Initialize them with -1. Add sanity check for bad1. Eliminate
9900 nerr variable.
9901
172800ce 99022009-05-08 David S. Miller <davem@davemloft.net>
9903
9904 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9905
29aa5e81 99062009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9907
9908 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9909 existence.
29aa5e81 9910
96613b62 99112009-05-05 Felix Zielcke <fzielcke@z-51.de>
9912
9913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9914 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9915
eef73c8a 99162009-05-05 David S. Miller <davem@davemloft.net>
9917
9918 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9919
119494b5 99202009-05-05 Pavel Roskin <proski@gnu.org>
9921
9922 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9923 of grub_dl_ref() and grub_dl_unref().
9924 * commands/parttool.c: Remove preprocessor conditionals around
9925 grub_dl_ref() and grub_dl_unref().
9926 * fs/affs.c: Likewise.
9927 * fs/afs.c: Likewise.
9928 * fs/cpio.c: Likewise.
9929 * fs/ext2.c: Likewise.
9930 * fs/fat.c: Likewise.
9931 * fs/hfs.c: Likewise.
9932 * fs/hfsplus.c: Likewise.
9933 * fs/iso9660.c: Likewise.
9934 * fs/jfs.c: Likewise.
9935 * fs/minix.c: Likewise.
9936 * fs/ntfs.c: Likewise.
9937 * fs/reiserfs.c: Likewise.
9938 * fs/sfs.c: Likewise.
9939 * fs/udf.c: Likewise.
9940 * fs/ufs.c: Likewise.
9941 * fs/xfs.c: Likewise.
9942 * include/grub/dl.h: Likewise.
9943 * loader/xnu.c: Likewise.
9944
de5fd76e 99452009-05-04 Pavel Roskin <proski@gnu.org>
9946
9947 * commands/acpi.c: Remove unused variable my_mod.
9948 * partmap/amiga.c: Likewise.
9949 * partmap/apple.c: Likewise.
9950 * partmap/gpt.c: Likewise.
9951 * partmap/pc.c: Likewise.
9952 * partmap/sun.c: Likewise.
9953 * term/gfxterm.c: Likewise.
9954 * term/i386/pc/vesafb.c: Likewise.
9955 * term/i386/pc/vga.c: Likewise.
9956
983598ad 99572009-05-04 David S. Miller <davem@davemloft.net>
9958
9959 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9960 pointer args to grub_ieee1275_get_property().
9961
8aadec43 9962 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9963
9554b15e 9964 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9965 devices, and do not traverse down under controller nodes.
9966
67e23c90 9967 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9968 (grub_ofdisk_open): Use it to un-escape "," characters.
9969 * kern/disk.c (find_part_sep): New.
9970 (grub_disk_open): Use it to find the first non-escaped ','
9971 character in the disk name.
9972 * util/ieee1275/devicemap.c (escape_of_path): New.
9973 (grub_util_emit_devicemap_entry): Use it.
9974 * util/sparc64/ieee1275/grub-install.in: Update script to
9975 strip partition specifiers properly by not triggering on
9976 '\' escaped ',' characters.
9977
74bfdd2f 99782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9979
9980 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9981 to 0x300.
9982 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9983 resolutions.
9984 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9985 on documentation from Wikipedia).
9986
4241d2b1 99872009-05-04 Pavel Roskin <proski@gnu.org>
9988
9989 * disk/ata.c: Spelling fixes.
9990 * disk/raid.c: Likewise.
9991 * disk/usbms.c: Likewise.
9992 * disk/dmraid_nvidia.c: Likewise.
9993 * kern/ieee1275/openfw.c: Likewise.
9994 * kern/ieee1275/init.c: Likewise.
9995 * kern/ieee1275/cmain.c: Likewise.
9996 * boot/i386/pc/cdboot.S: Likewise.
9997 * video/readers/png.c: Likewise.
9998 * video/i386/pc/vbe.c: Likewise.
9999 * fs/udf.c: Likewise.
10000 * fs/hfs.c: Likewise.
10001 * fs/reiserfs.c: Likewise.
10002 * efiemu/runtime/efiemu.c: Likewise.
10003 * efiemu/main.c: Likewise.
10004 * efiemu/mm.c: Likewise.
10005 * include/grub/elf.h: Likewise.
10006 * include/grub/xnu.h: Likewise.
10007 * include/grub/usbdesc.h: Likewise.
10008 * include/grub/usb.h: Likewise.
10009 * include/grub/script_sh.h: Likewise.
10010 * include/grub/lib/LzmaEnc.h: Likewise.
10011 * include/grub/efiemu/efiemu.h: Likewise.
10012 * include/grub/command.h: Likewise.
10013 * normal/menu.c: Likewise.
10014 * normal/main.c: Likewise.
10015 * normal/datetime.c: Likewise.
10016 * bus/usb/uhci.c: Likewise.
10017 * mmap/i386/uppermem.c: Likewise.
10018 * mmap/mmap.c: Likewise.
10019 * commands/acpi.c: Likewise.
10020 * commands/test.c: Likewise.
10021 * partmap/apple.c: Likewise.
10022 * font/font.c: Likewise.
10023 * loader/sparc64/ieee1275/linux.c: Likewise.
10024 * loader/macho.c: Likewise.
10025 * loader/i386/bsd_trampoline.S: Likewise.
10026 * loader/i386/bsd.c: Likewise.
10027 * loader/xnu.c: Likewise.
10028 * term/i386/pc/vesafb.c: Likewise.
10029 * term/usb_keyboard.c: Likewise.
10030 * util/resolve.c: Likewise.
10031 * util/getroot.c: Likewise.
10032
0cfc0083 100332009-05-04 Felix Zielcke <fzielcke@z-51.de>
10034
10035 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
10036
7c1d00cd 100372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10038
10039 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
10040 build error.
10041
b01f0548 100422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10043
10044 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
10045 parameter only available on BIOS.
10046
ecc3eb22 100472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Removed wrong semicolon in declaration
10050
10051 * grub/misc.h (grub_dprintf): remove semicolon
10052
112972a9 100532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10054
10055 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
10056 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
10057 is done by grub_cmd_linux() now).
10058 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
10059 restore video to text mode.
10060 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
10061 indicates lack of "vga=" parameter. "vga=0" is mapped to
10062 `GRUB_LINUX_VID_MODE_NORMAL'.
10063
afd5c115 100642009-05-04 Felix Zielcke <fzielcke@z-51.de>
10065
10066 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
10067 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
10068 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 10069 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 10070 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
10071 `grub_script.tab.c'.
10072
10073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10074 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10077 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10078
faa517ce 10079 * Makefile.in: Remove duplicated 2008 in Copyright line.
10080
ae0c0bdc 100812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10082
473d1e45 10083 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 10084 unconditionally.
10085 * include/grub/util/misc.h (grub_util_warn): New declaration.
10086
10087 * util/i386/pc/grub-install.in: Understand --force and pass it down
10088 to grub-setup.
10089
10090 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
10091 down to setup().
10092 (setup): Improve error messages and add warnings when requested to
10093 install in odd layouts. Refuse to install using blocklists unless
10094 --force was set.
10095
18f547ad 100962009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 10097
10098 * disk/raid.c (grub_raid_scan_device): Improve debug message.
10099
6d260daa 101002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 Updated copyright year
10103
10104 * fs/hfsplus.c: updated copyright year
18f547ad 10105
69f853f8 101062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 HFS+ UUID
10109
18f547ad 10110 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 10111 in the space previously used by unused3
10112 (grub_hfsplus_uuid): new function
10113 (grub_hfsplus_fs): added uuid field
10114
4c402e73 101152009-05-03 Pavel Roskin <proski@gnu.org>
10116
10117 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
10118 suppress warnings. It's no longer needed.
10119 * disk/host.c: Likewise.
10120 * disk/ata_pthru.c: Likewise.
10121 * disk/loopback.c: Likewise.
10122 * hook/datehook.c: Likewise.
10123 * parttool/pcpart.c: Likewise.
10124 * fs/i386/pc/pxe.c: Likewise.
10125 * fs/ntfscomp.c: Likewise.
10126 * efiemu/main.c: Likewise.
10127 * mmap/mmap.c: Likewise.
10128 * commands/crc.c: Likewise.
10129 * commands/hexdump.c: Likewise.
10130 * commands/hdparm.c: Likewise.
10131 * commands/acpi.c: Likewise.
10132 * commands/echo.c: Likewise.
10133 * commands/minicmd.c: Likewise.
10134 * commands/blocklist.c: Likewise.
10135 * commands/memrw.c: Likewise.
10136 * commands/loadenv.c: Likewise.
10137 * commands/usbtest.c: Likewise.
10138 * commands/lsmmap.c: Likewise.
10139 * commands/boot.c: Likewise.
10140 * commands/parttool.c: Likewise.
10141 * commands/configfile.c: Likewise.
10142 * commands/search.c: Likewise.
10143 * commands/ieee1275/suspend.c: Likewise.
10144 * commands/cat.c: Likewise.
10145 * commands/i386/pc/pxecmd.c: Likewise.
10146 * commands/i386/pc/play.c: Likewise.
10147 * commands/i386/pc/halt.c: Likewise.
10148 * commands/i386/pc/vbeinfo.c: Likewise.
10149 * commands/i386/pc/vbetest.c: Likewise.
10150 * commands/lspci.c: Likewise.
10151 * commands/date.c: Likewise.
10152 * commands/handler.c: Likewise.
10153 * commands/ls.c: Likewise.
10154 * commands/test.c: Likewise.
10155 * commands/cmp.c: Likewise.
10156 * commands/efi/loadbios.c: Likewise.
10157 * commands/efi/fixvideo.c: Likewise.
10158 * commands/halt.c: Likewise.
10159 * commands/help.c: Likewise.
10160 * commands/reboot.c: Likewise.
10161 * hello/hello.c: Likewise.
10162 * script/sh/main.c: Likewise.
10163 * loader/xnu.c: Likewise.
10164 * term/terminfo.c: Likewise.
10165 * term/i386/pc/serial.c: Likewise.
10166 * term/usb_keyboard.c: Likewise.
10167
515b5079 101682009-05-03 David S. Miller <davem@davemloft.net>
10169
10170 * normal/menu.c: Include grub/parser.h
10171
dfc31a22 101722009-05-03 Pavel Roskin <proski@gnu.org>
10173
2fee74f1 10174 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
10175 not char*.
10176 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
10177 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
10178
dfc31a22 10179 * util/i386/pc/grub-mkrescue.in: Allow for the case when
10180 efiemu??.o doesn't exist.
10181 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
10182 copying.
10183
18f547ad 101842009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 10185
10186 FreeBSD 64-bit support
10187
18f547ad 10188 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 10189 and loader/i386/bsd_trampoline.S
10190 (bsd_mod_ASFLAGS): new variable
10191 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
10192 (FREEBSD_MODTYPE_KERNEL64): likewise
10193 (grub_bsd64_trampoline_start): likewise
10194 (grub_bsd64_trampoline_end): likewise
10195 (grub_bsd64_trampoline_selfjump): likewise
10196 (grub_bsd64_trampoline_gdt): likewise
10197 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
10198 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
10199 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
10200 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 10201 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 10202 of "attrib" member
10203 * loader/i386/bsd_pagetable.c: new file
10204 * loader/i386/bsd_trampoline.S: likewise
10205 * loader/i386/bsd.c (ALIGN_QWORD): new macro
10206 (ALIGN_VAR): likewise
10207 (entry_hi): new variable
10208 (kern_end_mdofs): likewise
10209 (is_64bit): likewise
10210 (grub_freebsd_add_meta): use ALIGN_VAR
10211 (grub_e820_mmap): new declaration
10212 (grub_freebsd_add_mmap): new function
10213 (grub_freebsd_add_meta_module): support 64 bit kernels
10214 (grub_freebsd_list_modules): use ALIGN_VAR
10215 (gdt_descriptor): new declaration
10216 (grub_freebsd_boot): support 64 bit kernels
10217 (grub_bsd_elf64_hook): new function
10218 (grub_bsd_load_elf): support elf64
10219
038c5720 102202009-05-03 Bean <bean123ch@gmail.com>
10221
10222 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
10223 after we get the result of if statement.
10224
fc45fb58 102252009-05-03 Bean <bean123ch@gmail.com>
10226
10227 * Makefile.in (enable_efiemu): New variable.
10228
10229 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
10230 set.
10231 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
10232 path.
10233 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
10234 path, add -mno-red-zone option.
10235 (efiemu64_s.o): Likewise.
10236 (efiemu64.o): Use macro $^ for source file.
10237
10238 * configure.ac (--enable-efiemu): New option.
10239
bbee0f2b 102402009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 xnu support
10243
10244 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
10245 (pkglib_MODULES): add xnu.mod
10246 (xnu_mod_SOURCES): new variable
10247 (xnu_mod_CFLAGS): likewise
10248 (xnu_mod_LDFLAGS): likewise
10249 (xnu_mod_ASFLAGS): likewise
10250 * conf/i386-pc.rmk: likewise
10251 * conf/x86_64-efi.rmk: likewise
7dd4a573 10252 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 10253 new declaration
10254 * include/grub/i386/macho.h: new file
10255 * include/grub/i386/xnu.h: likewise
10256 * include/grub/macho.h: likewise
10257 * include/grub/machoload.h: likewise
10258 * include/grub/x86_64/macho.h: likewise
10259 * include/grub/x86_64/xnu.h: likewise
10260 * include/grub/xnu.h: likewise
10261 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
10262 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
10263 * loader/i386/efi/xnu.c: new file
10264 * loader/i386/pc/xnu.c: likewise
10265 * loader/i386/xnu.c: likewise
10266 * loader/i386/xnu_helper.S: likewise
10267 * loader/macho.c: likewise
10268 * loader/xnu.c: likewise
10269 * loader/xnu_resume.c: likewise
10270 * util/grub-dumpdevtree: likewise
10271 * include/grub/i386/pit.h: include grub/err.h
10272 (grub_pit_wait): export
10273 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 10274
5caf964d 102752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 Efiemu
7dd4a573 10278
5caf964d 10279 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 10280 _linux_efi, linux_efi.
10281 new files in grub-emu
5caf964d 10282 new targets efiemu32.o and efiemu64.o
10283 * loader/linux_normal_efiemu.c: likewise
10284 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 10285 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 10286 files to copy
10287 * include/grub/autoefi.h: new file
7dd4a573 10288 * include/grub/i386/efiemu.h: likewise
5caf964d 10289 * include/grub/i386/pc/efiemu.h: likewise
10290 * include/grub/efi/api.h: add LL suffix when necessary
10291 new definitions relating to tables
10292 * include/grub/efiemu/efiemu.h: new file
10293 * include/grub/efiemu/runtime.h: likewise
10294 * efiemu/prepare.c: likewise
10295 * efiemu/loadcore_common.c: likewise
10296 * efiemu/loadcore64.c: likewise
10297 * efiemu/runtime/efiemu.sh: likewise
10298 * efiemu/runtime/efiemu.S: likewise
10299 * efiemu/runtime/efiemu.c: likewise
10300 * efiemu/runtime/config.h: likewise
10301 * efiemu/prepare32.c: likewise
10302 * efiemu/main.c: likewise
10303 * efiemu/modules/pnvram.c: likewise
10304 * efiemu/modules/i386: likewise
10305 * efiemu/modules/i386/pc: likewise
10306 * efiemu/modules/acpi.c: likewise
10307 * efiemu/i386/pc/cfgtables.c: likewise
10308 * efiemu/i386/loadcore64.c: likewise
10309 * efiemu/i386/loadcore32.c: likewise
10310 * efiemu/prepare64.c: likewise
10311 * efiemu/loadcore.c: likewise
10312 * efiemu/symbols.c: likewise
10313 * efiemu/mm.c: likewise
10314 * efiemu/loadcore32.c: likewise
7dd4a573 10315
103162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 10317
10318 ACPI spoofing
10319
10320 * commands/acpi.c: new file
10321 * commands/i386/pc/acpi.c: likewise
10322 * commands/efi/acpi.c: likewise
10323 * include/grub/acpi.h: likewise
10324 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
10325 (acpi_mod_SOURCES): new variable
10326 (acpi_mod_CFLAGS): likewise
10327 (acpi_mod_LDFLAGS): likewise
10328 * conf/i386-efi.rmk: likewise
10329 * conf/x86_64-efi.rmk: likewise
10330
7dd4a573 103312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 10332
10333 Missing part from mmap patch
10334
10335 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
10336 (grub_mmap_unregister)
10337 (grub_mmap_free_and_unregister): use grub_mmap_register
10338
7dd4a573 103392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 10340
10341 Mmap services
10342
10343 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
10344 * loader/i386/linux.c (find_mmap_size): likewise
10345 (allocate_pages): likewise
10346 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
10347 (grub_fill_multiboot_mmap): likewise
10348 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
10349 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
10350 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
10351 (OPENBSD_MMAP_RESERVED): likewise
10352 * include/grub/i386/pc/memory.h: include grub/memory.h
10353 (grub_lower_mem): removed
10354 (grub_upper_mem): likewise
10355 (GRUB_MACHINE_MEMORY_ACPI): new definition
10356 (GRUB_MACHINE_MEMORY_NVS): likewise
10357 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
10358 (GRUB_MACHINE_MEMORY_HOLE): likewise
10359 (grub_machine_mmap_register): likewise
10360 (grub_machine_mmap_unregister): likewise
10361 (grub_machine_get_upper): likewise
10362 (grub_machine_get_lower): likewise
10363 (grub_machine_get_post64): likewise
10364 * include/grub/i386/efi/memory.h: new file
10365 * include/grub/x86_64/efi/memory.h: likewise
10366 * include/grub/efi/memory.h: likewise
10367 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
10368 (mmap_mod_SOURCES): new variable
10369 (mmap_mod_LDFLAGS): likewise
10370 (mmap_mod_ASFLAGS): likewise
10371 * conf/i386-coreboot.rmk: likewise
10372 * conf/i386-ieee1275.rmk: likewise
10373 * conf/i386-efi.rmk: likewise
10374 * conf/x86_64-efi.rmk: likewise
10375 * include/grub/types.h (UINT_TO_PTR): new macro
10376 (PTR_TO_UINT32): likewise
10377 (PTR_TO_UINT64): likewise
10378 * include/grub/memory.h: new file
10379 * mmap/i386/pc/mmap.c: likewise
10380 * mmap/i386/pc/mmap_helper.S: likewise
10381 * mmap/i386/uppermem.c: likewise
10382 * mmap/mmap.c: likewise
10383 * mmap/efi/mmap.c: likewise
7dd4a573 10384 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 10385 grub_upper_mem
10386 * kern/i386/pc/init.c (grub_lower_mem): removed variable
10387 (grub_upper_mem): likewise
10388 (grub_machine_init): don't use grub_upper_mem,
10389 make grub_lower_mem local
10390 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
10391 grub_mmap_iterate and grub_mmap_get_upper
10392 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
10393
d558e6b5 103942009-05-02 Bean <bean123ch@gmail.com>
10395
10396 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
10397 script/sh/parser.y.
10398 (pkglib_MODULES): Add normal.mod and sh.mod.
10399 (normal_SOURCES): New variable.
10400 (normal_mod_CFLAGS): Likewise.
10401 (normal_mod_LDFLAGS): Likewise.
10402 (sh_mod_SOURCES): Likewise.
10403 (sh_mod_CFLAGS): Likewise.
10404 (sh_mod_LDFLAGS): Likewise.
10405
10406 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
10407 script/sh/lexer.c_DEPENDENCIES.
10408 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
10409 kern/rescue_reader.c and kern/rescue_parser.c.
10410 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
10411 (grub_emu_SOURCES): Change source files.
10412 (pkglib_MODULES): Remove normal.mod.
10413 (normal_SOURCES): Removed.
10414 (normal_mod_CFLAGS): Likewise.
10415 (normal_mod_LDFLAGS): Likewise.
10416 * conf/i386-coreboot.rmk: Likewise.
10417 * conf/i386-efi.rmk: Likewise.
10418 * conf/i386-ieee1276.rmk: Likewise.
10419 * conf/powerpc-ieee1275.rmk: Likewise.
10420 * conf/sparc64-ieee1275.rmk: Likewise.
10421 * conf/x86_64-efi.rmk: Likewise.
10422
10423 * include/grub/command.h (grub_command_execute): New inline function.
10424
10425 * include/grub/menu.h (grub_menu_entry): Removed commands field.
10426
10427 * include/grub/normal.h: Remove <grub/setjmp.h>.
10428 (grub_fs_module_list): Moved to normal/autofs.c.
10429 (grub_exit_env): Removed.
10430 (grub_command_execute): Likewise.
10431 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
10432 parameter script.
10433 (read_command_list): New function declaration.
10434 (read_fs_list): Likewise.
10435
10436 * include/parser.h: Include <grub/reader.h>.
10437 (grub_parser_split_cmdline): Change type of getline parameter.
10438 (grub_parser): New structure.
10439 (grub_parser_class): New variable.
10440 (grub_parser_execute): New function declaration.
10441 (grub_register_rescue_parser): Likewise.
10442 (grub_parser_register): New inline function.
10443 (grub_parser_unregister): Likewise.
10444 (grub_parser_get_current): Likewise.
10445 (grub_parser_set_current): Likewise.
10446
10447 * include/grub/reader.h: New file.
10448 * kern/reader.c: Likewise.
10449 * kern/rescue_parser.c: Likewise.
10450 * kern/rescue_reader.c: Likewise.
10451 * normal/autofs.c: Likewise.
10452 * normal/dyncmd.c: Likewise.
10453
10454 * include/grub/rescue.h: Removed.
10455 * normal/command.h: Likewise.
10456
10457 * include/grub/script.h: Moved to ...
10458 * include/grub/script_sh.h: ... Moved here.
10459 * normal/execute.c: Moved to ...
10460 * script/sh/execute.c: ... Moved here.
10461 * normal/function.c: Moved to ...
10462 * script/sh/function.c: ... Moved here.
10463 * normal/lexer.c: Moved to ...
10464 * script/sh/lexer.c: ... Moved here.
10465 * normal/parser.y: Moved to ...
10466 * script/sh/parser.y: ... Moved here.
10467 * normal/script.c: Moved to ...
10468 * script/sh/script.c: ... Moved here.
10469
10470 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
10471 <grub/reader.h>.
10472 (grub_exit_env): Removed.
10473 (fs_module_list): Moved to normal/autofs.c.
10474 (grub_file_getline): Don't handle comment here.
10475 (free_menu): Skip removed field entry->commands.
10476 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
10477 script parameter.
10478 (read_config_file): Removed nested parameter, change getline function.
10479 (grub_enter_normal_mode): Removed.
10480 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
10481 (read_command_list): Likewise.
10482 (autoload_fs_module): Moved to normal/autofs.c.
10483 (read_fs_list): Likewise.
10484 (reader_nested): New variable.
10485 (grub_normal_execute): Run parser.sh to switch to sh parser.
10486 (grub_cmd_rescue): Removed.
10487 (cmd_normal): Removed.
10488 (grub_cmd_normal): Unregister itself at the beginning. Don't register
10489 rescue command.
10490 (grub_cmdline_run): New function.
10491 (grub_normal_reader_init): Likewise.
10492 (grub_normal_read_line): Likewise.
10493 (grub_env_write_pager): Likewise.
10494 (cmdline): New variable.
10495 (grub_normal_reader): Likewise.
10496 (GRUB_MOD_INIT): Register normal reader and set as current, register
10497 pager hook, register normal command with grub_register_command_prio,
10498 so that it won't show up in command.lst.
10499 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
10500 grub_fs_autoload_hook.
10501
10502 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
10503 (grub_menu_execute_entry): Replace grub_script_execute with
10504 grub_parser_execute, change parameter to grub_command_execute.
10505
10506 * normal/menu_text.c: Remove <grub/script.h>.
10507
10508 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
10509 and <grub/parser.h>.
10510 (run): Change editor_getline to use new parser interface. Change
10511 parameter to grub_command_execute.
10512
10513 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
10514 <grub/reader.h> and <grub/parser.h>.
10515 (grub_load_normal_mode): Execute normal command.
10516 (grub_main): Call grub_register_core_commands,
10517 grub_register_rescue_parser and grub_register_rescue_reader, use
10518 grub_reader_loop to enter input loop.
10519
7dd4a573 10520 * kern/parser.c (grub_parser_split_cmdline): Change type of
10521 getline parameter.
d558e6b5 10522 (grub_parser_class): New variable.
10523 (grub_parser_execute): New function.
10524
10525 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
10526 * loader/multiboot2.c: Likewise.
10527 * loader/sparc64/ieee1275/linux.c: Likewise.
10528
10529 * util/grub-emu.c (read_command_list): New dummy function.
10530
18db813d 105312009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10532
10533 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
10534 count to 16 for CCISS and IDA.
10535
6c67de15 105362009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10537
10538 * normal/menu_text.c (grub_wait_after_message): Print a newline
10539 after waiting for user input.
10540
10541 * loader/i386/linux.c: Include `<grub/normal.h>'.
10542 (grub_cmd_linux): Improve the error message about `ask' mode, by
10543 waiting for user input so it's not missed (we can do this, since
10544 user requested interaction).
10545
d9dc87b0 105462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Added missing lst to grub-mkrescue
10549
10550 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
10551 and ${input_dir}/parttool.lst
10552
ac8a2baa 105532009-04-30 David S. Miller <davem@davemloft.net>
10554
ad22a610 10555 * util/hostdisk.c (device_is_wholedisk): New function.
10556 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
10557 zero only if device_is_wholedisk() returns true.
10558
6966215d 10559 * util/hostdisk.c (convert_system_partition_to_system_disk):
10560 Handle virtual disk devices named /dev/vdiskX as found on sparc
10561 and powerpc.
10562
ac8a2baa 10563 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
10564 lettered partition specifier is found, convert to numbered.
10565
979b4fb4 105662009-04-29 David S. Miller <davem@davemloft.net>
10567
e2bf39b2 10568 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
10569 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10570
3c64e104 10571 * normal/command.c: Add missing newline at end of file.
10572
979b4fb4 10573 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
10574 warnings.
10575 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
10576 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
10577 grub_ofdisk_read): Likewise, and deal similarly with the fact that
10578 ihandles have a 32-bit type but need to be stored in a "void *".
10579
136d9f82 105802009-04-28 Pavel Roskin <proski@gnu.org>
10581
9459c306 10582 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
10583 not disk. Adjust all dependencies.
2e08a26a 10584 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 10585 grub_disk_close().
10586
136d9f82 10587 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
10588 parent's partition, don't copy it by reference, as it gets freed
10589 on close.
10590
7dd4a573 105912009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 10592
10593 Preboot hooks support
10594
10595 * commands/boot.c (struct grub_preboot_t): new declaration
10596 (preboots_head): new variable
10597 (preboots_tail): likewise
10598 (grub_loader_register_preboot_hook): new function
10599 (grub_loader_unregister_preboot_hook): likewise
10600 (grub_loader_set): launch preboot hooks
10601 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
10602 (grub_loader_register_preboot_hook): new declaration
10603 (grub_loader_unregister_preboot_hook): likewise
10604
5af922b5 106052009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 Warning fix
10608
7dd4a573 10609 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 10610 calling grub_dprintf
10611
a5562c30 106122009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 Bug and warning fixes
10615
7dd4a573 10616 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 10617 declaration
10618 * commands/test.c (test_parse): fixed bug with file tests and corrected
10619 declaration of find_file
10620
4006f85c 106212009-04-26 Pavel Roskin <proski@gnu.org>
10622
10623 * Makefile.in: Don't install empty manual pages if help2man is
10624 missing. Use help2man option for output, not shell redirection.
10625
5c77c3de 106262009-04-26 David S. Miller <davem@davemloft.net>
10627
10628 * util/grub-mkdevicemap.c (make_device_map): Add missing
10629 NESTED_FUNC_ATTR to process_device().
10630
033b10a8 106312009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 Test command
10634
10635 * commands/test.c: rewritten to use bash-like test
10636
e4343593 106372009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 Parttool autoloading and improvements
10640
7dd4a573 10641 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 10642 (parttool.lst): new target
10643 * genmk.rb: generate parttool-*
10644 (CLEANFILES): add #{parttool}
10645 (PARTTOOLFILES): new variable
10646 * genparttoollist.sh: new file
7dd4a573 10647 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 10648 (grub_pcpart_type): likewise
10649 * commands/parttool.c (helpmsg): new variable
10650 (grub_cmd_parttool): output help if not enough arguments are supplied
10651 autoload modules
10652 (GRUB_MOD_INIT(parttool)): use helpmsg
10653
0d312500 106542009-04-24 David S. Miller <davem@davemloft.net>
10655
7dd4a573 10656 Avoiding opening same device multiple times in device iterator.
0d312500 10657
10658 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 10659 and use it to build a list of partitions in iterate_disk() and
0d312500 10660 iterate_partition().
10661
ac20caff 10662 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
10663 on disk->data.
10664
0dcf7495 10665 * disk/ieee1275/nand.c (grub_nand_iterate): Return
10666 grub_devalias_iterate() result instead of unconditional 0.
10667 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
10668 Also, capture hook return value, either directly or via
10669 grub_children_iterate(), and propagate to caller.
10670 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
10671 grub_children_iterate): Return value is now 'int' instead of
10672 'grub_err_t'.
10673 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
10674 like a proper iterator, stopping when hooks return non-zero.
10675 (grub_devalias_iterate): Likewise.
10676
c8c08833 106772009-04-23 David S. Miller <davem@davemloft.net>
10678
10679 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
10680
f01005a8 106812009-04-22 David S. Miller <davem@davemloft.net>
10682
10683 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
10684 is larger than address_cells, use that value for address_cells too.
10685
4e8269da 10686 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
10687 IEEE1275_MAX_PATH_LEN): Define.
10688 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
10689 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
10690 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
10691 'devtype'. Explicitly NULL terminate devalias expansion.
10692
a1447506 10693 * util/sparc64/ieee1275/misc.c: New file.
10694 * util/sparc64/ieee1275/grub-setup.c: New file.
10695 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
10696 * util/sparc64/ieee1275/grub-mkimage.c: New file.
10697 * util/sparc64/ieee1275/grub-install.in: New file.
10698 * util/ieee1275/ofpath.c: New file.
10699 * util/ieee1275/devicemap.c: New file.
10700 * util/devicemap.c: New file.
10701 * util/deviceiter.c: New file.
10702 * kern/sparc64/ieee1275/init.c: New file.
10703 * include/grub/util/ofpath.h: New file.
10704 * include/grub/util/deviceiter.h: New file.
10705 * util/grub-mkdevicemap.c: Include deviceiter.h.
10706 Implement using grub_util_emit_devicemap_entry and
10707 grub_util_iterate_devices.
10708 * conf/i386-corebook.rmk: Build util/deviceiter.c and
10709 util/devicemap.c into grub-mkdevicemap
10710 * conf/i386-efi.rmk: Likewise.
10711 * conf/i386-ieee1275.rmk: Likewise.
10712 * conf/i386-pc.rmk: Likewise.
10713 * conf/powerpc-ieee1275.rmk: Likewise.
10714 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
10715 images and installation utilities. Build kernel as image
10716 instead of as elf binary. Use common rules as much as possible.
10717
7dd4a573 107182009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 10719
10720 Correct GPT definition
10721
7dd4a573 10722 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 10723 of "attrib" member
10724
c6c5219f 107252009-04-19 Felix Zielcke <fzielcke@z-51.de>
10726
10727 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
10728
0552ff9f 107292009-04-19 David S. Miller <davem@davemloft.net>
10730
10731 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
10732 (grub_rescue_cmd_linux): Rename to...
10733 (grub_cmd_linux): and fix prototype.
10734 (grub_rescue_cmd_initrd): Rename to...
10735 (grub_cmd_initrd): and fix prototype.
10736 (cmd_linux, cmd_initrd): New.
10737 (GRUB_MOD_INIT(linux)): Use grub_register_command().
10738 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
10739
d1a282fc 107402009-04-17 Pavel Roskin <proski@gnu.org>
10741
07c5039f 10742 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
10743 format.
10744 (grub_ohci_transfer): Likewise.
10745
b012002d 10746 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
10747
1bc09c35 10748 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
10749 return without a value. Fix inconsistent indentation.
10750
e0ff9126 10751 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
10752 match struct grub_fs.
10753
d1a282fc 10754 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
10755 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
10756 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10757 * commands/lspci.c (grub_lspci_iter): Likewise.
10758
a96df3f2 107592009-04-16 Bean <bean123ch@gmail.com>
10760
10761 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
10762 value.
10763
41bb0fe9 107642009-04-15 Pavel Roskin <proski@gnu.org>
10765
10766 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
10767 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
10768 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
10769 definitions.
10770
596c6970 107712009-04-15 Felix Zielcke <fzielcke@z-51.de>
10772
10773 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 10774 that no multiple data or metadata areas are supported and `Unknown
596c6970 10775 metadata header'.
10776
7dd4a573 107772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 10778
10779 Move loader out of the kernel
10780
10781 * kern/loader.c: moved to ...
10782 * commands/boot.c: ... moved here
10783 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
10784 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10785 * include/grub/kernel.h (grub_machine_fini): export
10786 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10787 (grub_loader_set): likewise
10788 (grub_loader_unset): likewise
10789 (grub_loader_boot): likewise
10790 * conf/common.rmk: new module boot.mod
10791 (pkglib_MODULES): add boot.mod
10792 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10793 (grub_emu_SOURCES): likewise
10794 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10795 (grub_emu_SOURCES): likewise
10796 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10797 (grub_emu_SOURCES): likewise
10798 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10799 (grub_emu_SOURCES): likewise
10800 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10801 (grub_emu_SOURCES): likewise
7dd4a573 10802 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10803 (grub_emu_SOURCES): likewise
0d5d5653 10804 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10805 (grub_emu_SOURCES): likewise
0d5d5653 10806
7dd4a573 108072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10808
10809 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10810
5999d619 10811 * kern/misc.c (grub_itoa): Removed function
10812 (grub_ltoa): likewise
10813 (grub_vsprintf): use grub_lltoa
10814
7dd4a573 108152009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10816
10817 Restore grub-emu
10818
10819 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10820 * conf/i386-coreboot.rmk: likewise
10821 * conf/i386-ieee1275.rmk: likewise
10822 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10823
20318222 108242009-04-15 Felix Zielcke <fzielcke@z-51.de>
10825
10826 * INSTALL: Add that `./autogen.sh' needs to be run before
10827 `./configure.'.
10828
d05f0df3 108292009-04-14 Bean <bean123ch@gmail.com>
10830
10831 * Makefile.in (pkglib_DATA): Add handler.lst.
10832 (handler.lst): New rule.
10833
10834 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10835 * conf/i386-coreboot.rmk: Likewise.
10836 * conf/i386-ieee1275.rmk: Likewise.
10837 * conf/i386-efi.rmk: Likewise.
10838 * conf/x86_64-efi.rmk: Likewise.
10839 * conf/powerpc-ieee1275.rmk: Likewise.
10840 * conf/sparc64-ieee1275.rmk: Likewise.
10841
10842 * genhandlerlist.sh: New file.
10843
10844 * genmk.rb: Add rules to generate handler.lst.
10845
10846 * include/grub/normal.h (grub_file_getline): New function definition.
10847 (read_handler_list): Likewise.
10848 (free_handler_list): Likewise.
10849
10850 * include/grub/term.h (grub_term_register_input): Add name parameter
10851 for auto generation of handler.lst.
10852 (grub_term_register_output): Likewise.
10853
10854 * normal/handler.c: New file.
10855
10856 * normal/main.c (get_line): Renamed to grub_file_getline.
10857 (read_config_file): Use the newly renamed grub_file_getline.
10858 (read_command_list): Likewise.
10859 (read_fs_list): Likewise.
10860 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10861 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10862
10863 * term/efi/console.c (grub_console_init): Add name parameter for auto
10864 generation of handler.lst.
10865 * term/gfxterm.c: Likewise.
10866 * term/i386/pc/at_keyboard.c: Likewise.
10867 * term/i386/pc/console.c: Likewise.
10868 * term/i386/pc/serial.c: Likewise.
10869 * term/i386/pc/vesafb.c: Likewise.
10870 * term/i386/pc/vga.c: Likewise.
10871 * term/i386/pc/vga_text.c: Likewise.
10872 * term/ieee1275/ofconsole.c: Likewise.
10873 * term/usb_keyboard.c: Likewise.
10874
33c846be 108752009-04-14 Bean <bean123ch@gmail.com>
10876
10877 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10878 properly with null character.
10879
4484e01e 108802009-04-14 Felix Zielcke <fzielcke@z-51.de>
10881
10882 * configure: Remove.
10883 * config.h.in: Likewise.
f93d668e 10884 * stamp-h.in: Likewise.
4484e01e 10885 * DISTLIST: Likewise.
10886 * conf/common.mk: Likewise.
10887 * conf/i386-coreboot.mk: Likewise.
10888 * conf/i386-efi.mk: Likewise.
10889 * conf/i386-ieee1275.mk: Likewise.
10890 * conf/i386.mk: Likewise.
10891 * conf/i386-pc.mk: Likewise.
10892 * conf/powerpc-ieee1275.mk: Likewise.
10893 * conf/sparc64-ieee1275.mk: Likewise.
10894 * conf/x86_64-efi.mk: Likewise.
10895
10896 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10897 develop on GRUB.
10898
7dd4a573 108992009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10900 David S. Miller <davem@davemloft.net>
10901
10902 * util/hostdisk.c (make_device_name): Fix buffer length
10903 calculations.
10904
e25b5a8c 109052009-04-14 Felix Zielcke <fzielcke@z-51.de>
10906
10907 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10908 <sys/param.h> and <sys/sysctl.h>.
10909 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10910 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10911 opening the device and reset them afterwards.
10912
1f1f580c 109132009-04-13 Pavel Roskin <proski@gnu.org>
10914
10915 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10916 Reported by John Stanley <jpsinthemix@verizon.net>
10917
7ebc2d6b 109182009-04-13 Robert Millan <rmh@aybabtu.com>
10919
10920 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10921 that name for menuentries when appropriate.
7ebc2d6b 10922
d8ba3667 109232009-04-13 Felix Zielcke <fzielcke@z-51.de>
10924
10925 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10926
cba416eb 109272009-04-13 Robert Millan <rmh@aybabtu.com>
10928
10929 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10930 to Linux, simply abort telling the user it's no longer supported.
10931
a547a745 109322009-04-13 Felix Zielcke <fzielcke@z-51.de>
10933
10934 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10935 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10936 `freebsd_loadenv' only when devices.hints exist.
10937
232a769c 109382009-04-13 Pavel Roskin <proski@gnu.org>
10939
10940 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10941
c3012039 109422009-04-13 Felix Zielcke <fzielcke@z-51.de>
10943
10944 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10945 partition number.
10946 (grub_drive): Likewise.
10947
234022fe 109482009-04-13 David S. Miller <davem@davemloft.net>
10949
10950 * kern/sparc64/ieee1275/ieee1275.c: New file.
10951 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10952 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10953 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10954 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10955 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10956 grub_ieee1275_alloc_physmem): Declare new exported functions.
10957
d8e1836c 10958 * include/grub/sparc64/ieee1275/loader.h: New file.
10959 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10960 * include/grub/sparc64/kernel.h: Likewise.
10961 * loader/sparc64/ieee1275/linux.c: Likewise.
10962
96bd81ec 10963 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10964 (grub_fstest_SOURCES): Likewise.
10965
6a4737e5 10966 * util/hostdisk.c (make_device_name): Do not make any assumptions
10967 about the length of drive names.
10968
1d7a72fd 10969 * kern/dl.c (grub_dl_load_file): Close file immediately when
10970 we are done using it.
10971
56bc2471 109722009-04-12 David S. Miller <davem@davemloft.net>
10973
10974 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10975 values. Noticed by Pavel Roskin.
10976
df38d0bb 10977 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10978 target compiler.
7dd4a573 10979
e382e93a 10980 * genmk.rb: Add more flexible image type specification, also
10981 pass --strip-unneeded to objcopy.
10982 * conf/i386-pc.rmk: Use *_FORMAT.
10983 * conf/i386-pc.mk: Rebuilt.
10984
f5dbbca9 10985 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10986 (OFDISK_HASH_SZ): Define.
10987 (ofdisk_hash): New hash table.
10988 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10989 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10990 instead of device phandle which is not unique.
10991
91c88b12 10992 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10993 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10994 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10995 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10996 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10997 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10998 GRUB_KERNEL_MACHINE_DATA_END): Define.
10999 (grub_kernel_image_size, grub_total_module_size): Declare.
11000
5b5d4aa5 110012009-04-12 Pavel Roskin <proski@gnu.org>
11002
7dd4a573 11003 * configure.ac: Change the logic when we check for target tools.
11004 Do it when the target is specified and it's different from the
11005 specified value of the host.
5b5d4aa5 11006
c91e1793 110072009-04-11 Felix Zielcke <fzielcke@z-51.de>
11008
11009 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
11010 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
11011 GNU/kFreeBSD. Check if a device is a character device. Use
11012 DIOCGMEDIASIZE to get the size.
11013 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
11014 support for GNU/kFreeBSD.
11015 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
11016 is a character device instead of a block device. Add support for
11017 FreeBSD device names.
11018
11019 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
11020 is a character device instead of a block device.
11021
11022 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
11023 is a character device instead of a block device.
11024
b1ac8644 110252009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
11026
11027 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
11028 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
11029 FreeBSD. Check if a device is a character device. Use
11030 DIOCGMEDIASIZE to get the size.
11031 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
11032 support for FreeBSD.
11033 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
11034 is a character device instead of a block device. Add support for
11035 FreeBSD device names.
11036
11037 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
11038 a character device instead of a block device.
11039 (grub_util_check_char_device): New function.
11040
11041 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
11042 a character device instead of a block device.
11043
11044 * include/grub/util/getroot.h (grub_util_check_char_device): New
11045 prototype.
11046
a3f7515a 110472009-04-11 David S. Miller <davem@davemloft.net>
11048
11049 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
11050 static libgcc.
11051 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
11052 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
11053 function, if present.
11054 (__bswapdi2): Likewise.
11055
0d44993d 11056 * include/grub/sparc64/ieee1275/boot.h: New file.
11057 * boot/sparc64/ieee1275/boot.S: Likewise.
11058 * boot/sparc64/ieee1275/diskboot.S: Likewise.
11059
ed3d2bc2 11060 * kern/misc.c (grub_ltoa): New function.
11061 (grub_vsprintf): Use it to format 'long' integers.
11062
d3bfb59c 110632009-04-10 David S. Miller <davem@davemloft.net>
11064
11065 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
11066 slots are of type grub_ieee1275_cell_t.
11067 (grub_nand_read): Likewise.
11068 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
11069 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
11070 macros are used to compare values in arg/ret block of the call.
11071 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
11072 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
11073 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
11074 grub_ieee1275_instance_to_path, grub_ieee1275_write,
11075 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
11076 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
11077 grub_ieee1275_close, grub_ieee1275_set_property,
11078 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
11079 grub_ieee1275_cell_t.
11080 * kern/ieee1275/openfw.c (grub_map): Likewise.
11081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
11082 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
11083
450e2238 11084 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
11085 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11086 (grub_devalias_iterate): Likewise.
11087
7dd4a573 110882009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 11089
11090 UFS improvements
11091
11092 * fs/ufs.c (INODE_NBLOCKS): new definition
11093 (struct grub_ufs_dirent): added fields for non-BSD dirents
11094 (grub_ufs_get_file_block): fixed double indirect handling
11095 (grub_ufs_lookup_symlink): use more robust way to determine whether
11096 symlink is inline
11097 (grub_ufs_find_file): support for non-BSD dirents
11098 (grub_ufs_dir): support for non-BSD dirents
11099
e7e6862a 111002009-04-10 Bean <bean123ch@gnail.com>
11101
11102 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
11103 attribute, otherwise the size would be wrong for i386 platform.
11104
11105 * include/grub/pci.h (grub_pci_read_word): New inline function.
11106 (grub_pci_read_byte): Likewise.
11107 (grub_pci_write): Likewise.
11108 (grub_pci_write_word): Likewise.
11109 (grub_pci_write_byte): Likewise.
11110
11111 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
11112
11113 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
11114 (find_framebuf): Scan pci to locate the frame buffer address.
11115
11116 * commands/efi/fixvideo.c: New file.
11117
11118 * commands/efi/loadbios.c: Likewise.
11119
11120 * commands/memrw.c: Likewise.
11121
11122 * util/grub-dumpbios.in: Likewise.
11123
11124 * conf/common.rmk (grub-dumpbios): New utility.
11125 (pkglib_MODULES): New module memrw.mod.
11126 (memrw_mod_SOURCE): New macro.
11127 (memrw_mod_CFLAGS): Likewise.
11128 (memrw_mod_LDFLAGS): Likewise.
11129
7dd4a573 11130 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 11131 fixvideo.mod.
11132 (loadbios_mod_SOURCE): New macro.
11133 (loadbios_mod_CFLAGS): Likewise.
11134 (loadbios_mod_LDFLAGS): Likewise.
11135 (fixvideo_mod_SOURCE): Likewise.
11136 (fixvideo_mod_CFLAGS): Likewise.
11137 (fixvideo_mod_LDFLAGS): Likewise.
11138
7dd4a573 11139 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 11140 fixvideo.mod.
11141 (loadbios_mod_SOURCE): New macro.
11142 (loadbios_mod_CFLAGS): Likewise.
11143 (loadbios_mod_LDFLAGS): Likewise.
11144 (fixvideo_mod_SOURCE): Likewise.
11145 (fixvideo_mod_CFLAGS): Likewise.
11146 (fixvideo_mod_LDFLAGS): Likewise.
11147
af63ada2 111482009-04-08 Felix Zielcke <fzielcke@z-51.de>
11149
11150 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
11151
c2cdde70 111522009-04-07 David S. Miller <davem@davemloft.net>
11153
11154 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
11155 support for R_SPARC_OLO10 relocations. Fix compile warning for
11156 R_SPARC_WDISP30 case.
ea3f72cf 11157 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 11158
761319cf 111592009-04-06 Pavel Roskin <proski@gnu.org>
11160
1007d1f5 11161 * include/grub/misc.h (ARRAY_SIZE): New macro.
11162 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
11163 New macro.
11164 * loader/i386/linux.c (allocate_pages): Use free_pages().
11165 (grub_linux_unload): Don't use free_pages().
11166 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
11167 wrong index. Treat all other modes as text modes.
11168 (grub_cmd_linux): Initialize vid_mode unconditionally to
11169 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
11170
761319cf 11171 * commands/help.c (print_command_help): Use cmd->prio, not
11172 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
11173
ea761d40 111742009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 11175
ea761d40 11176 Parttool
11177
11178 * parttool/pcpart.c: new file
11179 * commands/parttool.c: likewise
11180 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
11181 (parttool_mod_SOURCES): new variable
11182 (parttool_mod_CFLAGS): likewise
11183 (parttool_mod_LDFLAGS): likewise
11184 (pcpart_mod_SOURCES): likewise
11185 (pcpart_mod_CFLAGS): likewise
11186 (pcpart_mod_LDFLAGS): likewise
7dd4a573 11187 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 11188 and parttool/pcpart.c
11189 * conf/i386-efi.rmk: likewise
11190 * conf/i386-ieee1275.rmk: likewise
11191 * conf/i386-pc.rmk: likewise
11192 * conf/powerpc-ieee1275.rmk: likewise
11193 * conf/sparc64-ieee1275.rmk: likewise
11194 * conf/x86_64-ieee1275.rmk: likewise
11195
05aaebfb 111962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Support for mtime and further expandability of dir command
11199
11200 * include/grub/lib/datetime.h: moved to ...
7dd4a573 11201 * include/grub/datetime.h: ... moved here and added
05aaebfb 11202 declaration of grub_unixtime2datetime. All users updated
7dd4a573 11203 * include/grub/fs.h: new syntax for dir and mtime functions in
11204 struct grub_fs
05aaebfb 11205 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
11206 and GRUB_FSHELP_FLAGS_MASK
11207 * commands/ls.c (grub_ls_list_files): Write mtime in long format
11208 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
11209 (grub_ext2_mtime): new function
11210 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
11211 (grub_hfsplus_mtime): new function
11212 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
11213 (GRUB_UFS_ATTR_FILE): likewise
11214 (GRUB_UFS_ATTR_LNK): likewise
11215 (struct grub_ufs_sblock): new fields mtime
11216 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
11217 all users updated
11218 (grub_ufs_dir): mtime support
11219 (grub_ufs_mtime): new function
11220 * fs/affs.c (grub_affs_dir): use new dir syntax
11221 * fs/afs.c (grub_afs_dir): likewise
11222 * fs/cpio.c (grub_cpio_dir): likewise
11223 * fs/fat.c (grub_fat_find_dir): likewise
11224 * fs/hfs.c (grub_hfs_dir): likewise
11225 * fs/iso9660.c (grub_iso9660_dir): likewise
11226 * fs/jfs.c (grub_jfs_dir): likewise
11227 * fs/minix.c (grub_minix_dir): likewise
11228 * fs/ntfs.c (grub_ntfs_dir): likewise
11229 * fs/reiserfs.c (grub_reiserfs_dir): likewise
11230 * fs/sfs.c (grub_sfs_dir): likewise
11231 * fs/xfs.c (grub_xfs_dir): likewise
11232 * util/hostfs.c (grub_hostfs_dir): likewise
11233 * lib/datetime.c: moved to ...
11234 * normal/datetime.c: ... moved here
11235 (grub_unixtime2datetime): new function
11236 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 11237 * normal/completion.c (iterate_dir): use new dir syntax
11238 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 11239 last modification time of a volume
7dd4a573 11240 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 11241 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 11242 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 11243 (normal_mod_SOURCES): likewise
11244 (datetime_mod_SOURCES): Removed lib/datetime.c
11245 * conf/i386-efi.rmk: likewise
7dd4a573 11246 * conf/i386-ieee1275.rmk: likewise
05aaebfb 11247 * conf/i386-pc.rmk: likewise
11248 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 11249 * conf/sparc64-ieee1275.rmk: likewise
11250 * conf/x86_64-efi.rmk: likewise
05aaebfb 11251
8a7e1a14 112522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 11255
11256 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 11257 on grub_fat_find_dir
11258 (grub_fat_find_dir): use grub_fat_iterate_dir
11259 (grub_fat_label): likewise
11260
04186a9c 112612009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11262
7dd4a573 11263 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 11264 and command.h
11265 remove extraneous kernel_elf_HEADERS
11266
da4c0bb6 112672009-04-04 Bean <bean123ch@gnail.com>
11268
11269 * include/grub/util/misc.h: Add dummy function fsync for mingw.
11270
11271 * util/misc.c: Likewise.
11272
54ad9555 112732009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
11274
11275 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
11276 instead of grub_printf.
11277
7a6bf9f2 112782009-04-03 Robert Millan <rmh@aybabtu.com>
11279
11280 * loader/i386/linux.c (grub_linux_setup_video): Fill
11281 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
11282 values from `mode info' structure instead of hardcoded
11283 values.
11284
3fcc2083 112852009-04-01 Pavel Roskin <proski@gnu.org>
11286
11287 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
11288 unused now.
11289 * genmk.rb: Likewise.
11290 * configure.ac: Likewise.
11291
5ec9740b 112922009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
11293
11294 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
11295 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
11296
5270cec8 112972009-04-01 David S. Miller <davem@davemloft.net>
11298
11299 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 11300 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 11301 (grub_setjmp): Mark with 'returns_twice' attribute.
11302 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
11303 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
11304 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
11305
9c3dd854 113062009-04-01 Robert Millan <rmh@aybabtu.com>
11307
11308 Reapply fix from 2008-07-28 which was accidentally reverted; also
11309 perform the same fix to a similar check in same function.
11310
11311 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11312 with the same number are found, just use issue a warning with
11313 grub_dprintf(), as this error has been reported to be non-fatal.
11314
0d818b7e 113152009-03-31 Pavel Roskin <proski@gnu.org>
11316
11317 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
11318 for cross-compilation.
11319
95646d92 113202009-03-30 Robert Millan <rmh@aybabtu.com>
11321
11322 Fix i386-ieee1275 build.
11323
11324 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
11325 Remove declaration.
11326
6a003ed1 113272009-03-30 Pavel Roskin <proski@gnu.org>
11328
11329 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
11330 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
11331 zero-terminated, rely only on the strlen value. Fix comparison
11332 of strings differing in length.
11333
92f33540 113342009-03-30 Robert Millan <rmh@aybabtu.com>
11335
11336 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
11337 checking for abi version. Improve error messages on BIOS to notify
11338 user about `linux16' command.
11339
a8c48fd5 113402009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11341
f968172e 11342 Leak fixes
a8c48fd5 11343
f968172e 11344 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
11345 in case of collision
11346 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 11347
9c323f09 113482009-03-29 Robert Millan <rmh@aybabtu.com>
11349
11350 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
11351 set `vid_mode' accordingly.
11352 (grub_linux_boot): Process `vid_mode' and set video mode.
11353
ae68f423 113542009-03-29 Robert Millan <rmh@aybabtu.com>
11355
11356 * util/grub.d/10_linux.in (linux_entry): New function.
11357 Factorize generation of Linux boot entries.
11358
5709cfc4 113592009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
11360
11361 Make the format of Environment Block plain text. The boot loader
11362 part is not tested well yet.
7dd4a573 11363
5709cfc4 11364 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
11365 (buffer): Removed.
11366 (envblk): Likewise.
11367 (usage): Remove "info" and "clear". Add "unset". Update the
11368 description of "set", as this does not delete variables any
11369 longer.
11370 (create_envblk_file): Complete rewrite.
11371 (open_envblk_file): Likewise.
11372 (cmd_info): Removed.
11373 (cmd_list): Likewise.
11374 (cmd_set): Likewise.
11375 (cmd_clear): Likewise.
11376 (list_variables): New function.
11377 (write_envblk): Likewise.
11378 (set_variables): Likewise.
11379 (unset_variables): Likewise.
11380 (main): Complete rewrite.
11381
11382 * commands/loadenv.c (buffer): Removed.
11383 (envblk): Likewise.
11384 (open_envblk_file): New function.
11385 (read_envblk_file): Complete rewrite.
11386 (grub_cmd_load_env): Likewise.
11387 (grub_cmd_list_env): Likewise.
11388 (struct blocklist): New struct.
11389 (free_blocklists): New function.
11390 (check_blocklists): Likewise.
11391 (write_blocklists): Likewise.
11392 (grub_cmd_save_env): Complete rewrite.
11393
11394 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
11395 a plain text signature.
11396 (GRUB_ENVBLK_MAXLEN): Removed.
11397 (struct grub_envblk): Complete rewrite.
11398 (grub_envblk_find): Removed.
11399 (grub_envblk_insert): Likewise.
11400 (grub_envblk_open): New prototype.
11401 (grub_envblk_set): Likewise.
11402 (grub_envblk_delete): Put const to VALUE.
11403 (grub_envblk_iterate): Put const to NAME and VALUE.
11404 (grub_envblk_close): New prototype.
11405 (grub_envblk_buffer): New inline function.
11406 (grub_envblk_size): Likewise.
11407
11408 * lib/envblk.c: Include grub/mm.h.
11409 (grub_env_find): Removed.
11410 (grub_envblk_open): New function.
11411 (grub_envblk_close): Likewise.
11412 (escaped_value_len): Likewise.
11413 (find_next_line): Likewise.
11414 (grub_envblk_insert): Removed.
11415 (grub_envblk_set): New function.
11416 (grub_envblk_delete): Complete rewrite.
11417 (grub_envblk_iterate): Likewise.
11418
a9368fd3 114192009-03-28 Robert Millan <rmh@aybabtu.com>
11420
11421 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
11422 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
11423 variables. Use 16-bit loader.
11424 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
11425 loader.
11426 * kern/i386/loader.S (grub_linux_boot): Rename to ...
11427 (grub_linux16_boot): ... this. Update all users.
11428 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
11429 (grub_linux_boot): ... this. Update all users.
11430
11431 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
11432 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
11433 commands to `linux16' and `initrd16'.
11434 (GRUB_MOD_FINI(linux)): Rename to ...
11435 (GRUB_MOD_FINI(linux16)): ... this.
11436
e4dd5a7e 114372009-03-24 Pavel Roskin <proski@gnu.org>
11438
11439 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
11440 not just for compilation.
11441
c04d6e05 114422009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 Move multiboot helper out of kernel
11445
11446 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
11447 `loader/i386/multiboot_helper.S'.
11448 * conf/i386-coreboot.rmk: Likewise
11449 * conf/i386-ieee1275.rmk: Likewise
11450
11451 * kern/i386/loader.S: Move multiboot helpers from here...
11452 * loader/i386/multiboot_helper.S: ...moved here
11453 * include/grub/i386/loader.h: Move declarations of multiboot
11454 helpers from here...
11455 * include/grub/i386/multiboot.h: ...moved here
11456 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
11457
42a5b3fc 114582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11459
11460 * kern/env.c (grub_env_context_open): Added an argument to specify
11461 whether a new context inherits exported variables from current
11462 one. This is useful when making a sandbox to interpret a config
11463 file.
11464 All callers updated.
11465
11466 * include/grub/env.h (grub_env_context_open): Updated the prototype.
11467
b28bbc4e 114682009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11469
11470 * kern/env.c (grub_env_context_close): Fix memory leaks.
11471
f04f02e4 114722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11473
11474 * normal/main.c (grub_normal_execute): Added an argument
11475 BATCH to specify if an interactive interface should be provided
11476 after reading a config file.
11477 All callers updated.
11478 (read_command_list): Prevent being executed twice.
11479 (read_fs_list): Likewise.
11480
42a5b3fc 11481 * include/grub/normal.h (grub_normal_execute): Updated the
11482 prototype.
f04f02e4 11483
41473ac2 114842009-03-22 Pavel Roskin <proski@gno.org>
11485
fbc00b0c 11486 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
11487 _start.
11488 * kern/i386/pc/startup.S: Likewise.
11489 * kern/i386/efi/startup.S: Likewise.
11490 * kern/i386/ieee1275/startup.S: Likewise.
11491 * kern/i386/coreboot/startup.S: Likewise.
11492 * kern/x86_64/efi/startup.S: Likewise.
11493
41473ac2 11494 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
11495 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
11496 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
11497
2274cc8f 114982009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 Bugfixes in multiboot for bugs uncovered by solaris kernel.
11501
11502 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
11503 limit detection.
11504 Use vaddr of correct segment for entry_point.
11505
b1b797cb 115062009-03-21 Bean <bean123ch@gmail.com>
11507
11508 * commands/blocklist.c: Add include file <grub/command.h>, remove
11509 <grub/normal.h> and <grub/arg.h>.
11510 (grub_cmd_blocklist): Use the new command interface.
11511 (GRUB_MOD_INIT): Likewise.
11512 (GRUB_MOD_FINI): Likewise.
11513 * commands/boot.c: Likewise.
11514 * commands/cat.c: Likewise.
11515 * commands/cmp.c: Likewise.
11516 * commands/configfile.c: Likewise.
11517 * commands/crc.c: Likewise.
11518 * commands/echo.c: Likewise.
11519 * commands/halt.c: Likewise.
11520 * commands/handler.c: Likewise.
11521 * commands/hdparm.c: Likewise.
11522 * commands/help.c: Likewise.
11523 * commands/hexdump.c: Likewise.
11524 * commands/loadenv.c: Likewise.
11525 * commands/ls.c: Likewise.
11526 * commands/lsmmap.c: Likewise.
11527 * commands/lspci.c: Likewise.
11528 * commands/loadenv.c: Likewise.
11529 * commands/read.c: Likewise.
11530 * commands/reboot.c: Likewise.
11531 * commands/search.c: Likewise.
11532 * commands/sleep.c: Likewise.
11533 * commands/test.c: Likewise.
11534 * commands/usbtest.c: Likewise.
11535 * commands/videotest.c: Likewise.
11536 * commands/i386/cpuid.c: Likewise.
11537 * commands/i386/pc/halt.c: Likewise.
11538 * commands/i386/pc/play.c: Likewise.
11539 * commands/i386/pc/pxecmd.c: Likewise.
11540 * commands/i386/pc/vbeinfo.c: Likewise.
11541 * commands/i386/pc/vbetest.c: Likewise.
11542 * commands/ieee1275/suspend.c: Likewise.
11543 * disk/loopback.c: Likewise.
11544 * font/font_cmd.c: Likewise.
11545 * hello/hello.c: Likewise.
11546 * loader/efi/appleloader.c: Likewise.
11547 * loader/efi/chainloader.c: Likewise.
11548 * loader/i386/bsd.c: Likewise.
11549 * loader/i386/efi/linux.c: Likewise.
11550 * loader/i386/ieee1275/linux.c: Likewise.
11551 * loader/i386/linux.c: Likewise.
11552 * loader/i386/pc/chainloader.c: Likewise.
11553 * loader/i386/pc/linux.c: Likewise.
11554 * loader/powerpc/ieee1275/linux.c: Likewise.
11555 * loader/multiboot_loader.c: Likewise.
11556 * term/gfxterm.c: Likewise.
11557 * term/i386/pc/serial.c: Likewise.
11558 * term/terminfo.c: Likewise.
11559
11560 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
11561 * term/i386/pc/vga.c: Likewise.
11562 * video/readers/jpeg.c: Likewise.
11563 * video/readers/png.c: Likewise.
11564 * video/readers/tga.c: Likewise.
11565
11566 * util/grub-fstest (cmd_loopback): Removed.
11567 (cmd_blocklist): Likewise.
11568 (cmd_ls): Likewise.
11569 (grub_register_command): Likewise.
11570 (grub_unregister_command): Likewise.
11571 (execute_command): Use grub_command_find to locate command and execute
11572 it.
11573
11574 * include/grub/efi/chainloader.h: Removed.
11575 * loader/efi/chainloader_normal.c: Likewise.
11576 * loader/i386/bsd_normal.c: Likewise.
11577 * loader/i386/pc/chainloader_normal.c: Likewise.
11578 * loader/i386/pc/multiboot_normal.c: Likewise.
11579 * loader/linux_normal.c: Likewise.
11580 * loader/multiboot_loader_normal.c: Likewise.
11581 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
11582
11583 * gencmdlist.sh: Scan new registration command grub_register_extcmd
11584 and grub_register_command_p1.
11585
11586 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
11587 kern/command.c, lib/arg.c and commands/extcmd.c.
11588 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
11589 (minicmd_mod_SOURCES): New variable.
11590 (minicmd_mod_CFLAGS): Likewise.
11591 (minicmd_mod_LDFLAGS): Likewise.
11592 (extcmd_mod_SOURCES): Likewise.
11593 (extcmd_mod_CFLAGS): Likewise.
11594 (extcmd_mod_LDFLAGS): Likewise.
11595 (boot_mod_SOURCES): Removed.
11596 (boot_mod_CFLAGS): Likewise.
11597 (boot_mod_LDFLAGS): Likewise.
11598
11599 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
11600 kern/corecmd.c.
11601 (kernel_img_HEADERS): Add command.h.
11602 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
11603 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
11604 and lib/arg.c.
11605 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
11606 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
11607 remove the corresponding normal mode command.
11608 (normal_mod_SOURCES): Remove normal/arg.c.
11609 * conf/i386-coreboot.rmk: Likewise.
11610 * conf/i386-efi.rmk: Likewise.
11611 * conf/i386-ieee1275.rmk: Likewise.
11612 * conf/powerpc-ieee1275.rmk: Likewise.
11613 * conf/x86_64-efi.rmk: Likewise.
11614
11615 * include/grub/arg.h: Move from here ...
11616 * include/grub/lib/arg.h: ... to here.
11617
11618 * normal/arg.c: Move from here ...
11619 * lib/arg.c: ... to here.
11620
11621 * commands/extcmd.c: New file.
11622 * commands/minicmd.c: Likewise.
11623 * include/grub/command.h: Likewise.
11624 * include/grub/extcmd.h: Likewise.
11625 * kern/command.c: Likewise.
11626 * kern/corecmd.c: Likewise.
11627
11628 * kern/list.c (grub_list_iterate): Return int instead of void.
11629 (grub_list_insert): New function.
11630 (grub_prio_list_insert): Likewise.
11631
11632 * kern/rescue.c (grub_rescue_command): Removed.
11633 (grub_rescue_command_list): Likewise.
11634 (grub_rescue_register_command): Likewise.
11635 (grub_rescue_unregister_command): Likewise.
11636 (grub_rescue_cmd_boot): Move to minicmd.c
11637 (grub_rescue_cmd_help): Likewise.
11638 (grub_rescue_cmd_info): Likewise.
11639 (grub_rescue_cmd_boot): Likewise.
11640 (grub_rescue_cmd_testload): Likewise.
11641 (grub_rescue_cmd_dump): Likewise.
11642 (grub_rescue_cmd_rmmod): Likewise.
11643 (grub_rescue_cmd_lsmod): Likewise.
11644 (grub_rescue_cmd_exit): Likewise.
11645 (grub_rescue_print_devices): Moved to corecmd.c.
11646 (grub_rescue_print_files): Likewise.
11647 (grub_rescue_cmd_ls): Likewise.
11648 (grub_rescue_cmd_insmod): Likewise.
11649 (grub_rescue_cmd_set): Likewise.
11650 (grub_rescue_cmd_unset): Likewise.
7d074e3c 11651 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 11652 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 11653 commands, remove grub_rescue_register_command calls.
b1b797cb 11654
7d074e3c 11655 * normal/command.c (grub_register_command): Removed.
b1b797cb 11656 (grub_unregister_command): Likewise.
11657 (grub_command_find): Likewise.
11658 (grub_iterate_commands): Likewise.
11659 (rescue_command): Likewise.
11660 (export_command): Moved to corecmd.c.
11661 (set_command): Removed.
11662 (unset_command): Likewise.
11663 (insmod_command): Likewise.
11664 (rmmod_command): Likewise.
11665 (lsmod_command): Likewise.
11666 (grub_command_init): Likewise.
11667
11668 * normal/completion.c (iterate_command): Use cmd->prio to check for
11669 active command.
11670 (complete_arguments): Use grub_extcmd_t structure to find options.
11671 (grub_normal_do_completion): Change function grub_iterate_commands to
11672 grub_command_iterate.
11673
11674 * normal/execute.c (grub_script_execute_cmd): No need to parse
11675 argument here.
11676
11677 * normal/main.c (grub_dyncmd_dispatcher): New function.
11678 (read_command_list): Register unload commands as dyncmd.
11679 (grub_cmd_normal): Use new command interface, register rescue,
11680 unregister normal at entry, register normal, unregister rescue at exit.
11681
11682 * include/grub/list.h (grub_list_test_t): New type.
11683 (grub_list_iterate): Return int instead of void.
11684 (grub_list_insert): New function.
11685 (GRUB_AS_NAMED_LIST_P): New macro.
11686 (GRUB_AS_PRIO_LIST): Likewise.
11687 (GRUB_AS_PRIO_LIST_P): Likewise.
11688 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
11689 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
11690 (grub_prio_list): New structure.
11691 (grub_prio_list_insert): New function.
11692 (grub_prio_list_remove): New inline function.
11693
11694 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
11695 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
11696 (GRUB_COMMAND_FLAG_MENU): Likewise.
11697 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11698 (GRUB_COMMAND_FLAG_TITLE): Likewise.
11699 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11700 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
11701 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
11702 (grub_command): Likewise.
11703 (grub_register_command): Likewise.
11704 (grub_command_find): Likewise.
11705 (grub_iterate_commands): Likewise.
11706 (grub_command_init): Likewise.
11707 (grub_arg_parse): Likewise.
11708 (grub_arg_show_help): Likewise.
11709
11710 * include/grub/rescue.h (grub_rescue_register_command): Removed.
11711 (grub_rescue_unregister_command): Likewise.
11712
11713 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
11714 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
11715 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
11716
11717 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
11718 grub_rescue_cmd_initrd.
11719 * include/grub/i386/loader.h: Likewise.
11720 * include/grub/x86_64/loader.h: Likewise.
11721
11722 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
11723
1f4147aa 117242009-03-21 Bean <bean123ch@gmail.com>
11725
11726 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
11727 instead of stat in mingw environment.
11728
11729 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
11730
11731 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
11732
11733 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
11734 AC_CONFIG_LINKS.
11735
2156d5ba 117362009-03-21 Bean <bean123ch@gmail.com>
11737
11738 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
11739 out of range error.
11740
177b82ca 117412009-03-18 Michel Dänzer <michel@daenzer.net>
11742
11743 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
11744 checking inode flags for EXT4_EXTENTS_FLAG.
11745
14aad807 117462009-03-18 Robert Millan <rmh@aybabtu.com>
11747
11748 * loader/i386/linux.c: Include `<grub/video.h>' and
11749 `<grub/i386/pc/vbe.h>'..
11750 (grub_linux_setup_video): New function. Loosely based on the EFI one.
11751 (grub_linux32_boot): Attempt to configure video settings with
11752 grub_linux_setup_video().
11753 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
11754 to avoid grub_console_fini() which would step out of graphical mode
11755 unconditionally.
11756
8cf83a27 117572009-03-14 Robert Millan <rmh@aybabtu.com>
11758
11759 Fix build on powerpc.
11760 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
11761
40164e75 117622009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
11765 background image command.
11766
c58bc32a 117672009-03-12 Colin D Bennett <colin@gibibit.com>
11768
11769 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
11770 (grub_gfxterm_putchar): Extract pairs of identical calls to
11771 draw_cursor out of conditional blocks.
11772
5415144a 117732009-03-11 Pavel Roskin <proski@gnu.org>
11774
11775 * fs/hfs.c (grub_hfs_strncasecmp): New function.
11776 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
11777
6394042e 117782009-03-11 Robert Millan <rmh@aybabtu.com>
11779
11780 * loader/i386/multiboot_elfxx.c
11781 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
11782
b7b50e5f 117832009-03-11 Felix Zielcke <fzielcke@z-51.de>
11784
11785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11786 `kern/handler.c'.
11787
1ca7fc96 117882009-03-11 Robert Millan <rmh@aybabtu.com>
11789
11790 * loader/i386/multiboot.c (code_size): New variable.
11791 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11792 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11793 4-byte alignment to MBI and others by increasing
7d074e3c 11794 `boot_loader_name_length' appropriately.
1ca7fc96 11795
11796 * loader/i386/multiboot_elfxx.c
11797 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11798
a83ea1d2 117992009-03-09 Felix Zielcke <fzielcke@z-51.de>
11800
11801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11802 `fs/ext2.c'.
11803
aa9f3bff 118042009-03-08 Robert Millan <rmh@aybabtu.com>
11805
11806 Make loader/i386/linux.c usable on i386-pc again.
11807
11808 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11809 memory to heap.
11810 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11811 `#error' stanza.
11812
d8b3b60e 118132009-03-07 Bean <bean123ch@gmail.com>
11814
11815 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11816 allocation.
11817
b362c9e9 118182009-03-06 Robert Millan <rmh@aybabtu.com>
11819
11820 Fix display issue on terminals with screen size other than 80x25
11821 (e.g. gfxterm with resolution higher than 640x480).
11822
11823 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11824 position relative to the center of the terminal instead of relying
b362c9e9 11825 on a hardcoded offset.
11826
9304eef1 118272009-03-04 Robert Millan <rmh@aybabtu.com>
11828
11829 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11830 installed.
11831
11832 * Makefile.in (host_kernel): New variable.
11833 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11834 scripts instead of just the windows one.
11835 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11836
eabc95fb 118372009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11838
11839 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11840 `kern/handler.c'.
11841 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11842 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11843 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11845 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11847
ceb1223c 118482009-03-04 Felix Zielcke <fzielcke@z-51.de>
11849
11850 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11851 or if there's no space for the disk label and print the partition number on a
11852 invalid magic.
11853
4910684a 118542009-03-04 Felix Zielcke <fzielcke@z-51.de>
11855
11856 * util/misc.c: Include <time.h>.
11857 (grub_millisleep): New function.
11858
7e9ca17a 118592009-03-04 Bean <bean123ch@gmail.com>
11860
11861 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11862 another option -mno-red-zone.
11863
11864 * commands/handler.c: Change module description.
11865
11866 * kern/handler.c: Add missing space at the end of description line.
11867
11868 * kern/list.c: Likewise.
11869
f501677c 118702009-03-03 Robert Millan <rmh@aybabtu.com>
11871
11872 Move more components to the relocation area, and fix mbi pointer
11873 handling to use the destination rather than the origin (thanks to
11874 Vladimir Serbinenko for spotting).
11875
11876 * loader/i386/multiboot.c (mbi_dest): New variable.
11877 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11878 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11879 relocation area.
11880
9902d047 118812009-03-01 Bean <bean123ch@gmail.com>
11882
50fb7002 11883 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11884 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11885 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11886 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11887
11888 * loader/i386/efi/linux.c (acpi_guid): New variable.
11889 (acpi_guid): Likewise.
11890 (EBDA_SEG_ADDR): New constant.
11891 (LOW_MEM_ADDR): Likewise.
11892 (FAKE_EBDA_SEG): Likewise.
11893 (fake_bios_data): New function.
11894 (grub_linux_boot): Call fake_bios_data.
11895
71b9f361 118962009-03-01 Bean <bean123ch@gmail.com>
11897
11898 * commands/terminal.c: Removed.
11899
11900 * commands/handler.c: New file.
11901
11902 * include/grub/list.h: Likewise.
11903
11904 * include/grub/handler.h: Likewise.
11905
11906 * kern/list.c: Likewise.
11907
11908 * kern/handler.c: Likewise.
11909
11910 * kern/term.h: Include header file <grub/handler.h>.
11911 (grub_term_input): Move next field to the beginning.
11912 (grub_term_output): Likewise.
11913 (grub_term_input_class): New variable.
11914 (grub_term_output_class): Likewise.
11915 (grub_term_register_input): Changed to inline function.
11916 (grub_term_register_output): Likewise.
11917 (grub_term_unregister_input): Likewise.
11918 (grub_term_unregister_output): Likewise.
11919 (grub_term_set_current_input): Likewise.
11920 (grub_term_set_current_output): Likewise.
11921 (grub_term_get_current_input): Likewise.
11922 (grub_term_get_current_output): Likewise.
11923 (grub_term_iterate_input): Removed.
11924 (grub_term_iterate_output): Likewise.
11925
11926 * kern/term.c (grub_term_list_input): Removed.
11927 (grub_term_list_output): Likewise.
11928 (grub_term_input_class): New variable.
11929 (grub_term_output_class): Likewise.
50fb7002 11930 (grub_cur_term_input): Change variable as macro.
71b9f361 11931 (grub_cur_term_output): Likewise.
11932 (grub_term_register_input): Removed.
11933 (grub_term_register_output): Likewise.
11934 (grub_term_unregister_input): Likewise.
11935 (grub_term_unregister_output): Likewise.
11936 (grub_term_set_current_input): Likewise.
11937 (grub_term_set_current_output): Likewise.
11938 (grub_term_iterate_input): Likewise.
11939 (grub_term_iterate_output): Likewise.
11940 (grub_term_get_current_input): Likewise.
11941 (grub_term_get_current_output): Likewise.
11942
11943 * util/grub-editenv.c: Include header file <grub/handler.h>.
11944 (grub_term_get_current_input): Removed.
11945 (grub_term_get_current_output): Likewise.
11946 (grub_term_input_class): New variable.
50fb7002 11947 (grub_term_output_class): Likewise.
71b9f361 11948
11949 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11950 (grub_term_get_current_output): Likewise.
11951 (grub_term_input_class): New variable.
50fb7002 11952 (grub_term_output_class): Likewise.
71b9f361 11953
11954 * util/grub-probe.c (grub_term_get_current_input): Removed.
11955 (grub_term_get_current_output): Likewise.
11956 (grub_term_input_class): New variable.
50fb7002 11957 (grub_term_output_class): Likewise.
71b9f361 11958
11959 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11960 (grub_term_get_current_output): Likewise.
11961 (grub_term_input_class): New variable.
50fb7002 11962 (grub_term_output_class): Likewise.
71b9f361 11963
11964 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11965 (terminal_mod_SOURCES): Likewise.
11966 (terminal_mod_CFLAGS): Likewise.
11967 (terminal_mod_LDFLAGS): Likewise.
11968
11969 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11970 handler.c.
11971 (kernel_img_SOURCES): Add list.c and handler.c.
11972 (kernel_img_HEADERS): Add list.h and handler.h.
11973
11974 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11975 handler.c.
11976 (kernel_mod_SOURCES): Add list.c and handler.c.
11977 (kernel_mod_HEADERS): Add list.h and handler.h.
11978
11979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11980 handler.c.
11981 (kernel_elf_SOURCES): Add list.c and handler.c.
11982 (kernel_elf_HEADERS): Add list.h and handler.h.
11983
11984 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11985 handler.c.
11986 (kernel_elf_SOURCES): Add list.c and handler.c.
11987 (kernel_elf_HEADERS): Add list.h and handler.h.
11988
11989 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11990 handler.c.
11991 (kernel_mod_SOURCES): Add list.c and handler.c.
11992 (kernel_mod_HEADERS): Add list.h and handler.h.
11993
11994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11995 handler.c.
11996 (kernel_elf_SOURCES): Add list.c and handler.c.
11997 (kernel_elf_HEADERS): Add list.h and handler.h.
11998
8a31787f 119992009-02-27 Robert Millan <rmh@aybabtu.com>
12000
12001 Factorize elf32 / elf64 code in Multiboot loader. This will
12002 prevent it from getting out of sync again.
12003
12004 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
12005 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
12006 grub_multiboot_load_elf64): Move from here ...
12007 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
12008 grub_multiboot_load_elf): ... to here (new file).
12009
51cd3dfc 120102009-02-27 Robert Millan <rmh@aybabtu.com>
12011
12012 * util/grub.d/10_linux.in: Rename "single-user mode" to
12013 "recovery mode".
12014
6e8c9c3a 120152009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Don't leak in SCSI code.
12018 * disk/scsi.c (grub_scsi_close): free `scsi'.
12019
4b6bf4f9 120202009-02-27 Robert Millan <rmh@aybabtu.com>
12021
12022 * loader/i386/pc/multiboot.c: Move from here ...
12023 * loader/i386/multiboot.c: ... to here. Update all users.
12024
b9413424 120252009-02-27 Robert Millan <rmh@aybabtu.com>
12026
12027 Patch from Alexandre Bique <bique.alexandre@gmail.com>
12028 * util/i386/pc/grub-setup.c (setup): Fix directory path.
12029
50fb7002 120302009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 12031
12032 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
12033 b-tree.
12034
8cc50345 120352009-02-27 Robert Millan <rmh@aybabtu.com>
12036
12037 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
12038 `0x' qualifier as 0 when base is specified as parameter).
12039
6e09b8b7 120402009-02-24 Bean <bean123ch@gmail.com>
12041
12042 * configure.ac: Check for -mcmodel=large in x86_64 target.
12043
12044 * include/grub/efi/api.h (efi_call_10): New macro.
12045 (efi_wrap_10): New function.
12046
12047 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
12048 (GRUB_PE32_REL_BASED_HIGH): Likewise.
12049 (GRUB_PE32_REL_BASED_LOW): Likewise.
12050 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
12051 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
12052 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
12053 (GRUB_PE32_REL_BASED_SECTION): Likewise.
12054 (GRUB_PE32_REL_BASED_REL): Likewise.
12055 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
12056 (GRUB_PE32_REL_BASED_DIR64): Likewise.
12057 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
12058
12059 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
12060 issue.
12061
12062 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
12063 (efi_wrap_10): New function.
12064
12065 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
12066
12067 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
12068 MB/MBP model (NV chipset).
12069 (devdata_devs): Add devpath_5 to the list.
12070
12071 * load/i386/efi/linux.c (video_base): Remove variable.
12072 (RGB_MASK): New macro.
12073 (RGB_MAGIC): Likewise.
12074 (LINE_MIN): Likewise.
12075 (LINE_MAX): Likewise.
12076 (FBTEST_STEP): Likewise.
12077 (FBTEST_COUNT): Likewise.
12078 (fb_list): New variable.
12079 (grub_find_video_card): Remove function.
12080 (find_framebuf): New function.
12081 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
12082 line length.
12083
12084 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
12085 problem for x86_64.
12086
74b21bee 120872009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
12088
12089 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
12090
12091 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
12092 coding tool name.
12093
a455f472 120942009-02-22 Robert Millan <rmh@aybabtu.com>
12095
12096 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
12097 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
12098 in our relocation, instead of using it directly from heap. Also
12099 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
12100
6374daf3 121012009-02-21 Robert Millan <rmh@aybabtu.com>
12102
12103 Implement USB keyboard support (based on patch by Marco Gerards)
12104
12105 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
12106 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
12107 (usb_keyboard_mod_LDFLAGS): New variables.
12108
12109 * term/usb_keyboard.c: New file.
12110
8fa4ea70 121112009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 Corrected wrong declaration
12114
12115 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
12116
353976ac 121172009-02-14 Christian Franke <franke@computer.org>
12118
12119 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
12120 (grub_lspci_iter): Print class code and programming interface byte.
12121
6aa1169b 121222009-02-14 Christian Franke <franke@computer.org>
12123
12124 * gendistlist.sh: Ignore `.svn' directories.
12125
265372ca 121262009-02-14 Felix Zielcke <fzielcke@z-51.de>
12127
12128 * fs/fat.c: Add 2009 to Copyright line.
12129
9ff516f3 121302009-02-14 Christian Franke <franke@computer.org>
12131
12132 * commands/hdparm.c: New file. Provides `hdparm' command
12133 which sends ATA commands via grub_disk_ata_pass_through ().
12134
12135 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
12136
12137 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
12138 and <grub/cpu/io.h> to include/grub/ata.h.
12139 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
12140 (GRUB_CDROM_SECTOR_SIZE): Remove.
12141 (GRUB_ATA_*): Move to include/grub/ata.h.
12142 (GRUB_ATAPI_*): Likewise.
12143 (enum grub_ata_commands): Likewise.
12144 (enum grub_ata_timeout_milliseconds): Likewise.
12145 (struct grub_ata_device): Likewise.
12146 (grub_ata_regset): Likewise.
12147 (grub_ata_regget): Likewise.
12148 (grub_ata_regset2): Likewise.
12149 (grub_ata_regget2): Likewise.
12150 (grub_ata_check_ready): Likewise.
12151 (grub_ata_wait_not_busy): Remove static, exported in
12152 include/grub/ata.h.
12153 (grub_ata_wait_drq): Likewise.
12154 (grub_ata_pio_read): Likewise.
12155
12156 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
12157 function for hdparm.mod.
12158
12159 * include/grub/ata.h: New file, contains declarations from
12160 disk/ata.c.
12161 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
12162
12163 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
12164 (grub_disk_ata_pass_through): New exported variable.
12165
12166 * kern/disk.c (grub_disk_ata_pass_through): New variable.
12167
772e23da 121682009-02-13 Colin D Bennett <colin@gibibit.com>
12169
12170 Support multiple fallback entries, and provide an API to support
12171 executing default+fallback menu entries. Renamed the `terminal' menu
12172 viewer to `text'.
12173
12174 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
12175 variable declaration.
12176 (grub_menu_execute_callback): New structure declaration.
12177 (grub_menu_execute_callback_t): New typedef.
12178 (grub_menu_execute_with_fallback): New function declaration.
12179 (grub_menu_get_entry): Likewise.
12180 (grub_menu_get_timeout): Likewise.
12181 (grub_menu_set_timeout): Likewise.
12182
12183 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
12184
12185 * normal/menu.c (grub_wait_after_message): Moved to
12186 `normal/menu_text.c'.
12187 (draw_border): Likewise.
12188 (print_message): Likewise.
12189 (print_entry): Likewise.
12190 (print_entries): Likewise.
12191 (grub_menu_init_page): Likewise.
12192 (get_entry_number): Likewise.
12193 (print_timeout): Likewise.
12194 (run_menu): Likewise.
12195 (grub_menu_execute_entry): Likewise.
12196 (show_text_menu): Likewise.
12197 (get_and_remove_first_entry_number): New function.
12198 (grub_menu_execute_with_fallback): Likewise.
12199 (get_entry): Renamed to ...
12200 (grub_menu_get_entry): .. this and made it global.
12201 (get_timeout): Renamed to ...
12202 (grub_menu_get_timeout): ... this and made it global.
12203 (set_timeout): Renamed to ...
12204 (grub_menu_set_timeout): ... this and made it global.
12205 (grub_normal_terminal_menu_viewer): Renamed to ...
12206 (grub_normal_text_menu_viewer): ... this.
12207
12208 * normal/menu_text.c: New file. Extracted text-menu-specific code
12209 from normal/menu.c.
12210
12211 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
12212 (normal_mod_SOURCES): Likewise.
12213
12214 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12215 (normal_mod_SOURCES): Likewise.
12216
12217 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12218 (normal_mod_SOURCES): Likewise.
12219
12220 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
12221 (normal_mod_SOURCES): Likewise.
12222
12223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12224 (normal_mod_SOURCES): Likewise.
12225
12226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12227 (normal_mod_SOURCES): Likewise.
12228
12229 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12230 (normal_mod_SOURCES): Likewise.
12231
16ac430e 122322009-02-11 Robert Millan <rmh@aybabtu.com>
12233
12234 * util/grub.d/00_header.in: Update old reference to `font' command.
12235
06ff20fc 122362009-02-10 Felix Zielcke <fzielcke@z-51.de>
12237
12238 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
12239
12240 Based on patch from Javier MartĂ­n.
12241
96da9407 122422009-02-09 Felix Zielcke <fzielcke@z-51.de>
12243
12244 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 12245 to avoid false positives with FAT.
96da9407 12246 (grub_fstest_SOURCES): Likewise.
12247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12248 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12250 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12251 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12252 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12253
6dca6fe4 122542009-02-09 Felix Zielcke <fzielcke@z-51.de>
12255
06ff20fc 12256 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 12257 bpb.version_specific.fat12_or_fat16.fstype and
12258 bpb.version_specific.fat32.fstype.
12259
2550c62f 122602009-02-08 Robert Millan <rmh@aybabtu.com>
12261
be110b30 12262 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 12263
56978920 122642009-02-08 Robert Millan <rmh@aybabtu.com>
12265
12266 * Makefile.in (host_os, host_cpu): New variables.
12267 (target_os): Remove. Update all users.
12268
d64399b5 122692009-02-08 Marco Gerards <marco@gnu.org>
12270
12271 * Makefile.in (enable_grub_emu_usb): New variable.
12272 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
12273 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
12274 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
12275 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
12276 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
12277 `usbtest.mod' and `usbms.mod'.
12278 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
12279 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
12280 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
12281 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
12282 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
12283 variables.
12284
12285 * disk/usbms.c: New file.
12286
12287 * include/grub/usb.h: Likewise.
12288
12289 * include/grub/usbtrans.h: Likewise.
12290
12291 * include/grub/usbdesc.h: Likewise.
12292
12293 * bus/usb/usbtrans.c: Likewise.
12294
12295 * bus/usb/ohci.c: Likewise.
12296
12297 * bus/usb/uhci.c: Likewise.
12298
12299 * bus/usb/usbhub.c: Likewise.
12300
12301 * bus/usb/usb.c: Likewise.
12302
12303 * commands/usbtest.c: Likewise.
12304
12305 * util/usb.c: Likewise.
50fb7002 12306
d64399b5 12307 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
12308
12309 * configure.ac: Test for libusb presence.
50fb7002 12310
d64399b5 12311 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
12312
2b40d6bb 123132009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
12314
12315 * kern/mm.c: Add more comments.
12316
73a4ce81 123172009-02-08 Robert Millan <rmh@aybabtu.com>
12318
12319 Patch from Javier MartĂ­n.
12320 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
12321 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
12322
f821ce59 123232009-02-08 Robert Millan <rmh@aybabtu.com>
12324
12325 * fs/cpio.c: Split tar functionality to ...
12326 * fs/tar.c: ... here (new file). Update all users.
12327
aebfc4b0 123282009-02-07 Robert Millan <rmh@aybabtu.com>
12329
12330 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
12331 backward-incompatible features.
12332
12333 Based on patch from Javier MartĂ­n, with some adjustments.
12334
50fb7002 123352009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 12336
12337 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
12338
0bb5115e 123392009-02-07 Robert Millan <rmh@aybabtu.com>
12340
12341 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
12342 position of `disk/lvm.c' to ensure grub_init_all() always picks it
12343 after the RAID stuff.
12344
38a0f8e7 123452009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
12346
50fb7002 12347 Fixes problem when running vbetest command as reported by
38a0f8e7 12348 Vladimir Serbinenko <phcoder@gmail.com>.
12349
12350 * (grub_vbe_set_video_mode): Fixed problem with text modes.
12351
3143cc1c 123522009-02-04 Felix Zielcke <fzielcke@z-51.de>
12353
12354 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
12355 /dev/md/NpN style mdraid devices.
12356
9cba6fce 123572009-02-03 Felix Zielcke <fzielcke@z-51.de>
12358
12359 * util/unifont2pff.rb: Remove.
12360
e507a2c1 123612009-02-03 Felix Zielcke <fzielcke@z-51.de>
12362
12363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
12364 `#'.
12365
d2c2b4cd 123662009-02-03 Felix Zielcke <fzielcke@z-51.de>
12367
12368 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
12369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12370 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12373 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12375
b4315fb0 123762009-02-02 Christian Franke <franke@computer.org>
12377
12378 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
12379
de3aa260 123802009-02-01 Felix Zielcke <fzielcke@z-51.de>
12381
7c3ff286 12382 * INSTALL: Note that we now require at least autoconf 2.59 and
12383 that LZO is optional.
de3aa260 12384
825a182b 123852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12386
12387 Base on patch on bug #24154 created by Tomas Tintera
12388 <trosos@seznam.cz>.
12389
12390 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
12391
a69ef770 123922009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12393
7c3ff286 12394 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 12395 <bero@arklinux.org>.
12396
12397 * normal/parser.y (script_init): Add missing semicolon.
12398
6fa42fa6 123992009-01-31 Colin D Bennett <colin@gibibit.com>
12400
7c3ff286 12401 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 12402 (free_menu_entry_classes): Added.
12403 (grub_normal_menu_addentry): Added class property handling.
12404 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
12405 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
12406
12407 * normal/menu_viewer.c: New file.
12408
12409 * normal/menu.c (run_menu_entry): Renamed to ...
12410 (grub_menu_execute_entry): ... this and made it as global.
12411 (grub_menu_run): Renamed to ...
12412 (show_text_menu): ... this and made it local.
12413 (show_text_menu): Adapt to new function names.
12414 (grub_normal_terminal_menu_viewer): New global variable.
12415
12416 * include/grub/menu.h: New file.
12417
12418 * include/grub/menu_viewer.h: New file.
12419
12420 * include/grub/normal.h: Added include to grub/menu.h.
12421 (grub_menu_entry): Moved to include/grub/menu.h.
12422 (grub_menu_entry_t): Likewise.
12423 (grub_menu): Likewise.
12424 (grub_menu_t): Likewise.
12425 (grub_normal_terminal_menu_viewer): Added.
12426 (grub_menu_execute_entry): Likewise.
12427 (grub_menu_run): Removed.
12428
12429 * DISTLIST: Added include/grub/menu.h.
12430 Added include/grub/menu_viewer.h.
12431 Added normal/menu_viewer.c.
12432
124332009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
12434
12435 * normal/execute.c (grub_script_execute_menuentry): Changed to use
12436 arglist for menutitle arguments.
12437
12438 * normal/main.c (grub_normal_menu_addentry): Likewise.
12439
12440 * normal/parser.y (menuentry): Likewise.
12441
12442 * normal/script.c (grub_script_create_cmdmenu): Likewise.
12443
12444 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
12445 (grub_script_create_cmdmenu): Likewise.
12446
12447 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
12448
12449 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
12450 changes.
12451
12452 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
12453
12454 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
12455
12456 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
12457
12458 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12459
12460 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12461
12462 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12463
56192c23 124642009-01-30 Christian Franke <franke@computer.org>
12465
12466 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
12467 in option help text.
12468
d72521b3 124692009-01-27 Pavel Roskin <proski@gnu.org>
12470
12471 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
12472
994b5e84 124732009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12474
12475 * commands/lsmmap.c: Add include to grub/machine/memory.h.
12476
12477 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
12478
12479 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
12480 unregister function.
12481
6a7eab2c 124822009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12483
12484 * disk/scsi.c (grub_scsi_read): Fix sign problem.
12485
12486 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
12487
12488 * util/grub-mkfont.c (usage): Fix typo.
12489
12490 * util/elf/grub-mkimage.c (load_modules): Fix warning.
12491
1806b56e 124922009-01-26 Daniel Mierswa <impulze@impulze.org>
12493
3fb18f09 12494 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
12495
336e1fb9 12496 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
12497
1806b56e 12498 * kern/misc.c (grub_strcasecmp): New function.
12499 (grub_strcasecmp): Use grub_size_t instead of int for length.
12500 Fix return value.
12501 * include/grub/misc.h: Update function prototypes.
12502
580b2a0f 125032009-01-26 Robert Millan <rmh@aybabtu.com>
12504
12505 * configure.ac: Fix cross-compilation check.
ef257b36 12506
d31c24f1 125072009-01-22 Christian Franke <franke@computer.org>
12508
12509 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
12510 (precision) digit string. Allow `.format2' without `format1' (width).
12511 Limit input chars for `%s' output to `format2' if specified. This is
12512 compatible with standard printf ().
12513
3138b44c 125142009-01-22 Christian Franke <franke@computer.org>
12515
12516 * disk/ata.c (grub_ata_wait_status): Replace by ...
12517 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
12518 other status bits may be invalid while BSY is asserted.
12519 (grub_ata_check_ready): New function.
12520 (grub_ata_cmd): Removed.
12521 (grub_ata_wait_drq): New function.
12522 (grub_ata_strncpy): Remove inline.
12523 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
12524 and error check now done by grub_ata_wait_drq ().
12525 (grub_ata_pio_write): Likewise.
12526 (grub_atapi_identify): Set DEV before check for !BSY. Use
12527 grub_ata_wait_drq () to wait for data.
12528 (grub_ata_device_initialize): Add status register check to
12529 detect missing SATA slave devices. Add debug messages.
12530 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
12531 (grub_atapi_packet): Set DEV before check for !BSY. Replace
12532 transfer loop by grub_ata_pio_write ().
12533 (grub_ata_identify): Set DEV before check for !BSY. Use
12534 grub_ata_wait_drq () to wait for data.
ef257b36 12535 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 12536 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
12537 read/write in one loop. Fix invalid command on write. Fix incomplete
12538 command on (size % batch) == 0. Add missing error check after write of
12539 last block. Add debug messages.
12540 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
12541
59a64ef6 125422009-01-19 Christian Franke <franke@computer.org>
12543
12544 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
12545 (GRUB_ATAPI_IREASON_*): Likewise.
12546 (grub_ata_pio_write): Fix timeout error return.
12547 (grub_atapi_identify): Add grub_ata_wait () after cmd.
12548 (grub_atapi_wait_drq): New function.
12549 (grub_atapi_packet): New parameter `size'.
12550 Use grub_atapi_wait_drq () and direct write instead of
12551 grub_ata_pio_write ().
12552 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
12553 reads the number of bytes requested by the device for each DRQ
12554 assertion.
12555 (grub_atapi_write): Remove old implementation, return not
12556 implemented instead.
12557
1cfe20b3 125582009-01-19 Christian Franke <franke@computer.org>
12559
12560 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
12561 of 512 to calculate data size.
12562 (grub_scsi_read12): Likewise.
12563 (grub_scsi_write10): Likewise.
12564 (grub_scsi_write12): Likewise.
12565 (grub_scsi_read): Adjust size according to blocksize.
12566 Add checks for invalid blocksize and unaligned transfer.
12567
bee5fe5d 125682009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
12569
12570 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
12571
ef257b36 12572 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 12573 width glyphs.
12574
3e643f8c 125752009-01-19 Robert Millan <rmh@aybabtu.com>
12576
12577 * config.guess: Update to latest version from config git.
12578 * config.sub: Likewise.
12579
4fa80998 125802009-01-17 Felix Zielcke <fzielcke@z-51.de>
12581
12582 * Makefile.in: Change font compilation to use new grub-mkfont instead
12583 of java version.
12584
12585 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
12586 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
12587 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12588 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12589 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
12590 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
12591 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
12592 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
12593 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12594
7086085b 125952009-01-16 Christian Franke <franke@computer.org>
12596
12597 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
12598 (enum grub_ata_timeout_milliseconds): New enum.
12599 (grub_ata_wait_status): Add parameter milliseconds.
12600 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
12601 recovery from timed-out commands.
12602 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
12603 return grub_errno instead of REG_ERROR.
12604 (grub_ata_pio_write): Add parameter milliseconds.
12605 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
12606 Pass milliseconds to grub_ata_wait_status () and
12607 grub_ata_pio_read ().
12608 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
12609 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
12610 grub_ata_wait_status (). Fix IDENTIFY timeout check.
12611 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
12612 It is not suitable for device detection, because DEV bit is ignored,
12613 the command may run too long, and not all devices set the signature
12614 properly.
12615 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
12616 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
12617 Fix device selection, DEV bit must be set first to address the registers
12618 of the correct device.
12619 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
12620 grub_ata_pio_read/write ().
12621 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
12622 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
12623
4a412913 126242009-01-13 Carles Pina i Estany <carles@pina.cat>
12625
12626 * util/grub-editenv.c (main): Use fseeko(), not fseek().
12627
7795c55e 126282009-01-13 Bean <bean123ch@gmail.com>
d913988c 12629
12630 * util/grub-mkfont.c (write_font): forget to remove some debug code.
12631
7795c55e 126322009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 12633
12634 * Makefile.in: (enable_grub_mkfont): New variable.
12635 (freetype_cflags): Likewise.
12636 (freetype_libs): Likewise.
12637
12638 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
12639 (grub_mkfont_SOURCES): New variable.
12640 (grub_mkfont_CFLAGS): Likewise.
12641 (grub_mkfont_LDFLAGS): Likewise.
12642
12643 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
12644 library if `--enable-grub-mkfont' is requested.
12645 (enable_grub_mkfont): New variable.
12646 (freetype_cflags): Likewise.
12647 (freetype_libs): Likewise.
12648
12649 * util/grub-mkfont.c: New file.
12650
093af1fe 126512009-01-12 Christian Franke <franke@computer.org>
12652
12653 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
12654 mode check. Fix setting of compat_use[].
12655
f36cc108 126562009-01-10 Robert Millan <rmh@aybabtu.com>
12657
12658 Update a few copyright years which we forgot to do in 2008 (only for
12659 files whose changes made in 2008 were copyright-significant)
12660
12661 * Makefile.in: Add 2008 to Copyright line.
12662 * disk/ieee1275/ofdisk.c: Likewise.
12663 * disk/efi/efidisk.c: Likewise.
12664 * kern/dl.c: Likewise.
12665 * kern/sparc64/ieee1275/init.c: Likewise.
12666 * kern/mm.c: Likewise.
12667 * kern/efi/mm.c: Likewise.
12668 * boot/i386/pc/boot.S: Likewise.
12669 * genfslist.sh: Likewise.
12670 * fs/iso9660.c: Likewise.
12671 * fs/hfs.c: Likewise.
12672 * fs/jfs.c: Likewise.
12673 * fs/minix.c: Likewise.
12674 * fs/ufs.c: Likewise.
12675 * gensymlist.sh.in: Likewise.
12676 * genkernsyms.sh.in: Likewise.
12677 * include/grub/misc.h: Likewise.
12678 * include/grub/types.h: Likewise.
12679 * include/grub/symbol.h: Likewise.
12680 * include/grub/elf.h: Likewise.
12681 * include/grub/kernel.h: Likewise.
12682 * include/grub/disk.h: Likewise.
12683 * include/grub/dl.h: Likewise.
12684 * include/grub/i386/linux.h: Likewise.
12685 * include/grub/i386/pc/biosdisk.h: Likewise.
12686 * include/grub/efi/api.h: Likewise.
12687 * include/grub/efi/pe32.h: Likewise.
12688 * include/grub/util/misc.h: Likewise.
12689 * normal/execute.c: Likewise.
12690 * normal/arg.c: Likewise.
12691 * normal/completion.c: Likewise.
12692 * normal/lexer.c: Likewise.
12693 * normal/parser.y: Likewise.
12694 * normal/misc.c: Likewise.
12695 * commands/i386/pc/vbeinfo.c: Likewise.
12696 * commands/hexdump.c: Likewise.
12697 * commands/terminal.c: Likewise.
12698 * commands/ls.c: Likewise.
12699 * commands/help.c: Likewise.
12700 * partmap/pc.c: Likewise.
12701 * loader/efi/chainloader.c: Likewise.
12702 * loader/multiboot_loader.c: Likewise.
12703 * loader/i386/pc/multiboot2.c: Likewise.
12704 * term/efi/console.c: Likewise.
12705 * term/i386/pc/serial.c: Likewise.
12706 * util/lvm.c: Likewise.
12707 * util/console.c: Likewise.
12708 * util/i386/efi/grub-mkimage.c: Likewise.
12709 * util/raid.c: Likewise.
12710
7f02114b 127112009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
12712
12713 * commands/videotest.c: Removed include to grub/machine/memory.h.
12714
12715 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
12716 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
12717 (video_mod_SOURCES): Removed.
12718 (video_mod_CFLAGS): Likewise.
12719 (video_mod_LDFLAGS): Likewise.
12720 (gfxterm_mod_SOURCES): Likewise.
12721 (gfxterm_mod_CFLAGS): Likewise.
12722 (gfxterm_mod_LDFLAGS): Likewise.
12723 (videotest_mod_SOURCES): Likewise.
12724 (videotest_mod_CFLAGS): Likewise.
12725 (videotest_mod_LDFLAGS): Likewise.
12726 (bitmap_mod_SOURCES): Likewise.
12727 (bitmap_mod_CFLAGS): Likewise.
12728 (bitmap_mod_LDFLAGS): Likewise.
12729 (tga_mod_SOURCES): Likewise.
12730 (tga_mod_CFLAGS): Likewise.
12731 (tga_mod_LDFLAGS): Likewise.
12732 (jpeg_mod_SOURCES): Likewise.
12733 (jpeg_mod_CFLAGS): Likewise.
12734 (jpeg_mod_LDFLAGS): Likewise.
12735 (png_mod_SOURCES): Likewise.
12736 (png_mod_CFLAGS): Likewise.
12737 (png_mod_LDFLAGS): Likewise.
12738
12739 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
12740 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
12741 (video_mod_SOURCES): Added.
12742 (video_mod_CFLAGS): Likewise.
12743 (video_mod_LDFLAGS): Likewise.
12744 (videotest_mod_SOURCES): Likewise.
12745 (videotest_mod_CFLAGS): Likewise.
12746 (videotest_mod_LDFLAGS): Likewise.
12747 (bitmap_mod_SOURCES): Likewise.
12748 (bitmap_mod_CFLAGS): Likewise.
12749 (bitmap_mod_LDFLAGS): Likewise.
12750 (tga_mod_SOURCES): Likewise.
12751 (tga_mod_CFLAGS): Likewise.
12752 (tga_mod_LDFLAGS): Likewise.
12753 (jpeg_mod_SOURCES): Likewise.
12754 (jpeg_mod_CFLAGS): Likewise.
12755 (jpeg_mod_LDFLAGS): Likewise.
12756 (png_mod_SOURCES): Likewise.
12757 (png_mod_CFLAGS): Likewise.
12758 (png_mod_LDFLAGS): Likewise.
12759 (gfxterm_mod_SOURCES): Likewise.
12760 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 12761 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 12762
12763 * term/gfxterm.c: Removed include to grub/machine/memory.h,
12764 grub/machine/console.h.
12765
644fff97 127662009-01-04 Jerone Young <jerone@gmail.com>
12767
12768 Make on screen instructions clearer
12769
12770 Based on patch created by Jidanni <jidanni@jidanni.org>
12771
12772 * normal/menu.c: print clearer instructions on the screen
12773
1e901a75 127742009-01-02 Colin D Bennett <colin@gibibit.com>
12775
12776 New font engine.
34c44600 12777
1e901a75 12778 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
12779 build system and fixed gfxterm.c to work with different sized fonts.
12780
12781 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 12782
1e901a75 12783 * configure: Re-generated.
34c44600 12784
1e901a75 12785 * DISTLIST: Removed font/manager.c.
12786 Added font/font.c.
12787 Added font/font_cmd.c.
34c44600 12788
1e901a75 12789 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12790 compilation.
34c44600 12791
1e901a75 12792 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12793
12794 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12795
12796 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12797
1e901a75 12798 * normal/menu.c: Likewise.
34c44600 12799
1e901a75 12800 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12801 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12802
1e901a75 12803 * include/grub/font.h: Replaced with new file.
34c44600 12804
1e901a75 12805 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12806 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12807 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12808 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12809 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12810 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12811 fg_red, fg_green, fg_blue, fg_alpha.
12812 (grub_video_adapter): Removed blit_glyph.
34c44600 12813 (grub_video_blit_glyph): Removed.
12814
1e901a75 12815 * font/manager.c: Removed file.
34c44600 12816
12817 * font/font.c: New file.
12818
1e901a75 12819 * font/font_cmd.c: Likewise.
34c44600 12820
1e901a75 12821 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12822
1e901a75 12823 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12824 (grub_video_vbe_map_rgba): Likewise.
12825 (grub_video_vbe_unmap_color_int): Likewise.
12826 (grub_video_vbe_blit_glyph): Removed.
12827 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12828
1e901a75 12829 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12830 (get_pixel): Likewise.
34c44600 12831 (set_pixel): Likewise.
12832
1e901a75 12833 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12834
1e901a75 12835 * term/gfxterm.c: Adapted to new font engine.
34c44600 12836
1e901a75 12837 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12838
1e901a75 12839 * term/i386/pc/vga.c: Likewise.
34c44600 12840
1e901a75 12841 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12842
1e901a75 12843 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12844
1e901a75 12845 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12846
1e901a75 12847 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12848
1e901a75 12849 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12850
1e901a75 12851 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12852
1e901a75 12853 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12854
1e901a75 12855 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12856
1e901a75 12857 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12858
12859 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12860
1e901a75 12861 * util/grub-mkconfig_lib.in: Changed font extension.
12862
278922e8 128632008-12-28 Felix Zielcke <fzielcke@z-51.de>
12864
12865 * util/getroot.c (grub_util_get_grub_dev): Add support for
12866 /dev/md/dNNpNN style partitionable mdraid devices.
12867
3ced05cf 128682008-12-12 Alex Smith <alex@alex-smith.me.uk>
12869
12870 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12871 at a time limit of the PXE TFTP API correctly.
12872 (grub_pxefs_close): Likewise.
12873
7fd0ee30 128742008-11-29 Robert Millan <rmh@aybabtu.com>
12875
34c44600 12876 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12877 grub_ata_device_initialize() calls.
12878
34c44600 128792008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12880
12881 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12882 iteration failed.
12883 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12884
89313780 128852008-11-28 Robert Millan <rmh@aybabtu.com>
12886
12887 Fix build on powerpc-ieee1275. Based on patch created by
12888 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12889 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12890 `kern/ieee1275/mmap.c'.
12891 * include/grub/powerpc/ieee1275/memory.h: New file.
12892
15257703 12893 Provide grub-install on coreboot.
12894 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12895 (grub_install_SOURCES): New variable.
12896 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12897 usable on coreboot.
12898
9fc5388a 128992008-11-25 Felix Zielcke <fzielcke@z-51.de>
12900
12901 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12902 to `grub_term_input_t'.
12903 (grub_term_get_current_output): Change return type to
12904 `grub_term_output_t'.
12905
bc3a2f31 129062008-11-22 Robert Millan <rmh@aybabtu.com>
12907
34c44600 12908 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12909 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12910 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12911 grub_vga_text_cls().
12912
80fc88f2 12913 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12914 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12915
cbf36fd3 12916 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12917 to 0x200000 (avoids trouble with some OFW implementations, and matches
12918 with the one in Yaboot).
12919 Reported by Manoel Abranches
12920
73e8e268 129212008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12922
12923 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12924 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12925
73e8e268 12926 * util/grub-mkconfig_lib.in (grub_warn): New function.
12927 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12928 warnings, to obtain consistent formatting.
12929 * util/grub.d/00_header.in: Likewise.
12930 * util/update-grub_lib.in: Likewise.
12931
e94045a1 12932 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12933 Move comment text to `#error' stanza.
e94045a1 12934
79d29fd7 12935 Harmonize ieee1275's grub_available_iterate() with the generic
12936 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12937 build problem on i386-ieee1275):
12938 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12939 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12940 parameter `type'. Update all users of this function.
12941 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12942 `kern/ieee1275/mmap.c'.
12943 * kern/ieee1275/init.c
12944 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12945 with ...
12946 (grub_machine_mmap_iterate): ... this.
12947 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12948 return type to `grub_err_t'. Update all implementations of this
12949 function prototype.
12950 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12951 Likewise.
12952
60d6b16e 12953 Add `lsmmap' command (lists firmware-provided memory map):
12954 * commands/lsmmap.c: New file.
12955 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12956 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12957 variables.
12958 * conf/powerpc-ieee1275.rmk: Likewise.
12959 * conf/i386-coreboot.rmk: Likewise.
12960 * conf/i386-ieee1275.rmk: Likewise.
12961
ebaaf49b 129622008-11-19 Robert Millan <rmh@aybabtu.com>
12963
12964 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12965 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12966 constraints to initrd allocation (based on code from
12967 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12968 for Linux to find it.
ebaaf49b 12969
dfab719f 129702008-11-14 Robert Millan <rmh@aybabtu.com>
12971
12972 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12973 order to cope with duplicate slashes.
12974
10fc3eb9 129752008-11-14 Robert Millan <rmh@aybabtu.com>
12976
12977 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12978 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12979 don't want to mess with lower memory, because it is used in the Linux
12980 loader.
12981
12982 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12983 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12984 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12985 is in our heap (probably as a result of it being corrupted during
2f2a3442 12986 decompression). Add #error instance with comment to explain why this
12987 loader isn't currently usable on PC/BIOS.
10fc3eb9 12988
e2e07847 129892008-11-14 Robert Millan <rmh@aybabtu.com>
12990
12991 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12992 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12993
fe8e8d69 129942008-11-12 Robert Millan <rmh@aybabtu.com>
12995
12996 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12997
12998 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12999 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
13000 from here ...
13001 * include/grub/i386/pc/memory.h: ... to here.
13002
976b07d0 130032008-11-12 Robert Millan <rmh@aybabtu.com>
13004
13005 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
13006 split).
13007
13008 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
13009 (grub_console_cur_color, grub_console_real_putchar)
13010 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13011 (grub_console_setcolorstate, grub_console_setcolor)
13012 (grub_console_getcolor): Move from here ...
13013 * include/grub/i386/vga_common.h: ... to here (new file).
13014
13015 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
13016 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
13017 `<grub/i386/io.h>'.
13018 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
13019 `<grub/i386/vga_common.h>'.
13020
76679cd3 130212008-11-12 Robert Millan <rmh@aybabtu.com>
13022
13023 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
13024 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
13025 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
13026 variables.
13027 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13028 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
13029
13030 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
13031 grub_console_init() with call to grub_vga_text_init().
13032 (grub_machine_fini): Replace call to
13033 grub_console_fini() with call to grub_vga_text_fini() and
13034 grub_at_keyboard_fini().
13035
13036 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
13037 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13038 (grub_console_setcolorstate, grub_console_setcolor)
13039 (grub_console_getcolor): New function prototypes.
13040
13041 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
13042 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
13043 (grub_vga_text_setcursor): Static-ize.
13044 (grub_vga_text_term): New structure.
13045 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
13046
13047 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
13048 (grub_console_cur_color, grub_console_standard_color)
13049 (grub_console_normal_color, grub_console_highlight_color)
13050 (map_char, grub_console_putchar, grub_console_getcharwidth)
13051 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
13052 (grub_console_getcolor): Move from here ...
13053 * term/i386/vga_common.c: ... to here (same function names).
13054
95b841d3 130552008-11-12 Robert Millan <rmh@aybabtu.com>
13056
13057 Use newly-added Multiboot support in coreboot.
13058
13059 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13060 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
13061
13062 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
13063 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
13064 (codestart): Store the MBI in `startup_multiboot_info' when we're
13065 being loaded using Multiboot.
13066
13067 * kern/i386/coreboot/init.c (grub_machine_init): Move
13068 grub_at_keyboard_init() call to beginning of function (useful for
13069 debugging). Call grub_machine_mmap_init() before attempting to use
13070 grub_machine_mmap_iterate().
13071 (grub_lower_mem, grub_upper_mem): Move from here ...
13072 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
13073 here (new file).
13074
13075 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
13076 function prototype.
13077
761ca975 130782008-11-12 Robert Millan <rmh@aybabtu.com>
13079
13080 Fix a regression introduced by the at_keyboard.mod split. Because
13081 some terminals are default on some platforms and non-default on
13082 others, the first terminal being registered determines which is
13083 going to be default.
13084
13085 * kern/term.c (grub_term_register_input): If this is the first
13086 terminal being registered, set it as the current one.
13087 (grub_term_register_output): Likewise.
13088
13089 * term/efi/console.c (grub_console_init): Do not call
13090 grub_term_set_current_output() or grub_term_set_current_input().
13091 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
13092 * term/i386/pc/console.c (grub_console_init): Likewise.
13093 (grub_console_fini): Do not call grub_term_set_current_input()
13094 (but leave grub_term_set_current_output() to restore text mode).
13095
6c529df7 130962008-11-10 Robert Millan <rmh@aybabtu.com>
13097
13098 * util/grub.d/00_header.in: Add backward compatibility check for
13099 versions of terminal.mod that don't understand `terminal_input' or
13100 `terminal_output'.
13101
132e4113 131022008-11-09 Robert Millan <rmh@aybabtu.com>
13103
13104 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
13105 `terminal_input' / `terminal_output', not `terminal'.
13106
ac293d50 131072008-11-08 Robert Millan <rmh@aybabtu.com>
13108
13109 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 13110 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 13111
0025933a 131122008-11-08 Robert Millan <rmh@aybabtu.com>
13113
13114 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 13115 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 13116 members. Update all users.
13117 * util/console.c (grub_ncurses_term): Split in ...
13118 (grub_ncurses_term_input): ... this, and ...
13119 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 13120 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 13121
37c86336 131222008-11-08 Robert Millan <rmh@aybabtu.com>
13123
13124 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
13125 (PKGDATA): Add $(pkgdata_SRCDIR).
13126 (pkglib_BUILDDIR): New variable.
13127 (pkgdata_SRCDIR): New variable.
13128 (build_env.mk): New target.
13129 (include_DATA): New variable.
13130 (install-local): Install $(include_DATA) files in $(includedir).
13131
b6c15a2d 131322008-11-07 Pavel Roskin <proski@gnu.org>
13133
d99d46f1 13134 * gendistlist.sh: Use C locale for sorting to ensure consistent
13135 output on all systems.
13136
b6c15a2d 13137 * util/grub.d/00_header.in: Remove incorrect space before
13138 "serial".
13139
c32ee8c9 131402008-11-07 Robert Millan <rmh@aybabtu.com>
13141
13142 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
13143 per specification.
13144 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
13145 * loader/multiboot_loader.c (find_multi_boot2_header): New function
13146 (based on find_multi_boot1_header).
13147 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
13148 using find_multi_boot2_header(), and abort if neither Multiboot or
13149 Multiboot headers were found.
13150
651c29b7 131512008-11-07 Robert Millan <rmh@aybabtu.com>
13152
13153 Modularize at_keyboard.mod:
13154
13155 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
13156 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13157 (at_keyboard_mod_LDFLAGS): New variables.
13158
13159 Actual terminal split:
13160
13161 * include/grub/term.h (struct grub_term): Split in ...
13162 (struct grub_term_input): ... this, and ...
13163 (struct grub_term_output): ... this. Update all users.
13164 (grub_term_set_current): Split in ...
13165 (grub_term_set_current_input): ... this, and ...
13166 (grub_term_set_current_output): ... this.
13167 (grub_term_get_current): Split in ...
13168 (grub_term_get_current_input): ... this, and ...
13169 (grub_term_get_current_output): ... this.
13170 (grub_term_register): Split in ...
13171 (grub_term_register_input): ... this, and ...
13172 (grub_term_register_output): ... this.
13173 (grub_term_unregister): Split in ...
13174 (grub_term_unregister_input): ... this, and ...
13175 (grub_term_unregister_output): ... this.
13176 (grub_term_iterate): Split in ...
13177 (grub_term_iterate_input): ... this, and ...
13178 (grub_term_iterate_output): ... this.
13179
13180 * kern/term.c (grub_term_list): Split in ...
13181 (grub_term_list_input): ... this, and ...
13182 (grub_term_list_output): ... this. Update all users.
13183 (grub_cur_term): Split in ...
13184 (grub_cur_term_input): ... this, and ...
13185 (grub_cur_term_output): ... this. Update all users.
13186 (grub_term_set_current): Split in ...
13187 (grub_term_set_current_input): ... this, and ...
13188 (grub_term_set_current_output): ... this.
13189 (grub_term_get_current): Split in ...
13190 (grub_term_get_current_input): ... this, and ...
13191 (grub_term_get_current_output): ... this.
13192 (grub_term_register): Split in ...
13193 (grub_term_register_input): ... this, and ...
13194 (grub_term_register_output): ... this.
13195 (grub_term_unregister): Split in ...
13196 (grub_term_unregister_input): ... this, and ...
13197 (grub_term_unregister_output): ... this.
13198 (grub_term_iterate): Split in ...
13199 (grub_term_iterate_input): ... this, and ...
13200 (grub_term_iterate_output): ... this.
13201
13202 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
13203 a check for input and one for output (and only attempt to get keys
13204 from user when input works).
13205
13206 * util/grub-probe.c (grub_term_get_current): Split in ...
13207 (grub_term_get_current_input): ... this, and ...
13208 (grub_term_get_current_output): ... this.
13209 * util/grub-fstest.c: Likewise.
13210 * util/i386/pc/grub-setup.c: Likewise.
13211 * util/grub-editenv.c: Likewise.
13212
13213 Portability adjustments:
13214
13215 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
13216 `term/i386/pc/at_keyboard.c'.
13217 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
13218 grub_keyboard_controller_init() (now handled by terminal .init).
13219 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
13220 grub_at_keyboard_init().
13221 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
13222 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
13223 at_keyboard.mod via input terminal interface).
13224 * include/grub/i386/coreboot/console.h: Convert into a stub for
13225 `<grub/i386/pc/console.h>'.
13226
13227 Migrate full terminals to new API:
13228
13229 * term/efi/console.c (grub_console_term): Split into ...
13230 (grub_console_term_input): ... this, and ...
13231 (grub_console_term_output): ... this. Update all users.
13232 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
13233 (grub_ofconsole_init): Split into ...
13234 (grub_ofconsole_init_input): ... this, and ...
13235 (grub_ofconsole_init_output): ... this.
13236 (grub_ofconsole_term): Split into ...
13237 (grub_ofconsole_term_input): ... this, and ...
13238 (grub_ofconsole_term_output): ... this. Update all users.
13239 * term/i386/pc/serial.c (grub_serial_term): Split into ...
13240 (grub_serial_term_input): ... this, and ...
13241 (grub_serial_term_output): ... this. Update all users.
13242 * term/i386/pc/console.c (grub_console_term): Split into ...
13243 (grub_console_term_input): ... this, and ...
13244 (grub_console_term_output): ... this. Update all users.
13245 (grub_console_term_input): Only enable it on PC/BIOS platform.
13246 (grub_console_init): Remove grub_keyboard_controller_init() call.
13247
13248 Migrate input terminals to new API:
13249
13250 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
13251 `i386' and `i386/pc' to enable build on x86_64 (this driver is
13252 i386-specific anyway).
13253 (grub_console_checkkey): Rename to ...
13254 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
13255 users.
13256 (grub_keyboard_controller_orig): New variable.
13257 (grub_console_getkey): Rename to ...
13258 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
13259 users.
13260 (grub_keyboard_controller_init): Static-ize. Save original
13261 controller value so that it can be restored ...
13262 (grub_keyboard_controller_fini): ... here (new function).
13263 (grub_at_keyboard_term): New structure.
13264 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
13265 functions.
13266
13267 Migrate output terminals to new API:
13268
13269 * term/i386/pc/vga.c (grub_vga_term): Change type to
13270 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13271 members. Update all users.
13272 * term/gfxterm.c (grub_video_term): Change type to
13273 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13274 members. Update all users.
13275 * include/grub/i386/pc/console.h (grub_console_checkkey)
13276 (grub_console_getkey): Do not export (no longer needed by gfxterm,
13277 etc).
13278
13279 Migrate `terminal' command and userland tools to new API:
13280
13281 * commands/terminal.c (grub_cmd_terminal): Split into ...
13282 (grub_cmd_terminal_input): ... this, and ...
13283 (grub_cmd_terminal_output): ... this.
13284 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
13285 `terminal_input' and `terminal_output'.
13286 * util/grub.d/00_header.in: Adjust `terminal' calls to new
13287 `terminal_input' / `terminal_output' API.
13288 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
13289 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
13290 provided ${GRUB_TERMINAL}, convert it).
13291
96e5d876 132922008-11-04 Robert Millan <rmh@aybabtu.com>
13293
13294 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
13295 for FreeBSD.
13296 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
13297
556f3775 132982008-11-03 Bean <bean123ch@gmail.com>
13299
13300 * kern/elf.c (grub_elf32_load): Revert to previous code.
13301 (grub_elf64_load): Likewise.
13302
13303 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
13304
926b9823 133052008-11-01 Robert Millan <rmh@aybabtu.com>
13306
13307 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
13308 (TARGET_CPPFLAGS): Likewise.
13309 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
13310
1432e958 133112008-11-01 Carles Pina i Estany <carles@pina.cat>
13312
13313 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
13314
dba3f844 133152008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 13316
13317 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
13318 addition of objects until the code is not going to be able to fail.
13319
dba3f844 133202008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 13321
13322 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
13323 (add a missing NULL check, and correct them by moving the pointer
13324 operations after the actual check).
13325
7ab28c21 133262008-10-29 Robert Millan <rmh@aybabtu.com>
13327
13328 * util/i386/pc/grub-install.in: Handle empty string as output from
13329 make_system_path_relative_to_its_root().
13330
1b7748eb 133312008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
13332
13333 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
13334 circular metadata worst case scenario. If the metadata is circular
13335 then copy the wrap in place.
13336 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
13337 project lib/format_text/layout.h
13338 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
13339
c9618ab2 133402008-10-03 Felix Zielcke <fzielcke@z-51.de>
13341
7a36edca 13342 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 13343
bf981c62 133442008-10-03 Felix Zielcke <fzielcke@z-51.de>
13345
13346 * util/update-grub_lib.in: Mention filename in warning message.
13347
6d994591 133482008-09-29 Felix Zielcke <fzielcke@z-51.de>
13349
13350 * NEWS: Update for rename of update-grub to grub-mkconfig.
13351
18ade780 133522008-09-29 Felix Zielcke <fzielcke@z-51.de>
13353
13354 * util/update-grub_lib.in: Copy to ...
13355 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 13356 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 13357 * util/update-grub.in: Rename to ...
13358 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
13359 option. Add `--output' option to allow users to specify the generated
13360 configuration file. Default to stdout.
13361 (update_grub_dir): Rename to ...
13362 (grub_mkconfig_dir): ... this.
13363 (grub_cfg): Default to an empty string.
13364 * conf/common.rmk (update-grub): Rename to ...
13365 (grub-mkconfig): ... this.
13366 (update-grub_lib): Copy to ...
13367 (grub-mkconfig_lib): ... this.
13368 (update-grub_SCRIPTS): Copy to ...
13369 (grub-mkconfig_SCRIPTS): ... this. Update all users.
13370 (update-grub_DATA): Rename to ...
13371 (grub-mkconfig_DATA): ... this.
13372
556ce6ac 133732008-09-28 Robert Millan <rmh@aybabtu.com>
13374
13375 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
13376 to `modified'. Add the real `created' field.
13377 (grub_iso9660_uuid): Use `modified' rather than `created' for
13378 constructing the UUID.
13379
133802008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 13381
13382 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
13383 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
13384
92274e85 133852008-09-28 Bean <bean123ch@gmail.com>
13386
13387 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
13388 Thanks to Christian Franke for finding this bug.
13389
add6f17a 133902008-09-25 Robert Millan <rmh@aybabtu.com>
13391
13392 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
13393 instances of grub_util_get_disk_name() (see previous commit).
13394
d2a367b8 133952008-09-25 Robert Millan <rmh@aybabtu.com>
13396
13397 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
13398 `util/i386/get_disk_name.c'.
13399 * conf/i386-efi.rmk: Likewise.
13400 * conf/x86_64-efi.rmk: Likewise.
13401 * conf/i386-coreboot.rmk: Likewise.
13402 * conf/i386-ieee1275.rmk: Likewise.
13403 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
13404 `util/ieee1275/get_disk_name.c'.
13405 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
13406 * util/ieee1275/get_disk_name.c: Remove file.
13407 * util/i386/get_disk_name.c: Remove file.
13408 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
13409 "hd%d" for device.map entries, rather than using
13410 grub_util_get_disk_name().
13411
81a06771 134122008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 13413
13414 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
13415 warning.
13416 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
13417
5a004279 134182008-09-24 Carles Pina i Estany <carles@pina.cat>
13419
13420 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
13421 Changed to 0x5100.
13422 (GRUB_TERM_PPAGE): Changed to 0x4900.
13423
397093d3 134242008-09-24 Robert Millan <rmh@aybabtu.com>
13425
13426 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
13427 macros (they were i386-pc specific).
13428 * include/grub/sparc64/ieee1275/console.h: Likewise.
13429 * include/grub/efi/console.h: Likewise.
13430
a91b6c7c 134312008-09-22 Bean <bean123ch@gmail.com>
13432
13433 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
13434 resident and in attribute list.
13435
13436 * include/grub/ntfs.h (BMP_LEN): Removed.
13437
c40fd116 134382008-09-22 Bean <bean123ch@gmail.com>
13439
81a06771 13440 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 13441 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
13442
13443 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
13444 error occurs, as grub_disk_open will call grub_disk_close, which will
13445 call p->close (scsi).
13446
81a06771 134472008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 13448
13449 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
13450 (AC_PREREQ): Bumped to 2.59.
13451 (AC_TRY_COMPILE): Replace obsolete macro with ...
13452 (AC_COMPILE_IFELSE): ... this.
13453 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
13454 (AC_LINK_IFELSE): ... this.
13455
5dc43410 134562008-09-21 Felix Zielcke <fzielcke@z-51.de>
13457
13458 * autogen.sh: Add a call to `gendistlist.sh'.
13459
9035dce4 134602008-09-19 Christian Franke <franke@computer.org>
13461
13462 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
13463 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
13464 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
13465 Export __enable_execute_stack() to modules.
13466 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
13467 New function.
13468
7fd75377 134692008-09-09 Felix Zielcke <fzielcke@z-51.de>
13470
040030b3 13471 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
13472 Sort the list.
13473
134742008-09-09 Felix Zielcke <fzielcke@z-51.de>
13475
13476 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 13477 #include <grub/util/hostdisk.h>.
13478
89d5ffcf 134792008-09-08 Robert Millan <rmh@aybabtu.com>
13480
13481 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
13482 segments when their filesz is zero (grub_file_read() interprets
81a06771 13483 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 13484 Use `lowest_segment' rather than 0 for calculating the current
13485 segment load address.
13486
40da438f 134872008-09-08 Robert Millan <rmh@aybabtu.com>
13488
13489 * util/hostdisk.c (open_device): Replace a grub_util_info() call
13490 with grub_dprintf("hostdisk", ...), as it was so verbose that it
13491 clobbered useful information.
13492
ddbf5556 134932008-09-08 Robert Millan <rmh@aybabtu.com>
13494
13495 * include/grub/util/biosdisk.h: Move to ...
13496 * include/grub/util/hostdisk.h: ... here. Update all users.
13497 * util/biosdisk.c: Move to ...
13498 * util/hostdisk.c: ... here. Update all users.
13499
783d0f48 135002008-09-07 Robert Millan <rmh@aybabtu.com>
13501
13502 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
13503 variables.
13504 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
13505 and length can be stored directly in the `mbi->mmap_addr' and
13506 `mbi->mmap_length' struct fields.
13507
548e2ea5 135082008-09-07 Robert Millan <rmh@aybabtu.com>
13509
13510 * conf/i386.rmk: New file. Provides declaration for building
13511 `cpuid.mod'.
13512 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
13513 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
13514 variables.
13515 Include `conf/i386.mk'.
13516 * conf/i386-efi.rmk: Likewise.
13517 * conf/x86_64-efi.rmk: Likewise.
13518 * conf/i386-coreboot.rmk: Likewise.
13519 * conf/i386-ieee1275.rmk: Likewise.
13520
0ea85a37 135212008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
13522
13523 Based on patch created by Colin D Bennett <colin@gibibit.com>.
13524 Adds optimization support for BGR based modes.
13525
13526 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
13527 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13528 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13529 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13530 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13531 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13532 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13533 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13534 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13535 (grub_video_i386_vbeblit_index_index): Likewise.
13536 (grub_video_i386_vbeblit_replace_directN): Added.
13537 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13538 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13539 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13540 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13541 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13542 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 13543 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 13544 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13545 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13546 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13547 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13548 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13549 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
13550
13551 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
13552 (grub_video_i386_vbefill_R8G8B8): Likewise.
13553 (grub_video_i386_vbefill_index): Likewise.
13554 (grub_video_i386_vbefill_direct32): Added.
13555 (grub_video_i386_vbefill_direct24): Likewise.
13556 (grub_video_i386_vbefill_direct16): Likewise.
13557 (grub_video_i386_vbefill_direct8): Likewise.
13558
81a06771 13559 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 13560 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
13561 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
13562 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
13563 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
13564 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 13565
0ea85a37 13566 * video/video.c (grub_video_get_blit_format): Updated to use new
13567 blit formats. Added handling for 16 bit color modes.
81a06771 13568
13569 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 13570 fillers.
13571 (common_blitter): Updated to use new blitters.
13572
13573 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
13574 Removed.
13575 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13576 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13578 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13579 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13580 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13581 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13582 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13583 (grub_video_i386_vbeblit_index_index): Likewise.
13584 (grub_video_i386_vbeblit_replace_directN): Added.
13585 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13586 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13587 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13588 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13589 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13590 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
13591 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
13592 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13593 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13594 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13595 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13596 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13597 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 13598
0ea85a37 13599 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
13600 (grub_video_i386_vbefill_R8G8B8): Likewise.
13601 (grub_video_i386_vbefill_index): Likewise.
13602 (grub_video_i386_vbefill_direct32): Added.
13603 (grub_video_i386_vbefill_direct24): Likewise.
13604 (grub_video_i386_vbefill_direct16): Likewise.
13605 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 13606
0ea85a37 13607 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
13608 types.
81a06771 13609
0ea85a37 13610 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
13611 types.
81a06771 13612
0ea85a37 13613 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
13614 blitter types.
81a06771 13615
0ea85a37 13616 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
13617 types.
13618
e8a83df6 136192008-09-06 Felix Zielcke <fzielcke@z-51.de>
13620
13621 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
13622 RAID level 1.
13623
6bcd8ee5 136242008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 13625
6bcd8ee5 13626 * fs/iso9660.c (grub_iso9660_date): New structure.
13627 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
13628 (grub_iso9660_uuid): New function.
c375ae58 13629
59261157 136302008-09-05 Bean <bean123ch@gmail.com>
13631
13632 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
13633
13634 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
13635 insensitive bit for names in Win32 and Win32 & DOS namespace.
13636
13637 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
13638
13639 * include/grub/types.h (LONG_MAX): Likewise.
13640
58b6645a 136412008-09-04 Felix Zielcke <fzielcke@z-51.de>
13642
4ee55921 13643 * util/getroot.c: Include <config.h>.
13644 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
13645 add support for /dev/md/N devices and handle LVM double dash escaping.
13646
136472008-09-04 Felix Zielcke <fzielcke@z-51.de>
13648
13649 * config.guess: Update to latest version from config git.
13650 * config.sub: Likewise.
58b6645a 13651
9124f65d 136522008-09-03 Robert Millan <rmh@aybabtu.com>
13653
13654 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
13655 `disk->total_sectors'.
13656
81a06771 136572008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 13658
13659 * include/grub/normal.h: Fixed incorrect comment for
13660 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
13661
81a06771 136622008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 13663
13664 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
13665 values with defines.
13666
13667 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
13668 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
13669 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
13670 (GRUB_VBE_MODEATTR_COLOR): Likewise.
13671 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
13672 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
13673 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
13674 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
13675 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
13676 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
13677 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
13678 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
13679 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
13680 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
13681 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
13682 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
13683 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
13684 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
13685 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
13686
93d5cbf8 136872008-08-31 Robert Millan <rmh@aybabtu.com>
13688
13689 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
13690 declaration.
13691 (grub_multiboot): Fix a few warnings.
13692
21751d50 136932008-08-31 Robert Millan <rmh@aybabtu.com>
13694
13695 * loader/i386/pc/multiboot.c: Update comment not to say that
13696 boot_device support is unimplemented.
13697
e27a75c5 136982008-08-31 Robert Millan <rmh@aybabtu.com>
13699
13700 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
13701 or memory map support are unimplemented.
13702
81a06771 137032008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 13704
13705 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
13706
81a06771 137072008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 13708
13709 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
13710 total video memory in 'vbeinfo' output; show color format details for
13711 each video mode.
13712
7c5d8d95 137132008-08-30 Pavel Roskin <proski@gnu.org>
13714
13715 * util/genmoddep.c: Remove for real this time.
13716 * DISTLIST: Remove util/genmoddep.c.
13717
4cebd25a 137182008-08-30 Robert Millan <rmh@aybabtu.com>
13719
13720 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
13721 as required by Multiboot spec (it was already 4-byte aligned, but
13722 only by chance).
13723
b497a269 137242008-08-29 Pavel Roskin <proski@gnu.org>
13725
e3925185 13726 * kern/powerpc/ieee1275/crt0.S: Rename to ...
13727 * kern/powerpc/ieee1275/startup.S: ... this.
13728 * conf/powerpc-ieee1275.rmk: Adjust for the above.
13729 * DISTLIST: Likewise.
13730
b497a269 13731 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
13732 grub/cpu/kernel.h. Add start label for consistency with other
13733 platforms. Add grub_prefix immediately after start. Add jump
13734 to the code after grub_prefix.
13735 * include/grub/powerpc/kernel.h: Provide valid values for
13736 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
13737
6e5a42fe 137382008-08-29 Bean <bean123ch@gmail.com>
13739
13740 * configure.ac: Change host_os to cygwin for mingw.
13741 (asprintf): New check for function.
13742
13743 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
13744 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
13745
13746 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 13747 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 13748 sync, sleep and grub_util_get_disk_size for mingw.
13749
13750 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
13751 to get size in mingw.
13752 (open_device): Use flag O_BINARY if it's defined.
13753 (find_root_device): Add dummy code for mingw.
13754
13755 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
13756 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
13757 (get_scsi_disk_name): Return 0 for mingw.
13758
13759 * util/hostfs.c: #include <grub/util/misc.h>.
13760 (grub_hostfs_open): Use "rb" flag to open file, use
13761 grub_util_get_disk_size to get disk size for mingw.
13762
13763 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
13764 (asprintf): New function if HAVE_ASPRINTF is not set.
13765 (sync): New function for mingw.
13766 (sleep): Likewise.
13767 (grub_util_get_disk_size): Likewise.
13768
ab3f2673 137692008-08-28 Pavel Roskin <proski@gnu.org>
13770
13771 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13772 kern/time.c.
13773
1c282483 137742008-08-28 Robert Millan <rmh@aybabtu.com>
13775
13776 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
13777
678e849c 137782008-08-28 Robert Millan <rmh@aybabtu.com>
13779
13780 Change find_grub_drive() syntax so it doesn't prevent it from
13781 detecting NULL names as errors.
13782
13783 * util/biosdisk.c (find_grub_drive): Move free slot search code
13784 from here ...
13785 (find_free_slot): ... to here.
13786 (read_device_map): Use find_free_slot() to search for free slots.
13787
965c75ca 137882008-08-27 Marco Gerards <marco@gnu.org>
13789
13790 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13791 (scsi_mod_SOURCES): New variable.
13792 (scsi_mod_CFLAGS): Likewise
13793 (scsi_mod_LDFLAGS): Likewise.
13794
13795 * disk/scsi.c: New file.
13796
13797 * include/grub/scsi.h: Likewise.
13798
13799 * include/grub/scsicmd.h: Likewise.
13800
13801 * disk/ata.c: Include <grub/scsi.h>.
13802 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13803 instead.
13804 (grub_ata_iterate): Skip ATAPI devices.
13805 (grub_ata_open): Only handle ATAPI devices.
13806 (struct grub_atapi_read): Removed.
13807 (grub_atapi_readsector): Likewise.
13808 (grub_ata_read): No longer handle ATAPI devices.
13809 (grub_ata_write): Likewise.
13810 (grub_atapi_iterate): New function.
13811 (grub_atapi_read): Likewise.
13812 (grub_atapi_write): Likewise.
13813 (grub_atapi_open): Likewise.
13814 (grub_atapi_close): Likewise.
13815 (grub_atapi_dev): New variable.
13816 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13817 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13818
13819 * include/grub/disk.h (enum grub_disk_dev_id): Add
13820 `GRUB_DISK_DEVICE_SCSI_ID'.
13821
c07ae501 138222008-08-26 Robert Millan <rmh@aybabtu.com>
13823
13824 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13825 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13826 descriptive.
13827
5ed20adc 138282008-08-23 Bean <bean123ch@gmail.com>
13829
13830 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13831 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13832 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13833 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13834 dm_nv.mod.
13835 (raid5rec_mod_SOURCES): New macro.
13836 (raid5rec_mod_CFLAGS): Likewise.
13837 (raid5rec_mod_LDFLAGS): Likewise.
13838 (raid6rec_mod_SOURCES): Likewise.
13839 (raid6rec_mod_CFLAGS): Likewise.
13840 (raid6rec_mod_LDFLAGS): Likewise.
13841 (mdraid_mod_SOURCES): Likewise.
13842 (mdraid_mod_CFLAGS): Likewise.
13843 (mdraid_mod_LDFLAGS): Likewise.
13844 (dm_nv_mod_SOURCES): Likewise.
13845 (dm_nv_mod_CFLAGS): Likewise.
13846 (dm_nv_mod_LDFLAGS): Likewise.
13847
13848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13849 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13850 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13851
13852 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13853 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13854
13855 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13856
13857 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13858
13859 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13860
13861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13862
13863 * disk/raid5_recover.c: New file.
13864
13865 * disk/raid6_recover.c: Likewise.
13866
13867 * disk/mdraid_linux.c: Likewise.
13868
13869 * disk/dmraid_nvidia.c: Likewise.
13870
13871 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13872 ULONG_MAX.
13873
13874 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13875 calculate the size of raid device.
13876 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13877 different layout of raid5.
13878 (grub_raid_scan_device): Remove code specific to mdraid.
13879 (grub_raid_list): New variable.
13880 (free_array): New function.
13881 (grub_raid_register): Likewise.
13882 (grub_raid_unregister): Likewise.
13883 (grub_raid_rescan): Likewise.
13884 (GRUB_MOD_INIT): Don't iterate device here.
13885 (GRUB_MOD_FINI): Use free_array to release resource.
13886
13887 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13888 (grub_raid5_recover_func_t): New function variable type.
13889 (grub_raid6_recover_func_t): Likewise.
13890 (grub_raid5_recover_func): New variable.
13891 (grub_raid6_recover_func): Likewise.
13892 (grub_raid_register): New function.
13893 (grub_raid_unregister): Likewise.
13894 (grub_raid_rescan): Likewise.
13895 (grub_raid_block_xor): Likewise.
13896
13897 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13898 (CMD_CRC): New macro.
13899 (part): Removed.
13900 (read_file): Handle device as well as file.
13901 (cmd_crc): New function.
13902 (fstest): Handle multiple disks.
13903 (options): Remove part, raw and long, add root and diskcount.
13904 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13905 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13906 add handling for the new options, support multiple disks.
13907
13908 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13909
29c18915 139102008-08-23 Bean <bean123ch@gmail.com>
13911
13912 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13913
13914 * genfslist.sh: Ignore kernel.mod.
13915
13916 * genpartmaplist.sh: Likewise.
13917
8415f261 139182008-08-23 Robert Millan <rmh@aybabtu.com>
13919
13920 * util/getroot.c (find_root_device): Skip anything that starts with
13921 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13922
d5a7dc5b 139232008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13924
d5a7dc5b 13925 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13926 * util/grub.d/00_header.in: Allow the administrator to change default
13927 gfxmode via ${GRUB_GFXMODE}.
13928
380cfbb4 139292008-08-21 Felix Zielcke <fzielcke@z-51.de>
13930
13931 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13932
c9baafe7 139332008-08-21 Robert Millan <rmh@aybabtu.com>
13934
13935 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13936 loader.
13937 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13938 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13939
e290bef2 139402008-08-20 Carles Pina i Estany <carles@pina.cat>
13941
13942 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13943 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13944
f9dbfc96 139452008-08-19 Robert Millan <rmh@aybabtu.com>
13946
13947 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13948 (struct grub_virtual_screen): Remove `cursor_color'.
13949 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13950 initialization.
13951 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13952
dd6bd6ab 139532008-08-18 Robert Millan <rmh@aybabtu.com>
13954
13955 Unify (identical) linux_normal.c files.
13956 * loader/i386/efi/linux_normal.c: Move from here ...
13957 * loader/linux_normal.c: ... to here. Update all users.
13958 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13959 * loader/i386/ieee1275/linux_normal.c: Likewise.
13960
7f42f83e 139612008-08-18 Robert Millan <rmh@aybabtu.com>
13962
13963 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13964 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13965 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13966 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13967 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13968 New macros.
13969 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13970 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13971 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13972 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13973 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13974 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13975 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13976 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13977 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13978 portably using grub_getxy().
13979 Replace `-EFI' with `-bzImage' in boot message.
13980
38487ddb 139812008-08-17 Robert Millan <rmh@aybabtu.com>
13982
13983 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13984
deceb3ec 139852008-08-17 Robert Millan <rmh@aybabtu.com>
13986
13987 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13988
13989 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13990 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13991 (grub_machine_mmap_iterate): New function declaration.
13992 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13993 structure.
13994 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13995 macros.
13996
13997 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13998 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13999 Move e820 parsing from here ...
14000 * kern/i386/pc/mmap.c: New file.
14001 (grub_machine_mmap_iterate): ... to here.
14002
14003 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
14004 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
14005 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
14006 (grub_available_iterate): Redeclare to return `void', and redeclare
14007 its hook to use grub_uint64_t as addr and size parameters, and rename
14008 to ...
14009 (grub_machine_mmap_iterate): ... this. Update all users.
14010
14011 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
14012 to make it more readable. Rename to ...
14013 (grub_machine_mmap_iterate): ... this.
14014
14015 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
14016 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
14017 (grub_multiboot): Allocate an extra region after the payload, and fill
14018 it with a Multiboot memory map. Adjust a.out loader to calculate size
14019 with the extra space.
14020 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
14021 with the extra space.
14022
f8aa0f43 140232008-08-17 Carles Pina i Estany <carles@pina.cat>
14024
9807deb9 14025 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 14026
605f5bb6 140272008-08-17 Felix Zielcke <fzielcke@z-51.de>
14028
14029 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
14030 mdate-sh to the list `find' searches for.
14031 * DISTLIST: Regenerated.
14032
210db6c6 140332008-08-16 Felix Zielcke <fzielcke@z-51.de>
14034
14035 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
14036 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 14037 genmoddep.awk, gensymlist.sh.in.
14038 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 14039 * DISTLIST: Regenerated.
48cdbfd4 14040 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 14041
1082b929 140422008-08-16 Robert Millan <rmh@aybabtu.com>
14043
14044 * disk/raid.c (grub_raid_init): Handle/report errors set by
14045 grub_device_iterate().
14046 * disk/lvm.c (grub_lvm_init): Likewise.
14047
42ce5170 140482008-08-15 Bean <bean123ch@gmail.com>
14049
14050 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14051 and datehook.mod.
14052 (datetime_mod_SOURCES): New macro.
14053 (datetime_mod_CFLAGS): Likewise.
14054 (datetime_mod_LDFLAGS): Likewise.
14055 (date_mod_SOURCES): Likewise.
14056 (date_mod_CFLAGS): Likewise.
14057 (date_mod_LDFLAGS): Likewise.
14058 (datehook_mod_SOURCES): Likewise.
14059 (datehook_mod_CFLAGS): Likewise.
14060 (datehook_mod_LDFLAGS): Likewise.
14061
14062 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14063 and datehook.mod.
14064 (datetime_mod_SOURCES): New macro.
14065 (datetime_mod_CFLAGS): Likewise.
14066 (datetime_mod_LDFLAGS): Likewise.
14067 (date_mod_SOURCES): Likewise.
14068 (date_mod_CFLAGS): Likewise.
14069 (date_mod_LDFLAGS): Likewise.
14070 (datehook_mod_SOURCES): Likewise.
14071 (datehook_mod_CFLAGS): Likewise.
14072 (datehook_mod_LDFLAGS): Likewise.
14073
14074 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14075 and datehook.mod.
14076 (datetime_mod_SOURCES): New macro.
14077 (datetime_mod_CFLAGS): Likewise.
14078 (datetime_mod_LDFLAGS): Likewise.
14079 (date_mod_SOURCES): Likewise.
14080 (date_mod_CFLAGS): Likewise.
14081 (date_mod_LDFLAGS): Likewise.
14082 (datehook_mod_SOURCES): Likewise.
14083 (datehook_mod_CFLAGS): Likewise.
14084 (datehook_mod_LDFLAGS): Likewise.
14085
14086 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14087 and datehook.mod.
14088 (datetime_mod_SOURCES): New macro.
14089 (datetime_mod_CFLAGS): Likewise.
14090 (datetime_mod_LDFLAGS): Likewise.
14091 (date_mod_SOURCES): Likewise.
14092 (date_mod_CFLAGS): Likewise.
14093 (date_mod_LDFLAGS): Likewise.
14094 (datehook_mod_SOURCES): Likewise.
14095 (datehook_mod_CFLAGS): Likewise.
14096 (datehook_mod_LDFLAGS): Likewise.
14097
14098 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14099 and datehook.mod.
14100 (datetime_mod_SOURCES): New macro.
14101 (datetime_mod_CFLAGS): Likewise.
14102 (datetime_mod_LDFLAGS): Likewise.
14103 (date_mod_SOURCES): Likewise.
14104 (date_mod_CFLAGS): Likewise.
14105 (date_mod_LDFLAGS): Likewise.
14106 (datehook_mod_SOURCES): Likewise.
14107 (datehook_mod_CFLAGS): Likewise.
14108 (datehook_mod_LDFLAGS): Likewise.
14109
14110 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
14111
14112 * commands/date.c: New file.
14113
14114 * hook/datehook.c: Likewise.
14115
14116 * include/grub/lib/datetime.h: Likewise.
14117
14118 * include/grub/i386/cmos.h: Likewise.
14119
14120 * lib/datetime.c: Likewise.
14121
14122 * lib/i386/datetime.c: Likewise.
14123
14124 * lib/efi/datetime.c: Likewise.
14125
0e9242da 141262008-08-14 Robert Millan <rmh@aybabtu.com>
14127
14128 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
14129 (grub_mkelfimage_SOURCES): New variable.
14130 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
14131
14132 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
14133 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
14134 * conf/powerpc-ieee1275.rmk: Likewise.
14135 * conf/i386-ieee1275.rmk: Likewise.
14136
14137 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
14138 * kern/i386/coreboot/init.c: Likewise.
14139
14140 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
14141 with `<grub/cpu/kernel.h>'.
14142 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
14143 to ...
14144 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
14145 * kern/i386/coreboot/startup.S: Likewise.
14146
14147 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
14148 (GRUB_MOD_GAP): Remove.
14149 * include/grub/powerpc/kernel.h: New file.
14150 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
14151 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14152 * include/grub/i386/kernel.h: New file.
14153 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
14154 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
14155 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14156
14157 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
14158 `grub-mkelfimage'.
14159 Use --directory when invoking grub_mkimage.
14160
14161 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
14162 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
14163 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
14164 and GRUB_KERNEL_CPU_PREFIX.
14165
b86408f8 141662008-08-14 Felix Zielcke <fzielcke@z-51.de>
14167
d5e619ca 14168 * include/grub/err.h (grub_err_printf): New function prototype.
14169 * util/misc.c (grub_err_printf): New function.
14170 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
14171 grub_printf.
14172 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 14173
7161f0e0 141742008-08-13 Robert Millan <rmh@aybabtu.com>
14175
14176 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
14177
a1967522 141782008-08-13 Robert Millan <rmh@aybabtu.com>
14179
14180 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
14181 boot entry.
14182
371458b5 141832008-08-12 Robert Millan <rmh@aybabtu.com>
14184
14185 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
14186 of the relocation code from here ...
14187 (grub_multiboot): ... to here.
14188 (forward_relocator, backward_relocator): Move from here ...
14189 * kern/i386/loader.S (grub_multiboot_forward_relocator)
14190 (grub_multiboot_backward_relocator): ... to here.
14191 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
14192 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
14193 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
14194 (grub_multiboot_forward_relocator_end)
14195 (grub_multiboot_backward_relocator)
14196 (grub_multiboot_backward_relocator_end): New variables.
14197
05f9452b 141982008-08-12 Bean <bean123ch@gmail.com>
14199
14200 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
14201
20024ab0 142022008-08-11 Robert Millan <rmh@aybabtu.com>
14203
14204 * kern/i386/linuxbios/startup.S: Move from here ...
14205 * kern/i386/coreboot/startup.S: ... to here.
14206
14207 * kern/i386/linuxbios/init.c: Move from here ...
14208 * kern/i386/coreboot/init.c: ... to here.
14209
14210 * kern/i386/linuxbios/table.c: Move from here ...
14211 * kern/i386/coreboot/mmap.c: ... to here.
14212
14213 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
14214
e352e9cd 142152008-08-11 Robert Millan <rmh@aybabtu.com>
14216
14217 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
14218 errors. Leave it to the upper layer to handle them.
14219
2d05bc6a 142202008-08-09 Christian Franke <franke@computer.org>
14221
14222 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
14223 * conf/common.rmk: Install `grub-pe2elf' only if requested.
14224 Install `grub.d/10_windows' only on Cygwin.
14225 * configure.ac: Add subst of `target_os'.
14226 Check `target_os' also before setting TARGET_OBJ2ELF.
14227 Add `--enable-grub-pe2elf'.
14228
042bd419 142292008-08-08 Robert Millan <rmh@aybabtu.com>
14230
14231 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14232 (grub_last_time): Change type to grub_uint64_t.
14233 (grub_disk_open): Migrate code from to using grub_get_time_ms().
14234 (grub_disk_close): Likewise.
14235
14236 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14237 (run_menu): Migrate code from to using grub_get_time_ms().
14238
14239 * util/misc.c (grub_get_time_ms): New function.
14240
7f280db5 142412008-08-08 Marco Gerards <marco@gnu.org>
14242
14243 * disk/ata.c (grub_ata_regget): Change return type to
14244 `grub_uint8_t'.
14245 (grub_ata_regget2): Likewise.
14246 (grub_ata_wait_status): New function.
14247 (grub_ata_wait_busy): Removed function, updated all users to use
14248 `grub_ata_wait_status'.
14249 (grub_ata_wait_drq): Likewise.
14250 (grub_ata_cmd): New function.
14251 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
14252 error handling.
14253 (grub_ata_pio_write): Add error handling.
14254 (grub_atapi_identify): Likewise.
14255 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
14256 handling.
14257 (grub_ata_identify): Use `grub_ata_cmd' and improve error
14258 handling. Actually use the detected registers. Reorder the
14259 detection logic such that it is easier to read.
14260 (grub_ata_pciinit): Do not assign the same ID to each controller.
14261 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
14262 handling.
14263 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
14264
14265 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
14266
1fbc5e66 142672008-08-08 Marco Gerards <marco@gnu.org>
14268
14269 * NEWS: Update.
14270
819ce6c0 142712008-08-07 Bean <bean123ch@gmail.com>
14272
14273 * include/grub/x86_64/pci.h: New file.
14274
5c41d44d 142752008-08-07 Christian Franke <franke@computer.org>
14276
14277 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
14278 (TIMER2_GATE): Likewise.
14279 (grub_pit_wait): Add enable/disable of the timer2 gate
14280 bit of port 0x61. This fixes a possible infinite loop.
14281
5ebc275d 142822008-08-07 Bean <bean123ch@gmail.com>
14283
14284 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
14285 kern/i386/tsc.c and kern/i386/pit.c.
14286
14287 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
14288 x86_64 platform.
14289
14290 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
14291 <grub/i386/tsc.h>.
14292
14293 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
14294
e383b3d0 142952008-08-07 Bean <bean123ch@gmail.com>
14296
14297 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
14298
14299 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
14300
14301 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
14302 multiple inclusion. Add #include <grub/types.h>.
14303
1cbb58ac 143042008-08-06 Christian Franke <franke@computer.org>
14305
14306 * conf/common.rmk: Build and install `10_windows'.
14307 * util/grub.d/10_windows.in: New script.
14308
337f5a1e 143092008-08-06 Pavel Roskin <proski@gnu.org>
14310
14311 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
14312
057bc4ac 143132008-08-06 Robert Millan <rmh@aybabtu.com>
14314
14315 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
14316 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
14317
2b99f123 143182008-08-06 Bean <bean123ch@gmail.com>
14319
14320 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
14321 (grub_pxefs_fs_int): Remove dummy definition.
14322 (grub_pxefs_open): Use data->block_size to store the current block
14323 size setting.
14324 (grub_pxefs_read): Use block size stored in data->block_size. As the
14325 value of grub_pxe_blksize can be changed after the file is opened.
14326
9f0234cb 143272008-08-06 Bean <bean123ch@gmail.com>
14328
14329 * fs/i386/pc/pxe.c (curr_file): new variable.
14330 (grub_pxefs_open): Simply the handling of pxe file system. Don't
14331 require the dummy internal file system anymore.
14332 (grub_pxefs_read): Removed.
14333 (grub_pxefs_close): Likewise.
14334 (grub_pxefs_fs_int): Likewise.
14335 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
14336 connection when we switch file.
14337 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
14338
a55d42e0 143392008-08-06 Robert Millan <rmh@aybabtu.com>
14340
14341 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
14342 `halt.mod'.
14343 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
14344 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
14345
14346 * kern/i386/halt.c: New file.
14347 * kern/i386/reboot.c: Likewise.
14348 * include/grub/i386/reboot.h: Likewise.
14349 * include/grub/i386/halt.h: Likewise.
14350
14351 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
14352 Include `<grub/cpu/halt.h>'.
14353 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
14354 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
14355
14356 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
14357 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
14358 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
14359 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
14360 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
14361 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
14362 from here ...
14363 * include/grub/i386/at_keyboard.h: ... to here.
14364
24371d26 143652008-08-05 Robert Millan <rmh@aybabtu.com>
14366
14367 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
14368 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
14369 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
14370 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14371 `kern/generic/millisleep.c'.
14372
14373 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
14374 instead of grub_get_rtc().
14375 (grub_tsc_init): Initialize `tsc_boot_time'.
14376
14377 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
14378 (grub_machine_init): Use grub_tsc_init() rather than
14379 installing an RTC-based handler via grub_install_get_time_ms().
14380
14381 * kern/i386/pit.c: New file.
14382 * include/grub/i386/pit.h: Likewise.
14383
9e7007b3 143842008-08-05 Bean <bean123ch@gmail.com>
14385
14386 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
14387
14388 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
14389 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
14390 (pxe_mod_SOURCES): New macro.
14391 (pxe_mod_CFLAGS): Likewise.
14392 (pxe_mod_LDFLAGS): Likewise.
14393 (pxecmd_mod_SOURCES): Likewise.
14394 (pxecmd_mod_CFLAGS): Likewise.
14395 (pxecmd_mod_LDFLAGS): Likewise.
14396
14397 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
14398 (grub_pxe_call): Likewise.
14399
14400 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
14401
14402 * commands/i386/pc/pxecmd.c: New file.
14403
9f0234cb 14404 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 14405
14406 * include/grub/i386/pc/pxe.h: Likewise.
14407
6977d49f 144082008-08-05 Bean <bean123ch@gmail.com>
14409
14410 * util/console.c (grub_console_cur_color): New variable.
14411 (grub_console_standard_color): Likewise.
14412 (grub_console_normal_color): Likewise.
14413 (grub_console_highlight_color): Likewise.
14414 (color_map): Likewise.
14415 (use_color): Likewise.
14416 (NUM_COLORS): New macro.
14417 (grub_ncurses_setcolorstate): Handle color properly.
14418 (grub_ncurses_setcolor): Don't change color here, just remember the
14419 settings, color will be set in grub_ncurses_setcolorstate.
14420 (grub_ncurses_getcolor): New function.
14421 (grub_ncurses_init): Initialize color pairs.
14422 (grub_ncurses_term): New member grub_ncurses_getcolor.
14423
9c2ff3ee 144242008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 14425
9c2ff3ee 14426 High resolution timer support. Implemented for x86 CPUs using TSC.
14427 Extracted generic grub_millisleep() so it's linked in only as needed.
14428 This requires a Pentium compatible CPU; if the RDTSC instruction is
14429 not supported, then it falls back on the generic grub_get_time_ms()
14430 implementation that uses the machine's RTC.
14431
14432 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
14433 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14434 `kern/generic/millisleep.c'.
14435
14436 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
14437 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
14438
14439 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
14440 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
14441
14442 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14443
14444 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14445 `kern/generic/millisleep.c'.
14446
14447 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14448
14449 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
14450
14451 * kern/generic/rtc_get_time_ms.c: New file.
14452
14453 * kern/generic/millisleep.c: New file.
337f5a1e 14454
9c2ff3ee 14455 * kern/misc.c: Don't include
14456 <kern/time.h> anymore.
14457 (grub_millisleep_generic): Removed.
14458
14459 * commands/sleep.c (grub_interruptible_millisleep): Uses
14460 grub_get_time_ms() instead of grub_get_rtc().
14461
14462 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
14463 function.
14464 (grub_cpu_is_cpuid_supported): New inline function.
14465 (grub_cpu_is_tsc_supported): New inline function.
14466 (grub_tsc_init): New function prototype.
14467 (grub_tsc_get_time_ms): New function prototype.
14468
14469 * kern/i386/tsc.c (grub_get_time_ms): New file.
14470
14471 * include/grub/time.h: Include <grub/types.h.
14472 (grub_millisleep_generic): Removed.
14473 (grub_get_time_ms): New prototype.
14474 (grub_install_get_time_ms): New prototype.
14475 (grub_rtc_get_time_ms): New prototype.
14476
14477 * kern/time.c (grub_get_time_ms): New function.
14478 (grub_install_get_time_ms): New function.
14479
14480 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
14481 <grub/time.h> anymore.
14482 (grub_millisleep): Removed.
14483 (grub_machine_init): Call grub_tsc_init.
14484
14485 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
14486 get_time_ms() implementation.
14487
14488 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
14489 (ieee1275_get_time_ms): New function.
14490 (grub_machine_init): Install get_time_ms() implementation.
14491
14492 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
14493 (grub_machine_init): Call grub_tsc_init().
14494 (grub_millisleep): Removed.
bf06a93f 14495
9c2ff3ee 14496 * kern/ieee1275/init.c (grub_millisleep): Removed.
14497 (grub_machine_init): Install ieee1275_get_time_ms()
14498 implementation.
14499 (ieee1275_get_time_ms): New function.
14500 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
14501 real work.
14502
9ec92aaf 145032008-08-05 Marco Gerards <marco@gnu.org>
14504
14505 * disk/ata.c: Include <grub/pci.h>.
14506 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
14507 (grub_ata_initialize): Rewritten.
14508 (grub_ata_device_initialize): New function.
14509
8d23f507 145102008-08-04 Pavel Roskin <proski@gnu.org>
14511
14512 * kern/main.c: Include grub/mm.h.
14513
5e15ee3d 145142008-08-04 Robert Millan <rmh@aybabtu.com>
14515
14516 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
14517 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
14518 corruption problem).
14519
a9053f8f 145202008-08-04 Robert Millan <rmh@aybabtu.com>
14521
14522 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
14523 warnings introduced in my last commit.
14524
dd19c7d7 145252008-08-03 Robert Millan <rmh@aybabtu.com>
14526
14527 Make PCI available on all i386 architectures.
14528
14529 * include/grub/i386/pc/pci.h: Move from here ...
14530 * include/grub/i386/pci.h: ... to here.
14531
14532 * include/grub/i386/pc/pci.h: Remove.
14533 * include/grub/i386/efi/pci.h: Remove.
14534 * include/grub/x86_64/efi/pci.h: Remove.
14535
14536 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
14537 `<grub/cpu/pci.h>'.
14538
14539 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
14540 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
14541 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
14542
14543 * conf/i386-ieee1275.rmk: Likewise.
14544
e14a6184 145452008-08-03 Robert Millan <rmh@aybabtu.com>
14546
14547 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
14548 (grub_console_setcursor): Make it possible to set cursor off.
14549
52768e37 145502008-08-03 Robert Millan <rmh@aybabtu.com>
14551
14552 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
14553 of modules instead of assuming which platform provides what.
14554 * util/update-grub.in: Likewise.
14555
2d52f57f 145562008-08-03 Robert Millan <rmh@aybabtu.com>
14557
14558 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
14559 instead of `grub_install_dos_part' to determine whether a drive needs
14560 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 14561 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 14562
2a5cd121 145632008-08-02 Robert Millan <rmh@aybabtu.com>
14564
14565 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
14566
93808428 145672008-08-02 Robert Millan <rmh@aybabtu.com>
14568
14569 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
14570 of informational grub_dprintf() calls.
14571
3bd0a12a 145722008-08-02 Robert Millan <rmh@aybabtu.com>
14573
14574 * disk/memdisk.c (memdisk_size): Don't initialize.
14575 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
14576
14577 * include/grub/i386/pc/kernel.h
14578 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
14579 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
14580 (grub_memdisk_image_size, grub_arch_memdisk_addr)
14581 (grub_arch_memdisk_size): Remove.
14582
14583 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
14584 field (was only used to transfer a constant). Add `type' field to
14585 support multiple module types.
14586 (grub_module_iterate): New function.
14587
14588 * kern/device.c (grub_device_open): Do not hide error messages
14589 when grub_disk_open() fails. Use grub_print_error() instead.
14590
14591 * kern/i386/pc/init.c (grub_arch_modules_addr)
14592 (grub_arch_memdisk_size): Remove functions.
14593 (grub_arch_modules_addr): Return the module address in high memory
14594 (now that it isn't copied anymore).
14595
14596 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
14597 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
14598 decompression routine (grub_total_module_size already includes that
14599 now). Don't copy modules back to low memory.
14600
14601 * kern/main.c: Include `<grub/mm.h>'.
14602 (grub_load_modules): Split out (and use) ...
14603 (grub_module_iterate): ... this function, which iterates through
14604 module objects and runs a hook.
14605 Comment out grub_mm_init_region() call, as it would cause non-ELF
14606 modules to be overwritten.
14607
14608 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
14609 the memdisk image in its own region, make it part of the module list.
14610 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
14611 (main): Parse --memdisk|-m option, and pass user-provided path as
14612 parameter to generate_image().
14613 (add_segments): Pass `memdisk_path' down to load_modules().
14614 (load_modules): Embed memdisk image in module section when requested.
14615 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
14616 `header.type' instead of `header.offset'.
14617
14618 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
14619 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
14620 (memdisk_mod_LDFLAGS): New variables.
14621 * conf/i386-coreboot.rmk: Likewise.
14622 * conf/i386-ieee1275.rmk: Likewise.
14623
a927cc73 146242008-08-02 Robert Millan <rmh@aybabtu.com>
14625
14626 * loader/i386/pc/multiboot.c (playground, forward_relocator)
14627 (backward_relocator): New variables. Used to allocate and relocate
14628 the payload, respectively.
14629 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 14630 address, install the appropriate relocator code in each bound of
a927cc73 14631 the payload, and set the entry point such that
14632 grub_multiboot_real_boot() will jump to one of them.
14633
14634 * kern/i386/loader.S (grub_multiboot_payload_size)
14635 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14636 (grub_multiboot_payload_entry_offset): New variables.
14637 (grub_multiboot_real_boot): Set cpu context to what the relocator
14638 expects, and jump to the relocator instead of the payload.
14639
14640 * include/grub/i386/loader.h (grub_multiboot_payload_size)
14641 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14642 (grub_multiboot_payload_entry_offset): Export.
14643
b15d8a0c 146442008-08-01 Bean <bean123ch@gmail.com>
14645
14646 * normal/menu_entry.c (editor_getline): Don't return the original
14647 string as result, as it will be released by lexer once it has done
14648 using it.
14649
cdfb3d22 146502008-08-01 Robert Millan <rmh@aybabtu.com>
14651
14652 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
14653 within menuentries, not before them.
14654 util/grub.d/10_hurd.in: Likewise.
14655
9175e93d 146562008-08-01 Bean <bean123ch@gmail.com>
14657
14658 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
14659 (bufio_mod_SOURCES): New macro.
14660 (bufio_mod_CFLAGS): Likewise.
14661 (bufio_mod_LDFLAGS): Likewise.
14662
14663 * include/grub/bufio.h: New file.
14664
14665 * io/bufio.c: Likewise.
14666
14667 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
14668 (grub_video_reader_png): Use grub_buffile_open to open file.
14669
14670 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
14671 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
14672
14673 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
14674 (grub_video_reader_tga): Use grub_buffile_open to open file.
14675
14676 * font/manager.c: Include <grub/bufio.h>.
14677 (add_font): Use grub_buffile_open to open file.
14678
3d8383e7 146792008-07-31 Robert Millan <rmh@aybabtu.com>
14680
14681 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
14682 ELF segments, use a macro for arbitrarily accessing any of them instead
14683 of preparing a pointer that allows access to one at a time.
14684 (grub_multiboot_load_elf64): Likewise.
14685
16e641b6 146862008-07-31 Bean <bean123ch@gmail.com>
14687
14688 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
14689 GRUB_KERNEL_MACHINE_DATA_END.
14690
59198b72 146912008-07-30 Robert Millan <rmh@aybabtu.com>
14692
14693 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
14694 Increase from 0x50 to 0x60.
14695 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
14696 use UUIDs to identify the root drive for them. If that's not
14697 possible, abort.
14698 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
14699 check, for cross-disk installs.
14700
ae88bca3 147012008-07-30 Robert Millan <rmh@aybabtu.com>
14702
14703 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
14704 is non-empty, use it to set the `prefix' environment variable instead
14705 of the usual approach.
14706 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
14707 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
14708 environment variable instead of dummy make_install_device().
14709
14710 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
14711 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 14712 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 14713
14714 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
14715 New variable reference.
14716 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
14717 New macro. Defines offset of `grub_prefix' within startup.S (relative
14718 to `start').
14719 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
14720 section within startup.S (relative to `start').
14721 * include/grub/i386/coreboot/kernel.h: Likewise.
14722
14723 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
14724 Overwrite grub_prefix with its contents, at the beginning of the
14725 first segment.
14726 (main): Understand -p|--prefix.
14727
14f41dd1 147282008-07-30 Robert Millan <rmh@aybabtu.com>
14729
14730 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
14731
4ca049a3 147322008-07-30 Robert Millan <rmh@aybabtu.com>
14733
14734 * term/i386/pc/vga_text.c (grub_console_cls): Use
14735 grub_console_gotoxy() to go back to beginning of the screen.
14736 Found by Patrick Georgi <patrick.georgi@coresystems.de>
14737
2921d337 147382008-07-29 Christian Franke <franke@computer.org>
14739
14740 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14741 Add conversion of emulated mount points on Cygwin.
14742
b609876d 147432008-07-29 Christian Franke <franke@computer.org>
14744
14745 * util/update-grub.in: Add a check for admin
14746 group on Cygwin.
14747 Remove old `grub.cfg.new' before creation.
14748 Add `-f' to `mv' to handle the different filesystem
14749 semantics of Windows.
14750
e93e4679 147512008-07-29 Bean <bean123ch@gmail.com>
14752
14753 * normal/main.c (get_line): Fix buffer overflow bug.
14754
41694fd0 147552008-07-28 Robert Millan <rmh@aybabtu.com>
14756
14757 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
14758 (struct grub_apple_header): New struct. Describes the layout of
14759 the partmap header.
14760 (apple_partition_map_iterate): Check the header magic as well as the
14761 partition magic (which was already being checked).
14762
cfd0b4e6 147632008-07-28 Pavel Roskin <proski@gnu.org>
14764
14765 * genmk.rb: Add a warning to the beginning of the output that
14766 it's a generated file and should not be edited.
14767
93cce016 147682008-07-28 Robert Millan <rmh@aybabtu.com>
14769
14770 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14771 with the same number are found, just use issue a warning with
14772 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 14773
cd1df915 147742008-07-27 Robert Millan <rmh@aybabtu.com>
14775
14776 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
14777 information.
14778
b70a8427 147792008-07-27 Bean <bean123ch@gmail.com>
14780
14781 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
14782 (grub_fat_find_dir): Ignore case when comparing filename.
14783
8f5e379f 147842008-07-27 Bean <bean123ch@gmail.com>
14785
14786 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14787 smallino, as it's more descriptive, and i8count can be confused with
14788 the other field count.
14789 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14790 inode type.
14791
a85cd5a0 147922008-07-27 Bean <bean123ch@gmail.com>
14793
14794 * commands/crc.c: New file.
14795
14796 * lib/crc.c: Likewise.
14797
14798 * include/grub/lib/crc.h: Likewise.
14799
14800 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14801
14802 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14803 (hexdump): Move this function to ...
14804
14805 * lib/hexdump.c: ... here.
14806
14807 * include/grub/hexdump.h: Renamed to ...
14808
14809 * include/grub/lib/hexdump.h: ... this.
14810
14811 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14812
14813 * util/grub-editenv.c: Likewise.
14814
14815 * include/envblk.h: Renamed to ...
14816
14817 * include/lib/envblk.h: ... this.
14818
14819 * util/envblk.c: Renamed to ...
14820
14821 * lib/envblk.c: ... this.
14822
14823 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14824 lib/hexdump.c.
14825 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14826 (pkglib_MODULES): Add crc.mod.
14827 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14828 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14829 (crc_mod_SOURCES): New macro.
14830 (crc_mod_CFLAGS): Likewise.
14831 (crc_mod_LDFLAGS): Likewise.
14832
14833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14834
14835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14836
14837 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14838
14839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14840
14841 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14842
c298def0 148432008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14844
14845 * commands/help.c: Include <grub/term.h>.
14846 (TERM_WIDTH): Removed. Updated all users.
14847
cc349fb3 148482008-07-27 Pavel Roskin <proski@gnu.org>
14849
14850 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14851 spurious warnings about a comment within a comment.
14852
9051607e 148532008-07-25 Robert Millan <rmh@aybabtu.com>
14854
14855 * util/getroot.c (find_root_device): Skip devices that match
14856 /dev/dm-[0-9]. This lets the real device be found for any type of
14857 abstraction (LVM, EVMS, RAID..).
14858 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14859 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14860 device is found first, find_root_device() will now skip it.
14861
01453bfc 148622008-07-24 Pavel Roskin <proski@gnu.org>
14863
14864 * include/grub/types.h: Use __builtin_bswap32() and
14865 __builtin_bswap64() with gcc 4.3 and newer.
14866
6af9849f 148672008-07-24 Christian Franke <franke@computer.org>
14868
3a0fa256 14869 * util/i386/pc/grub-install.in: If `--debug' is specified,
14870 pass `--verbose' to grub-setup.
14871 Abort script if make_system_path_relative_to_its_root() fails.
14872
7810e747 148732008-07-24 Bean <bean123ch@gmail.com>
14874
14875 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14876 variable `target_platform' should be `platform'.
14877
42290e17 148782008-07-24 Bean <bean123ch@gmail.com>
14879
51cc5193 14880 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14881 (grub_png_init_fixed_block): New function.
14882 (grub_png_decode_image_data): Handle fixed huffman code compression.
14883
2a8a80e4 148842008-07-24 Bean <bean123ch@gmail.com>
14885
14886 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14887 (grub_pe2elf_SOURCES): New macro.
14888 (CLEANFILES): Add grub-pe2elf.
14889
14890 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14891 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14892 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14893 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14894 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14895 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14896 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14897 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14898 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14899 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14900 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14901 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14902 (GRUB_PE32_DT_FUNCTION): Likewise.
14903 (GRUB_PE32_REL_I386_DIR32): Likewise.
14904 (GRUB_PE32_REL_I386_REL32): Likewise.
14905 (grub_pe32_symbol): New structure.
14906 (grub_pe32_reloc): Likewise.
14907
14908 * util/grub-pe2elf.c: New file.
14909
14910 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14911 start symbol in non pc platform.
14912
14913 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14914
14915 The following patches are from Christian Franke.
14916
14917 * include/grub/dl.h: Remove .previous, gas supports this only
14918 for ELF format.
14919
14920 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14921 Remove .type, gas supports this only for ELF format.
14922
14923 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14924 nullbytes in symbol table. This fixes an infinite loop if table is
14925 zero filled.
14926
14927 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14928 TARGET_IMG_LDFLAGS and EXEEXT.
14929
14930 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14931 TARGET_IMG_LDFLAGS_AC.
14932 (grub_CHECK_STACK_ARG_PROBE): New function.
14933
14934 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14935
14936 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14937
14938 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14939 to set TARGET_IMG_LD* accordingly.
14940 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14941 Add call to grub_CHECK_STACK_ARG_PROBE.
14942 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14943
14944 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14945
14946 * genmk.rb: Add EXEEXT to CLEANFILES.
14947
12ccdb75 149482008-07-23 Robert Millan <rmh@aybabtu.com>
14949
14950 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14951 define the codes for arrows and lines used for the menu).
14952 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14953 as well.
14954
14955 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14956 fonts, because the latter are too slow.
14957
18eeaf04 149582008-07-21 Bean <bean123ch@gmail.com>
14959
14960 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14961 a20. Run keyboard test last, as it will cause macbook to halt.
14962
b095e2ad 149632008-07-18 Pavel Roskin <proski@gnu.org>
14964
14965 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14966 load foreign architecture modules correctly anyway. Keep
14967 support for loading host architecture modules, whether we
14968 compile them or not.
14969
737feb35 149702008-07-17 Pavel Roskin <proski@gnu.org>
14971
3f4ce737 14972 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14973 change target_cpu. The compiler default can mismatch target_cpu
14974 in any case.
14975
4ad2d049 14976 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14977 * kern/efi/efi.c: Likewise.
14978
f6130a12 14979 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14980 target compiler is functional.
14981 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14982 are set up.
14983
58393a2d 14984 * configure.ac: Default to efi platform for x86_64-apple. Allow
14985 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14986 adjustments from the rest, only do them if target is not
14987 explicitly given. Merge other adjustments with the final sanity
14988 check. Remove an extraneous check for supported CPU. Be
14989 specific which CPU and which platform is not supported.
14990
737feb35 14991 * configure.ac: Default to pc platform for x86_64.
14992
546f966a 149932008-07-17 Robert Millan <rmh@aybabtu.com>
14994
14995 Partial LinuxBIOS -> Coreboot rename.
14996
14997 * conf/i386-linuxbios.rmk: Renamed to ...
14998 * conf/i386-coreboot.rmk: ... this.
14999 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
15000 * configure.ac: Accept "coreboot" as input platform (but maintain
15001 compatibility with "linuxbios").
15002 * include/grub/i386/linuxbios: Renamed to ...
15003 * include/grub/i386/coreboot: ... this.
15004
20011694 150052008-07-17 Bean <bean123ch@gmail.com>
15006
15007 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 15008 (appleldr_mod_SOURCE): New variable.
20011694 15009 (appleldr_mod_CFLAGS): Likewise.
15010 (appleldr_mod_LDFLAGS): Likewise.
15011 (pci_mod_SOURCES): Likewise.
15012 (pci_mod_CFLAGS): Likewise.
15013 (pci_mod_LDFLAGS): Likewise.
15014 (lspci_mod_SOURCES): Likewise.
15015 (lspci_mod_CFLAGS): Likewise.
15016 (lspci_mod_LDFLAGS): Likewise.
15017
15018 * conf/x86_64-efi.rmk: New file.
15019
15020 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
15021 macro.
15022 (grub_efidisk_write): Likewise.
15023
15024 * include/efi/api.h (efi_call_0): New macro.
15025 (efi_call_1): Likewise.
15026 (efi_call_2): Likewise.
15027 (efi_call_3): Likewise.
15028 (efi_call_4): Likewise.
15029 (efi_call_5): Likewise.
15030 (efi_call_6): Likewise.
15031
15032 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
15033 grub_rescue_cmd_chainloader.
15034
15035 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
15036 (grub_pe32_optional_header): Change some fields based on i386 or
15037 x86_64 platform.
15038 (GRUB_PE32_PE32_MAGIC): Likewise.
15039
15040 * include/grub/efi/uga_draw.h: New file.
15041
15042 * include/grub/elf.h (STN_ABS): New constant.
15043 (R_X86_64_NONE): Relocation constant for x86_64.
15044 (R_X86_64_64): Likewise.
15045 (R_X86_64_PC32): Likewise.
15046 (R_X86_64_GOT32): Likewise.
15047 (R_X86_64_PLT32): Likewise.
15048 (R_X86_64_COPY): Likewise.
15049 (R_X86_64_GLOB_DAT): Likewise.
15050 (R_X86_64_JUMP_SLOT): Likewise.
15051 (R_X86_64_RELATIVE): Likewise.
15052 (R_X86_64_GOTPCREL): Likewise.
15053 (R_X86_64_32): Likewise.
15054 (R_X86_64_32S): Likewise.
15055 (R_X86_64_16): Likewise.
15056 (R_X86_64_PC16): Likewise.
15057 (R_X86_64_8): Likewise.
15058 (R_X86_64_PC8): Likewise.
15059
15060 * include/grub/i386/efi/pci.h: New file.
15061
15062 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
15063 Change it value based on platform.
15064 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
15065 (GRUB_E820_RAM): Likewise.
15066 (GRUB_E820_RESERVED): Likewise.
15067 (GRUB_E820_ACPI): Likewise.
15068 (GRUB_E820_NVS): Likewise.
15069 (GRUB_E820_EXEC_CODE): Likewise.
15070 (GRUB_E820_MAX_ENTRY): Likewise.
15071 (grub_e820_mmap): New structure.
15072 (linux_kernel_header): Change the efi field according to different
15073 kernel version, also field from linux_kernel_header.
15074
15075 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
15076
15077 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
15078 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
15079 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
15080 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
15081 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
15082 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
15083 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
15084 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
15085 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
15086 (GRUB_PCI_ADDR_IO_MASK): Likewise.
15087
15088 * include/grub/x86_64/efi/kernel.h: New file.
15089
15090 * include/grub/x86_64/efi/loader.h: Likewise.
15091
15092 * include/grub/x86_64/efi/machine.h: Likewise.
15093
15094 * include/grub/x86_64/efi/pci.h: Likewise.
15095
15096 * include/grub/x86_64/efi/time.h: Likewise.
15097
15098 * include/grub/x86_64/linux.h: Likewise.
15099
15100 * include/grub/x86_64/setjmp.h: Likewise.
15101
15102 * include/grub/x86_64/time.h: Likewise.
15103
15104 * include/grub/x86_64/types.h: Likewise.
15105
15106 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
15107 GRUB_TARGET_SIZEOF_VOID_P.
15108
15109 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
15110 (grub_efi_locate_handle): Likewise.
15111 (grub_efi_open_protocol): Likewise.
15112 (grub_efi_set_text_mode): Likewise.
15113 (grub_efi_stall): Likewise.
15114 (grub_exit): Likewise.
15115 (grub_reboot): Likewise.
15116 (grub_halt): Likewise.
15117 (grub_efi_exit_boot_services): Likewise.
15118 (grub_get_rtc): Likewise.
15119
15120 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
15121 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
15122 (grub_efi_allocate_pages): Wrap efi calls.
15123 (grub_efi_free_pages): Wrap efi calls.
15124 (grub_efi_get_memory_map): Wrap efi calls.
15125
15126 * kern/x86_64/dl.c: New file.
15127
15128 * kern/x86_64/efi/callwrap.S: Likewise.
15129
15130 * kern/x86_64/efi/startup.S: Likewise.
15131
15132 * loader/efi/appleloader.c: Likewise.
15133
15134 * loader/efi/chainloader.c (cmdline): New variable.
15135 (grub_chainloader_unload): Wrap efi calls.
15136 (grub_chainloader_boot): Likewise.
15137 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
15138 command line.
15139
15140 * loader/efi/chainloader_normal.c (chainloader_command):
15141 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
15142 command line.
15143
15144 * loader/i386/efi/linux.c (allocate_pages): Change allocation
15145 method.
15146 (grub_e820_add_region): New function.
15147 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
15148 booting.
15149 (grub_find_video_card): New function.
15150 (grub_linux_setup_video): New function.
15151 (grub_rescue_cmd_linux): Probe for video information.
15152
15153 * normal/x86_64/setjmp.S: New file.
15154
15155 * term/efi/console.c (map_char): New function.
15156 (grub_console_putchar): Map unicode char.
15157 (grub_console_checkkey): Wrap efi calls.
15158 (grub_console_getkey): Likewise.
15159 (grub_console_getwh): Likewise.
15160 (grub_console_gotoxy): Likewise.
15161 (grub_console_cls): Likewise.
15162 (grub_console_setcolorstate): Likewise.
15163 (grub_console_setcursor): Likewise.
15164
15165 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
15166
59652a20 151672008-07-16 Pavel Roskin <proski@gnu.org>
15168
ef294055 15169 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
15170 format strings.
15171
59652a20 15172 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
15173 pointer, not an integer. This fixes a warning and prevents
15174 precision loss on 64-bit systems.
15175 (relocate_addresses): Remove unneeded cast.
15176
afc3b5d7 151772008-07-15 Pavel Roskin <proski@gnu.org>
15178
506b2b3e 15179 * kern/i386/ieee1275/init.c: Include grub/cache.h.
15180
62ead89c 15181 * term/ieee1275/ofconsole.c: Disable code unused on i386.
15182
c4cd51d7 15183 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
15184 Fix comparison between signed and unsigned.
15185
0d3d8f28 15186 * include/grub/i386/ieee1275/console.h: Declare
15187 grub_console_init() and grub_console_fini().
15188
8804b286 15189 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
15190 It's empty and unused.
15191
ee01cf35 15192 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
15193 beginning to avoid warnings with some compilers.
15194
afc3b5d7 15195 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
15196 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
15197
e4e8eaa5 151982008-07-14 Pavel Roskin <proski@gnu.org>
15199
407aceb4 15200 * kern/env.c (grub_register_variable_hook): Don't copy empty
15201 string, it leaks memory. Pass "" to grub_env_set(), it should
15202 handle constant strings.
15203
e4e8eaa5 15204 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
15205 * commands/cmp.c (grub_cmd_cmp): Likewise.
15206 * kern/dl.c (grub_dl_flush_cache): Likewise.
15207 (grub_dl_load_core): Likewise.
15208 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
15209 (grub_elf64_load_phdrs): Likewise.
15210
d4e2dad3 152112008-07-13 Pavel Roskin <proski@gnu.org>
15212
15213 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
15214 between signed and unsigned.
15215 (LzmaEnc_Finish): Fix warning about an unused parameter.
15216
aa24b516 152172008-07-13 Bean <bean123ch@gmail.com>
15218
15219 * Makefile.in (enable_lzo): New rule.
15220
15221 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
15222
15223 * configure.ac (ENABLE_LZO): New option --enable-lzo.
15224
15225 * boot/i386/pc/lnxboot.S: #include <config.h>.
15226
15227 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 15228 its value according to the compression algorithm used, lzo or lzma.
aa24b516 15229
15230 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
15231 compression algorithm according to configure macro.
15232
15233 * kern/i386/pc/startup.S (codestart): Likewise.
15234
15235 * kern/i386/pc/lzma_decode.S: New file.
15236
15237 * include/grub/lib/LzFind.h: Likewise.
15238
15239 * include/grub/lib/LzHash.h: Likewise.
15240
15241 * include/grub/lib/LzmaDec.h: Likewise.
15242
15243 * include/grub/lib/LzmaEnc.h: Likewise.
15244
15245 * include/grub/lib/LzmaTypes.h: Likewise.
15246
15247 * lib/LzFind.c: Likewise.
15248
15249 * lib/LzmaDec.c: Likewise.
15250
15251 * lib/LzmaEnc.c: Likewise.
15252
4ae821ac 152532008-07-13 Bean <bean123ch@gmail.com>
15254
15255 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
15256 (grub_ext4_extent_header): New structure.
15257 (grub_ext4_extent): Likewise.
15258 (grub_ext4_extent_idx): Likewise.
15259 (grub_ext4_find_leaf): New function.
15260 (grub_ext2_read_block): Handle extents.
15261
9a745147 152622008-07-12 Robert Millan <rmh@aybabtu.com>
15263
15264 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
15265
d49a4cf6 152662008-07-11 Robert Millan <rmh@aybabtu.com>
15267
15268 * util/grub.d/40_custom.in: New file. Example on how to add custom
15269 entries to /etc/grub.d.
15270 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
15271 40_custom (implicitly, by merging all the grub.d rules).
15272
947414b4 152732008-07-11 Pavel Roskin <proski@gnu.org>
15274
0059cf6f 15275 * commands/read.c (grub_getline): Fix invalid memory access.
15276 Don't add newline to the variable value.
15277
947414b4 15278 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
15279 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
15280 (serial_hw_get_port): Check validity of the port number.
15281 (grub_cmd_serial): Check return value of serial_hw_get_port().
15282
62a02d00 152832008-07-07 Pavel Roskin <proski@gnu.org>
15284
15285 * boot/i386/pc/diskboot.S (notification_string): Replace
15286 "Loading kernel" with just "loading". This is shorter, less
15287 confusing and saves a few bytes for possible future changes.
15288
3e5581b0 152892008-07-05 Pavel Roskin <proski@gnu.org>
15290
ea387a48 15291 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
15292 size for ATAPI devices, they are undefined. Output sector
15293 number in decimal form.
15294
3e5581b0 15295 * disk/ata.c: Use named constants for status bits.
15296
fdecb8fd 152972008-07-04 Pavel Roskin <proski@gnu.org>
15298
bcd35b90 15299 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
15300 grub_addr_t before casting it to the void pointer to fix a
15301 warning. Non-addressable regions are discarded earlier.
15302 (grub_arch_modules_addr): Cast _end to grub_addr_t.
15303 * kern/i386/linuxbios/table.c: Include grub/misc.h.
15304 (check_signature): Don't shadow table_header.
15305 (grub_linuxbios_table_iterate): Cast numeric constants to
15306 grub_linuxbios_table_header_t.
15307 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
15308 grub_stop().
15309
af58ab3d 15310 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
15311 prevent warnings.
15312
1759aa57 15313 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
15314 pointer, which can cause warnings. Support 64-bit addresses.
15315
fdecb8fd 15316 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
15317 of sizeof(long). This fixes PowerPC image generation on x86_64.
15318
8516d2a8 153192008-07-04 Robert Millan <rmh@aybabtu.com>
15320
15321 This fixes a performance issue when pc & gpt partmap iterators
15322 didn't abort iteration even after our hook found what it was
fe987087 15323 looking for (often causing expensive probes of non-existent drives).
8516d2a8 15324
15325 Some callers relied on previous buggy behaviour, since they would
34c44600 15326 raise an error when their own hooks caused early abortion of its
8516d2a8 15327 iteration.
15328
15329 * kern/device.c (grub_device_open): Improve error message.
15330 * disk/lvm.c (grub_lvm_open): Likewise.
15331 * disk/raid.c (grub_raid_open): Likewise.
15332
15333 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
15334 when hook requests it, independently of grub_errno.
15335 (pc_partition_map_probe): Do not fail when find_func() caused
15336 early abortion of pc_partition_map_iterate().
15337
15338 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
15339 when hook requests it, independently of grub_errno.
15340 (gpt_partition_map_probe): Do not fail when find_func() caused
15341 early abortion of gpt_partition_map_iterate().
15342
15343 * kern/partition.c (grub_partition_iterate): Abort parent iteration
15344 when hook requests it, independently of grub_errno. Do not fail when
15345 part_map_iterate_hook() caused early abortion of p->iterate().
15346
15347 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
15348 when grub_partition_iterate() returned with non-zero.
15349
277d0de9 153502008-07-03 Pavel Roskin <proski@gnu.org>
15351
15352 * disk/ata.c (grub_ata_pio_write): Check status before writing,
15353 like we do in grub_ata_pio_read().
15354 (grub_ata_readwrite): Always write individual sectors. Fix the
15355 sector count for the remainder.
15356 (grub_ata_write): Enable writing to ATA devices. Correctly
15357 report error for ATAPI devices.
15358
d4c9b428 153592008-07-02 Pavel Roskin <proski@gnu.org>
15360
e43fc690 15361 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
15362 warning.
15363
f707af42 15364 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
15365 for every read sector, we already increment it for the whole
15366 batch. This fixes reading more than 256 sectors at once.
15367
11e16b15 15368 * util/grub-editenv.c (cmd_info): Cast argument to long
15369 explicitly. ptrdiff_t reduces to int on i386.
15370
cbabfdd4 15371 * util/grub-editenv.c (main): Be specific which parameter is
15372 missing.
15373
b8fbce0a 15374 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
15375 (memdisk): Make memdisk_orig_addr a pointer.
15376
c9c8e606 15377 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
15378 for file offsets, use grub_off_t instead. Fix printf format
15379 warnings.
15380
ca62e598 15381 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
15382 there. Real unexpected warnings should not drown in the noise
15383 about known problems.
15384
ce8d1766 15385 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
15386 grub_disk_addr_t for memory addresses.
15387
00c7a56a 15388 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
15389 explicitly to fix a warning.
15390
08d3ef09 15391 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
15392
cb71ba20 15393 * Makefile.in (MODULE_LDFLAGS): New variable.
15394 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
15395 the linker accepts --build-id=none.
15396 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
15397 MODULE_LDFLAGS.
15398 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
15399
d4c9b428 15400 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
15401 those in Linux XFS code. Provide a way to access 64-bit parent
15402 inode.
15403 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
15404 the end of struct grub_xfs_dir_header.
15405
d4156eee 154062008-07-02 Bean <bean123ch@gmail.com>
15407
15408 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
15409 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15410 and GRUB_IEEE1275_FLAG_NO_ANSI.
15411
15412 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
15413 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15414 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
15415
15416 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
15417 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
15418
15419 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
15420 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
15421
15422 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
15423 esc sequence on non ANSI terminal.
15424 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
15425
15426 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
15427 beginning of file.
15428
2270f77b 154292008-07-02 Bean <bean123ch@gmail.com>
15430
15431 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
15432 (grub_editenv_SOURCES): New variable.
15433 (pkglib_MODULES): Add loadenv.mod.
15434 (loadenv_mod_SOURCES): New variable.
15435 (loadenv_mod_CFLAGS): Likewise.
15436 (loadenv_mod_LDFLAGS): Likewise.
15437
15438 * include/grub/envblk.h: New file.
15439
15440 * util/envblk.c: New file.
15441
15442 * util/grub-editenv.c: New file.
15443
15444 * commands/loadenv.c: New file.
15445
0e9e51ec 154462008-07-01 Pavel Roskin <proski@gnu.org>
15447
d89b7634 15448 * include/multiboot2.h (struct multiboot_tag_module): Use char,
15449 not unsigned char. This fixes warnings and is consistent with
15450 other tags.
15451
bf1835b1 15452 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
15453
8222a04b 15454 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
15455
6a42d99d 15456 * term/tparm.c (analyze): Always set *popcount.
15457
10b159d1 15458 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
15459 cast to fix a warning.
15460
b8789f6c 15461 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
15462 cast to suppress a warning.
15463
29d7e38a 15464 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
15465 grub_fshelp_read_file() expects.
15466
f341f669 15467 * fs/fat.c: Fix UUID calculation on big-endian systems. We
15468 write uuid as a 32-bit value in CPU byte order, so declare and
15469 use it as such.
15470
0e9e51ec 15471 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
15472 long if the format specifier expects it.
15473 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
15474 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15475 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
15476 long to fix a warning.
15477 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
15478 grub_dprintf() arguments to fix warnings.
15479
3aefa857 154802008-06-30 Pavel Roskin <proski@gnu.org>
15481
56c7668b 15482 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
15483 install_bsd_part immediately before core.img is embedded or
15484 modified on disk. This fixes core.img verification if core.img
15485 cannot be embedded.
15486
3aefa857 15487 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
15488 core_path to calculate the blocklist.
15489 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
15490
5444088d 154912008-06-29 Robert Millan <rmh@aybabtu.com>
15492
15493 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
15494 block to disk block.
15495 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
15496 Patch from Niels Böhm <bitbucket@arcor.de>
15497
674835c8 154982008-06-29 Robert Millan <rmh@aybabtu.com>
15499
15500 * util/update-grub_lib.in (font_path): Search for fonts in
15501 /boot/grub first, which is more likely to be readable (we aren't
15502 deciding where fonts live, just looking for them).
15503
f527dbc8 155042008-06-26 Pavel Roskin <proski@gnu.org>
15505
6c2d8df6 15506 * util/biosdisk.c (read_device_map): Don't leave dead map
15507 entries for devices failing stat() check.
15508
f527dbc8 15509 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
15510 core_path_dev for the core.img path on the target device.
15511
aebe3d13 155122008-06-26 Robert Millan <rmh@aybabtu.com>
15513
15514 * disk/fs_uuid.c: New file.
15515 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
15516 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
15517 (fs_uuid_mod_LDFLAGS): New variables.
15518 * include/grub/disk.h (grub_disk_dev_id): Add
15519 `GRUB_DISK_DEVICE_UUID_ID'.
15520 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
15521 implement iterate().
15522
37aaf354 155232008-06-26 Robert Millan <rmh@aybabtu.com>
15524
15525 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
15526 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
15527 Linux image includes no initrd.
15528
25ff262a 155292008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
15530
15531 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
15532 call to resolve the core image location that effectively appended the
15533 name twice.
15534
76a2bd44 155352008-06-21 Robert Millan <rmh@aybabtu.com>
15536
15537 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
15538 call from here ...
15539
15540 * util/grub.d/10_hurd.in: ... to here ...
15541 * util/grub.d/10_linux.in: ... and here.
15542
650e1c79 155432008-06-19 Robert Millan <rmh@aybabtu.com>
15544
fe987087 15545 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 15546 after it has been set by grub_machine_set_prefix().
15547
6ce63911 155482008-06-19 Robert Millan <rmh@aybabtu.com>
15549
15550 * commands/search.c (search_label, search_fs_uuid, search_file): Print
15551 search result when not saving to variable, not the other way around.
15552 When saving to variable, abort iteration as soon as a match is found.
15553
73940cec 155542008-06-19 Robert Millan <rmh@aybabtu.com>
15555
15556 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
15557 check for partition that provides /boot/grub. Its logic is flawed,
15558 as it prevents prepare_grub_to_access_device() from being called
15559 multiple times.
15560
3c62a39d 155612008-06-19 Robert Millan <rmh@aybabtu.com>
15562
15563 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
15564 "insmod" command directly when abstraction modules are needed,
fe987087 15565 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 15566 since it had already been processed).
15567
47395a42 155682008-06-19 Pavel Roskin <proski@gnu.org>
15569
15570 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
15571 changed. This is needed in case GRUB_LIBDIR changes.
15572 * conf/i386-ieee1275.rmk: Likewise.
15573 * conf/i386-linuxbios.rmk: Likewise.
15574 * conf/i386-pc.rmk: Likewise.
15575 * conf/powerpc-ieee1275.rmk: Likewise.
15576
a145ac2d 155772008-06-18 Pavel Roskin <proski@gnu.org>
15578
15579 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
15580 kernel_elf_symlist.c to symlist.c for consistency with other
15581 architectures. Update all users.
15582 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15583
7847c51e 155842008-06-18 Robert Millan <rmh@aybabtu.com>
15585
15586 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
15587 it in prefix.
15588
15589 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
15590 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
15591 a RAID device, run setup() for all members independently on whether
15592 LVM abstraction is being used.
15593 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
15594 If grub-mkimage has set `*install_dos_part == -2', don't override this
15595 value.
15596 Perform *install_dos_part adjustments independently on whether
15597 we're embedding or not.
15598 Clarify error message when image is too big for embedding.
15599 Remove duplicate *install_dos_part stanza.
15600
b23e5644 156012008-06-17 Robert Millan <rmh@aybabtu.com>
15602
15603 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
15604 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
15605 variables.
15606 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
15607 values in grub_ofconsole_normal_color and
15608 grub_ofconsole_highlight_color (they're not directly related to
15609 background and foreground).
15610 (grub_ofconsole_setcolorstate): Extract background and foreground
15611 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
15612
0aac2f79 156132008-06-17 Robert Millan <rmh@aybabtu.com>
15614
15615 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
15616 /boot/grub for the check in last commit, not /boot (they could be
15617 different partitions).
15618
3cca7ef3 156192008-06-16 Robert Millan <rmh@aybabtu.com>
15620
15621 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
15622 asked to setup access for the same partition that provides /boot,
15623 don't bother using UUIDs since our root already has the value we
15624 want.
15625
347396d8 156262008-06-16 Robert Millan <rmh@aybabtu.com>
15627
15628 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
15629 I2O devices.
15630 Patch from Sven Mueller <sven@debian.org>.
15631
991477f8 156322008-06-16 Robert Millan <rmh@aybabtu.com>
15633
15634 * util/update-grub.in: Check for $EUID instead of $UID.
15635 Reported by Vincent Zweije.
15636
d31a32a1 156372008-06-16 Bean <bean123ch@gmail.com>
15638
fe987087 15639 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 15640 (grub_ext2_read_block): Likewise.
15641 (grub_ext2_read_inode): Likewise.
15642 (grub_ext2_mount): Likewise.
15643 (grub_ext2_close): Likewise.
15644 (grub_ext3_get_journal): Removed.
15645
fe987087 15646 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 15647 (grub_reiserfs_read_symlink): Likewise.
15648 (grub_reiserfs_mount): Likewise.
15649 (grub_reiserfs_open): Likewise.
15650 (grub_reiserfs_read): Likewise.
15651 (grub_reiserfs_close): Likewise.
15652 (grub_reiserfs_get_journal): Removed.
15653
15654 * fs/fshelp.c (grub_fshelp_read): Removed.
15655 (grub_fshelp_map_block): Likewise.
15656
15657 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
15658 (grub_fshelp_journal): Likewise.
15659 (grub_fshelp_read): Likewise.
15660 (grub_fshelp_map_block): Likewise.
15661
3540a760 156622008-06-16 Pavel Roskin <proski@gnu.org>
15663
15664 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
15665 floating point anymore.
15666 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
15667
95614c84 156682008-06-15 Pavel Roskin <proski@gnu.org>
15669
15670 * commands/ls.c (grub_ls_list_files): Use integer calculations
15671 for human readable format, avoid floating point use.
15672 * kern/misc.c (grub_ftoa): Remove.
15673 (grub_vsprintf): Remove floating point support.
15674
50465dd6 156752008-06-15 Robert Millan <rmh@aybabtu.com>
15676
fe6b695a 15677 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 15678 devices.
15679 Reported by Max Vozeler.
15680
a9207284 156812008-06-15 Robert Millan <rmh@aybabtu.com>
15682
15683 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
15684 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
15685 skipped later.
15686 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
15687 the beginning of the prefix.
15688
15689 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
15690 It is assumed that if we have a memdisk, grub-mkimage has set
15691 grub_prefix to include the "(memdisk)" drive in it.
15692
a7cbd45a 156932008-06-15 Robert Millan <rmh@aybabtu.com>
15694
15695 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
15696 Initialize keyboard controller after registering the terminal, so that
15697 grub_printf() can be called from grub_keyboard_controller_init().
15698
21cf716a 156992008-06-15 Robert Millan <rmh@aybabtu.com>
15700
15701 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
15702 extent-btree which is written as big endian on disk.
15703 Reported by Alain Greppin <al@chilibi.org>.
15704
23a64d8e 157052008-06-14 Robert Millan <rmh@aybabtu.com>
15706
15707 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
15708 * util/i386/pc/grub-install.in (modules): Likewise.
15709
d687651c 157102008-06-13 Pavel Roskin <proski@gnu.org>
15711
15712 * commands/ls.c (grub_ls_list_files): Fix format warnings.
15713
dfe9ddd4 157142008-06-13 Bean <bean123ch@gmail.com>
15715
15716 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
15717
15718 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
15719
15720 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
15721 to indicate sparse block.
15722
16ae7781 157232008-06-12 Pavel Roskin <proski@gnu.org>
15724
e6d1a308 15725 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
15726 number, grub_fshelp_read() does it for us.
15727
16ae7781 15728 * fs/fshelp.c (grub_fshelp_read): New function. Implement
15729 linear disk read with journal translation.
15730 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
15731 * include/grub/fshelp.h: Declare grub_fshelp_read().
15732
40fd3a2b 157332008-06-09 Pavel Roskin <proski@gnu.org>
15734
15735 * fs/minix.c (grub_minix_mount): Handle error reading
15736 superblock.
15737
f5679726 157382008-06-08 Robert Millan <rmh@aybabtu.com>
15739
15740 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
15741 don't append the RAID prefix afterwards.
15742 Reported by Clint Adams.
15743
ce525529 157442008-06-08 Robert Millan <rmh@aybabtu.com>
15745
15746 Based on description from Pavel:
15747 * kern/disk.c (grub_disk_check_range): Rename to ...
15748 (grub_disk_adjust_range): ... this. Add a comment explaining the
15749 tasks performed by this function.
15750
ad4936a0 157512008-06-08 Robert Millan <rmh@aybabtu.com>
15752
15753 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
15754 `num_serial' (for consistency with other variables).
15755 (struct grub_ntfs_data): Add `uuid' member.
15756 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
15757 (grub_ntfs_uuid): New function.
15758 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
15759
dc20b0f9 157602008-06-07 Pavel Roskin <proski@gnu.org>
15761
15762 * util/biosdisk.c (open_device): Revert last change to the
15763 function, it broke installation. The sector needs to be
15764 different dependent on which device is opened.
15765
c5e3cfba 157662008-06-06 Robert Millan <rmh@aybabtu.com>
15767
15768 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
15769 rest of GRUB, and breakage doesn't happen if its value were modified.
15770
15771 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15772 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
15773 a constant (same value).
15774 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
15775 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
15776
26a1f8c4 157772008-06-06 Robert Millan <rmh@aybabtu.com>
15778
15779 * util/biosdisk.c (open_device): Do not modify sector offset when
15780 accessing a partition. kern/disk.c already handles this for us.
15781
25d6b327 157822008-06-06 Robert Millan <rmh@aybabtu.com>
15783
15784 * util/grub-emu.c (grub_machine_init): Move code in this function from
15785 here ...
15786 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15787 segfault in case grub_printf() is called).
15788
15789 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15790 grub_probe. Update all users not to explicitly add it again.
15791 (grub_device): New variable; contains corresponding device for grubdir.
15792 (fs_module, partmap_module, devabstraction_module): Pass
15793 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15794 every time.
15795
9ece62fb 157962008-06-05 Robert Millan <rmh@aybabtu.com>
15797
15798 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15799 is found, print it (same layout as with labels).
15800
1ad36d37 158012008-06-04 Robert Millan <rmh@aybabtu.com>
15802
15803 * util/biosdisk.c (get_drive): Rename to ...
15804 (find_grub_drive): ... this. Update all users.
15805
15806 (get_os_disk): Rename to ...
15807 (convert_system_partition_to_system_disk): ... this. Update all users.
15808
15809 (find_drive): Rename to ...
15810 (find_system_device): ... this. Update all users.
15811
e6a30859 158122008-06-04 Robert Millan <rmh@aybabtu.com>
15813
15814 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15815 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15816 (make_device_map): Likewise.
15817
00c108a4 158182008-06-01 Robert Millan <rmh@aybabtu.com>
15819
15820 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15821 before dereferencing it.
15822
15823 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15824 union with fat12/fat16-specific ones. Add some new fields, including
15825 `num_serial' for both versions.
15826 (struct grub_fat_data): Add `uuid' member.
15827 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15828 names. Initialize `data->uuid' using `num_serial'.
15829 (grub_fat_uuid): New function.
15830 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15831
15832 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15833 (grub_reiserfs_uuid): New function.
15834 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15835 member.
15836
15837 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15838 (grub_xfs_uuid): New function.
15839 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15840
1385c5bb 158412008-06-01 Robert Millan <rmh@aybabtu.com>
15842
15843 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15844 code that is backward compatible with pre-uuid search command.
15845
c682dfd7 158462008-05-31 Robert Millan <rmh@aybabtu.com>
15847
15848 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15849 floppies after everything else, to ensure floppy drive isn't accessed
15850 unnecessarily (patch from Bean).
15851
b7db5d47 158522008-05-31 Robert Millan <rmh@aybabtu.com>
15853
15854 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15855 not print device names when we were asked to set a variable.
15856
6e037aa9 158572008-05-31 Robert Millan <rmh@aybabtu.com>
15858
15859 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15860 using "cursor-on" and "cursor-off" commands (understood at least by
15861 the Open Firmware flavour on OLPC).
15862
41305bc8 158632008-05-31 Michael Gorven <michael@gorven.za.net>
15864
15865 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15866 on and off sequences.
15867
69ba137e 158682008-05-31 Robert Millan <rmh@aybabtu.com>
15869
15870 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15871 * util/update-grub.in: Likewise.
15872
520ae21b 158732008-05-30 Pavel Roskin <proski@gnu.org>
15874
15875 * util/biosdisk.c (linux_find_partition): Simplify logic and
15876 make the code more universal. Keep special processing for
15877 devfs, but use a simple rule for all other devices. If the
15878 device ends with a number, append 'p' and the partition number.
15879 Otherwise, append only the partition number.
15880
5786569b 158812008-05-30 Robert Millan <rmh@aybabtu.com>
15882
15883 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15884 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15885 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15886 the `root' parameter to Linux.
15887
51500452 158882008-05-30 Robert Millan <rmh@aybabtu.com>
15889
15890 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15891 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15892 --fs_uuid with --fs-uuid.
15893 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15894 all filesystems support them).
15895
811d3878 158962008-05-30 Robert Millan <rmh@aybabtu.com>
15897
15898 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15899 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15900
cab63c95 159012008-05-30 Robert Millan <rmh@aybabtu.com>
15902
15903 * util/grub.d/00_header.in: Remove obsolete comment referencing
15904 convert_system_path_to_grub_path().
15905 * util/update-grub.in: Likewise.
15906 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15907 (convert_system_path_to_grub_path): Add a warning message explaining
15908 that this function is deprecated. Rely on is_path_readable_by_grub()
15909 for the readability checks.
15910 (font_path): Use is_path_readable_by_grub() for the readability
15911 check rather than convert_system_path_to_grub_path().
15912
972e2f7a 159132008-05-30 Robert Millan <rmh@aybabtu.com>
15914
15915 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15916 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15917 converting it first.
15918 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15919 grub.cfg for access to font file, and afterwards call it again to set
15920 the root device.
15921
62191274 159222008-05-30 Robert Millan <rmh@aybabtu.com>
15923
15924 * commands/search.c (options): Add --fs_uuid option.
15925 (search_fs_uuid): New function.
15926 (grub_cmd_search): Fix --set argument passing.
15927 Use search_fs_uuid() when requested via --fs_uuid.
15928 (grub_search_init): Update help message.
15929 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15930 and redeclare it as an array of 16-bit words.
15931 (grub_ext2_uuid): New function.
15932 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15933 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15934 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15935 (GRUB_DEVICE_BOOT_UUID): New variables.
15936 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15937 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15938 whenever possible.
15939 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15940 just assume `root' variable has the right value.
15941 * util/grub.d/10_linux.in: Likewise.
15942 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15943 via PRINT_FS_UUID.
15944 (main): Recognise `-t fs_uuid' argument.
15945
01b73ec8 159462008-05-30 Robert Millan <rmh@aybabtu.com>
15947
15948 * util/biosdisk.c (map): Redefine structure to hold information
15949 about GRUB drive name.
fe6b695a 15950 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15951 drive names.
15952 (call_hook): Remove.
15953 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15954 member. Assume drive has partitions.
15955 (grub_util_biosdisk_open): Access device names via `.device' struct
15956 member.
15957 (open_device): Likewise.
15958 (find_drive): Likewise.
15959 (read_device_map): Adjust map[] usage to match the new struct
15960 definition. Don't check for duplicates (still possible, but not cheap
15961 anymore).
15962 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15963 (make_device_name): Remove assumption of BIOS-like drive names.
15964
22f16596 159652008-05-30 Pavel Roskin <proski@gnu.org>
15966
15967 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15968 compiling execute.c doesn't need grub_script.tab.h anymore.
15969 (normal/command.c_DEPENDENCIES): Likewise.
15970 (normal/function.c_DEPENDENCIES): Likewise.
15971 * conf/i386-ieee1275.rmk: Likewise.
15972 * conf/i386-linuxbios.rmk: Likewise.
15973 * conf/i386-pc.rmk: Likewise.
15974 * conf/powerpc-ieee1275.rmk: Likewise.
15975 * conf/sparc64-ieee1275.rmk: Likewise.
15976
528ad8f2 159772008-05-29 Pavel Roskin <proski@gnu.org>
15978
d1dff95d 15979 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15980 when scanning metadata for volume group name.
15981
528ad8f2 15982 * include/grub/script.h: Don't include grub_script.tab.h. It's
15983 a generated file, which may only be included from the files with
15984 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15985 use union YYSTYPE, as the later allows forward declaration.
15986 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15987
47248e08 159882008-05-29 Robert Millan <rmh@aybabtu.com>
15989
15990 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15991 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15992 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15993 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15994 scan codes.
15995
ee632529 159962008-05-29 Robert Millan <rmh@aybabtu.com>
15997
15998 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15999 control key combinations.
16000
eee96e08 160012008-05-29 Robert Millan <rmh@aybabtu.com>
16002
16003 * util/powerpc/ieee1275/grub-install.in: Move from here ...
16004 * util/ieee1275/grub-install.in: ... to here.
16005 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
16006 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
16007 (grub_install_SOURCES): Likewise.
16008
da9a6a94 160092008-05-29 Robert Millan <rmh@aybabtu.com>
16010
16011 * fs/affs.c: Update copyright year.
16012 * fs/ext2.c: Likewise.
16013 * fs/fshelp.c: Likewise.
16014 * fs/hfsplus.c: Likewise.
16015 * fs/ntfs.c: Likewise.
16016 * fs/xfs.c: Likewise.
16017 * include/grub/fshelp.h: Likewise.
16018 * util/grub-mkdevicemap.c: Likewise.
16019
12e65f3a 160202008-05-28 Robert Millan <rmh@aybabtu.com>
16021
16022 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
16023 might need to be fatfs to support some firmware implementations
16024 (e.g. OFW or EFI).
16025
23023641 160262008-05-28 Robert Millan <rmh@aybabtu.com>
16027
16028 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
16029 devices.
16030 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16031 (make_device_map): Likewise.
16032
887d2619 160332008-05-20 Bean <bean123ch@gmail.com>
16034
16035 * fs/fshelp.c (grub_fshelp_map_block): New function.
16036 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
16037 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
16038
16039 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
16040 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
16041 (grub_fshelp_journal): New structure.
16042 (grub_fshelp_map_block): New function prototype.
16043 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
16044 (grub_fshelp_map_block): Likewise.
16045
16046 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
16047 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
16048 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
16049 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
16050 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
16051 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
16052 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
16053 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
16054 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
16055 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
16056 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
16057 (grub_ext2_sblock): New members for journal support.
16058 (grub_ext3_journal_header): New structure.
16059 (grub_ext3_journal_revoke_header): Likewise.
16060 (grub_ext3_journal_block_tag): Likewise.
16061 (grub_ext3_journal_sblock): Likewise.
16062 (grub_fshelp_node): New members logfile and journal.
16063 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
16064 grub_fshelp_map_block to get real block number.
16065 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
16066 number.
16067 (grub_ext2_read_inode): Likewise.
16068 (grub_ext3_get_journal): New function.
16069 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
16070 (grub_ext2_close): Release memory used by journal.
16071
16072 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
16073 (REISERFS_MAGIC_DESC_BLOCK): New macro.
16074 (grub_reiserfs_transaction_header): Renamed to
16075 grub_reiserfs_description_block, replace field data with real_blocks.
16076 (grub_reiserfs_commit_block): New structure.
16077 (grub_reiserfs_data): New member journal.
16078 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
16079 number.
16080 (grub_reiserfs_read_symlink): Likewise.
16081 (grub_reiserfs_iterate_dir): Likewise.
16082 (grub_reiserfs_open): Likewise.
16083 (grub_reiserfs_read): Likewise.
16084 (grub_reiserfs_get_journal): New function.
16085 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
16086 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
16087 using grub_reiserfs_get_journal.
16088 (grub_reiserfs_close): Release memory used by journal.
16089
16090 * fs/affs.c (grub_affs_read_block): Change block type to
16091 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
16092
16093 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
16094
16095 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
16096
16097 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
16098
16099 * fs/udf.c (grub_udf_read_block): Change block type to
16100 grub_disk_addr_t. Use type cast to avoid warning.
16101
16102 * fs/xfs.c (grub_xfs_read_block): Likewise.
16103
b7c6bed5 161042008-05-16 Christian Franke <franke@computer.org>
16105
16106 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
16107 to ensure that break with ESC will always work.
16108 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
16109 Remove ESC from keyboard queue.
16110
eedf167f 161112008-05-16 Christian Franke <franke@computer.org>
16112
16113 * util/biosdisk.c: [__CYGWIN__] Add includes.
16114 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
16115 (get_os_disk): Move variable declarations to OS specific
16116 parts to avoid warning.
16117 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
16118 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
16119 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
16120 Cygwin.
16121 * util/getroot.c: [__CYGWIN__] Add includes.
16122 (strip_extra_slashes): Fix "/" case.
16123 [__CYGWIN__] (get_win32_path): New function.
16124 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
16125 [__CYGWIN__] (find_root_device): Disable.
16126 [__CYGWIN__] (get_bootsec_serial): New function.
16127 [__CYGWIN__] (find_cygwin_root_device): Likewise.
16128 [__linux__] (grub_guess_root_device): Add early returns to simplify
16129 structure.
16130 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
16131 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
16132 check for Linux only.
16133
a079699e 161342008-05-15 Bean <bean123ch@gmail.com>
16135
16136 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
16137 keyboard hang problem in apple's intel mac.
16138
1cf4059a 161392008-05-09 Robert Millan <rmh@aybabtu.com>
16140
16141 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
16142 devices.
16143 * util/grub-mkdevicemap.c (get_virtio_disk_name)
16144 (make_device_map): Likewise.
16145 Reported by Aurelien Jarno <aurel32@debian.org>
16146
ed759390 161472008-05-07 Ian Campbell <ijc@hellion.org.uk>
16148
16149 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
16150 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
16151 (make_device_map): Output entries for xvd type disks.
16152
b56c4eaa 161532008-05-07 Robert Millan <rmh@aybabtu.com>
16154
16155 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
16156 devices.
16157 * util/grub-mkdevicemap.c (get_cciss_disk_name)
16158 (make_device_map): Likewise.
16159 Reported by Roland Dreier <rdreier@cisco.com>
16160
7f8866ed 161612008-05-07 Robert Millan <rmh@aybabtu.com>
16162
16163 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
16164 grub_strstr() call. Correct a few mistakes in failure path handling.
16165
b0346e0f 161662008-05-06 Robert Millan <rmh@aybabtu.com>
16167
16168 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16169 Do not print a trailing slash (therefore, the root directory is an
16170 empty string).
16171 (convert_system_path_to_grub_path): Do not remove trailing slash
16172 from make_system_path_relative_to_its_root() output.
16173
16174 * util/i386/pc/grub-install.in: Add trailing slash to output from
16175 make_system_path_relative_to_its_root().
16176
6cf12cbd 161772008-05-06 Robert Millan <rmh@aybabtu.com>
16178
16179 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
16180 ensures that output lines aren't intermangled with those sent to
16181 stderr (via grub_util_info()).
16182 * util/grub-probe.c (grub_refresh): Likewise.
16183 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
16184
0fbb3117 161852008-05-05 Christian Franke <franke@computer.org>
16186
16187 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
16188 Add Cygwin device names.
16189 (get_ide_disk_name) [__CYGWIN__]: Likewise.
16190 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
16191 (check_device): Return error instead of success on empty name.
16192 (make_device_map): Move label inside linux specific code to
16193 prevent compiler warning.
16194
8124cdb7 161952008-04-30 Robert Millan <rmh@aybabtu.com>
16196
16197 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
16198 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
16199 first boot option.
16200 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
16201
094c01d0 162022008-04-29 Robert Millan <rmh@aybabtu.com>
16203
16204 * docs/grub.cfg: New file (example GRUB configuration).
16205
f4b1fc02 162062008-04-26 Robert Millan <rmh@aybabtu.com>
16207
329ce2a5 16208 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
16209 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
16210 and `disk/ieee1275/nand.c'.
f4b1fc02 16211
25f16ec1 162122008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 16213
25f16ec1 16214 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
16215 i386-linuxbios.
16216
16217 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
16218 change the buffer size to 4096 for cdrom device.
16219
16220 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
16221 and nand.mod.
16222 (_linux_mod_SOURCES): New variable.
16223 (_linux_mod_CFLAGS): Likewise.
16224 (_linux_mod_LDFLAGS): Likewise.
16225 (linux_mod_SOURCES): Likewise.
16226 (linux_mod_CFLAGS): Likewise.
16227 (linux_mod_LDFLAGS): Likewise.
16228 (nand_mod_SOURCES): Likewise.
16229 (nand_mod_CFLAGS): Likewise.
16230 (nand_mod_LDFLAGS): Likewise.
16231
16232 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
16233 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
16234 type property. (nand device in olpc don't have this property)
16235
16236 * include/grub/disk.h (grub_disk_dev_id): New macro
16237 GRUB_DISK_DEVICE_NAND_ID.
16238
16239 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
16240 function prototype.
16241 (grub_rescue_cmd_initrd): Likewise.
16242
16243 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
16244 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
16245 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 16246
25f16ec1 16247 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
16248 GRUB_MACHINE_IEEE1275 is defined.
16249
16250 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
16251 Use NESTED_FUNC_ATTR attribute on the hook parameter.
16252
16253 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
16254 on nested function heap_init.
16255 (grub_upper_mem): New variable for i386-ieee1275.
16256 (grub_get_extended_memory): New function for i386-ieee1275.
16257 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
16258
16259 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
16260 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
16261 property.
f19dbdb7 16262
25f16ec1 16263 * loader/i386/ieee1275/linux.c: New file.
16264
16265 * loader/i386/ieee1275/linux_normal.c: New file.
16266
16267 * disk/ieee1275/nand.c: New file.
16268
e89d61e9 162692008-04-18 Thomas Schwinge <tschwinge@gnu.org>
16270
16271 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
16272 value.
16273 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
16274
602566f6 162752008-04-18 Robert Millan <rmh@aybabtu.com>
16276
16277 Restructures early code path on ieee1275 to unify grub_main() as
16278 the first C function that is executed in every platform.
16279
16280 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
16281 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
16282 cmain().
16283 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
16284 * kern/ieee1275/cmain.c (cmain): Rename to ...
16285 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
16286 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
16287 at the beginning.
16288
57490c2b 162892008-04-18 Robert Millan <rmh@aybabtu.com>
16290
16291 * util/update-grub.in: Fix syntax error when setting
16292 `GRUB_PRELOAD_MODULES'.
16293 Reported by Stephane Chazelas <stephane@artesyncp.com>
16294
1977517d 162952008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
16296
16297 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
16298 section into account, newer toolchains generate unique build ids
16299 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 16300 we want build ids to be preserved
1977517d 16301 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
16302 far from other sections don't cause the raw binary images grow
16303 size
16304
bfb1f1a2 163052008-04-15 Robert Millan <rmh@aybabtu.com>
16306
16307 * disk/lvm.c: Update copyright year.
16308 * kern/misc.c: Likewise.
16309
01979850 163102008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16311
16312 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 16313 there is no memory left for physical volume name.
01979850 16314
0a1150e2 163152008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16316
16317 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
16318 volume name mapping to support bigger than 9 character names properly.
16319
82ead3fe 163202008-04-13 Robert Millan <rmh@aybabtu.com>
16321
16322 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
16323 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
16324
e54a72f5 163252008-04-13 Christian Franke <franke@computer.org>
16326
16327 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
16328 to create a floppy emulation boot CD when non emulation mode
16329 does not work.
16330 Enable Joliet CD filesystem extension.
16331
9fe86034 163322008-04-13 Robert Millan <rmh@aybabtu.com>
16333
16334 * kern/misc.c (grub_strncat): Fix off-by-one error.
16335 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
16336
16337 * kern/env.c (grub_env_context_close): Clear current context, not
16338 previous one.
16339 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
16340
16341 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
16342
7ceeee39 163432008-04-13 Robert Millan <rmh@aybabtu.com>
16344
16345 Improve robustness when handling LVM.
16346
16347 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 16348 (and leave `*p' unmodified).
7ceeee39 16349 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
16350 through it.
16351 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
16352 iterating through it.
16353 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
16354 through it.
fe6b695a 16355 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 16356 when due) on each grub_lvm_getvalue() or grub_strstr() call.
16357 Don't assume `vg->pvs != NULL' when iterating through it.
16358
58cd3d85 163592008-04-13 Robert Millan <rmh@aybabtu.com>
16360
16361 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
16362 * genmk.rb (partmap): New variable.
16363 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
16364 (#{partmap}): New target rule.
16365 * genpartmaplist.sh: New file.
16366 * Makefile.in (pkglib_DATA): Add partmap.lst.
16367 (partmap.lst): New target rule.
16368 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
16369 modules (including all partition maps), instead of preloading them.
16370
78b51059 163712007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
16372
16373 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
16374 `linux-boot-prober' (if installed) to detect other operating
16375 systems which are installed on the computer and add them to
16376 the boot menu.
16377 * conf/common.rmk: Build and install 30_os-prober.
16378
a91627b4 163792008-04-12 Robert Millan <rmh@aybabtu.com>
16380
16381 * kern/powerpc/ieee1275/init.c: Move from here ...
16382 * kern/ieee1275/init.c: ... to here. Update all users.
16383
16384 * kern/powerpc/ieee1275/cmain.c: Move from here ...
16385 * kern/ieee1275/cmain.c: ... to here. Update all users.
16386
16387 * kern/powerpc/ieee1275/openfw.c: Move from here ...
16388 * kern/ieee1275/openfw.c: ... to here. Update all users.
16389
16390 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
16391 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
16392
322562ea 163932008-04-10 Pavel Roskin <proski@gnu.org>
16394
16395 * configure.ac: Always use "_cv_" in cache variables for
16396 compatibility with Autoconf 2.62.
16397
a02a73c5 163982008-04-07 Robert Millan <rmh@aybabtu.com>
16399
16400 Revert grub/machine/init.h addition by Pavel (since it breaks on
16401 i386-ieee1275 and others):
16402 * util/i386/pc/misc.c: Remove grub/machine/init.h.
16403 * util/powerpc/ieee1275/misc.c: Likewise.
16404
25c024b1 164052008-04-07 Robert Millan <rmh@aybabtu.com>
16406
16407 * util/grub-probe.c (probe): Improve error message.
16408
3cbd2f98 164092008-04-07 Robert Millan <rmh@aybabtu.com>
16410
16411 * util/biosdisk.c (read_device_map): Skip devices that don't exist
16412 (this prevents the presence of a bogus entry from ruining the whole
16413 thing).
16414
87a297bf 164152008-04-06 Pavel Roskin <proski@gnu.org>
16416
36747a62 16417 * util/biosdisk.c: Include grub/util/biosdisk.h.
16418 * util/grub-fstest.c (execute_command): Make static.
16419 * util/grub-mkdevicemap.c (check_device): Likewise.
16420 * util/i386/pc/misc.c: Include grub/machine/init.h.
16421 * util/powerpc/ieee1275/misc.c: Likewise.
16422 * util/lvm.c: Include grub/util/lvm.h.
16423 * util/misc.c: Include grub/kernel.h, grub/misc.h and
16424 grub/cache.h.
16425 * util/raid.c: Include grub/util/raid.h.
16426 (grub_util_getdiskname): Make static.
16427
87a297bf 16428 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
16429 grub_hostfs_fini(), as they are called from grub_init_all() and
16430 grub_fini_all() respectively. This fixes an infinite loop in
16431 grub-fstest due to double registration of hostfs.
16432 Reported by Christian Franke <Christian.Franke@t-online.de>
16433
f6ce7629 164342008-04-05 Pavel Roskin <proski@gnu.org>
16435
16436 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
16437 all 8 functions. Otherwise, probe function 0 only.
16438
070e49e4 164392008-04-04 Pavel Roskin <proski@gnu.org>
16440
8b088a4c 16441 * commands/lspci.c (grub_lspci_iter): Print the bus number
16442 correctly.
16443
4f657021 16444 * commands/lspci.c (grub_pci_classes): Fix typos.
16445 (grub_lspci_iter): Don't print func twice. Print vendor ID
16446 before device ID, as it's normally done.
16447
070e49e4 16448 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16449 Fix signedness warnings.
16450 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
16451 Likewise.
16452 * util/ieee1275/get_disk_name.c: Include config.h so that
16453 _GNU_SOURCE is defined and getline() is declared. Mark an
16454 unused argument as such. Fix a signedness warning.
16455
ba7328dc 164562008-04-02 Pavel Roskin <proski@gnu.org>
16457
26887f22 16458 * genkernsyms.sh.in: Use more robust assignments for CC and
16459 srcdir. Quote srcdir.
16460 * gensymlist.sh.in: Likewise. Assert at the compile time that
16461 the symbol table is not empty.
16462
ba7328dc 16463 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
16464 * fs/cpio.c (grub_cpio_read): Likewise.
16465
0f582c6b 164662008-04-01 Pavel Roskin <proski@gnu.org>
16467
4b6e1995 16468 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
16469 * disk/host.c (grub_host_open): Likewise.
16470 * disk/loopback.c (grub_loopback_open): Likewise.
16471 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
16472 disk->id as in disk/host.c, not a multi-character constant.
16473
828a2768 16474 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
16475 later is obsolete, potentially dangerous and sets a bad example.
16476 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
16477 * util/misc.c (grub_util_get_image_size): Likewise.
16478
2bb4fb47 16479 * disk/loopback.c (options): Improve help for "--partitions".
16480
0f582c6b 16481 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
16482 options to align them with the short options, e.g. "echo -e".
16483
a33224e0 164842008-03-31 Bean <bean123ch@gmail.com>
16485
16486 * video/reader/png.c (grub_png_data): New member is_16bit and
16487 image_data.
16488 (grub_png_decode_image_header): Detect 16 bit png image.
16489 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
16490 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
16491 (grub_video_reader_png): Release memory occupied by image_data.
16492
16493 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
16494 4096 bytes.
16495 (grub_nfs_mount): Skip the test for sector per cluster.
16496
16497 * include/grub/ntfs.h (MAX_SPC): Removed.
16498
86cb4f54 164992008-03-31 Bean <bean123ch@gmail.com>
16500
16501 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
16502 (grub_probe_SOURCES): Add fs/afs.c.
16503 (grub_fstest_SOURCES): Likewise.
16504 (afs_mod_SOURCES): New variable.
16505 (afs_mod_CFLAGS): Likewise.
16506 (afs_mod_LDFLAGS): Likewise.
16507
16508 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
16509 (grub_emu_SOURCES): Likewise.
16510
16511 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16512
16513 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16514
16515 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16516
16517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16518
16519 * fs/afs.c: New file.
16520
17c74c21 165212008-03-30 Pavel Roskin <proski@gnu.org>
16522
4cb68e89 16523 * disk/host.c: Include grub/misc.h to fix a warning.
16524 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
16525 warnings about implicit declarations.
16526
8790bb04 16527 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
16528 variable.
16529 * include/grub/i386/loader.h: Change declaration of
16530 grub_linux_boot() to match what grub_loader_set() expects.
16531 * util/getroot.c (grub_guess_root_device): Return const char* to
16532 fix a warning.
16533 * util/grub-probe.c (probe): Fix a warning about uninitialized
16534 abstraction_name variable.
16535 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
16536 second argument as unused to fix a warning.
16537
9a3f3296 16538 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
16539 missing grub_error() call.
16540
0ecef90d 16541 * util/update-grub_lib.in: Define datarootdir, since Autoconf
16542 2.60 and newer uses it to define datadir.
16543
0bf6d401 16544 * commands/sleep.c: Fix warning about implicit declaration.
16545 * disk/memdisk.c: Likewise.
16546 * loader/aout.c: Likewise.
16547 * loader/i386/bsd_normal.c: Likewise.
16548 * util/grub-probe.c: Likewise.
16549
7cdacf97 16550 * commands/i386/cpuid.c (has_longmode): Make static.
16551 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
16552 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
16553
17c74c21 16554 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
16555 GDT. This is more robust, as %ds can change.
16556 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
16557 calling real_to_prot().
16558 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
16559
80a3e68b 165602008-03-28 Pavel Roskin <proski@gnu.org>
16561
16562 * kern/i386/pc/startup.S: Assert that uncompressed functions
16563 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
16564 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
16565 code, as they push parts of the code (error handlers) beyond
16566 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
16567 code as correctness and size.
16568
77bcd272 165692008-03-28 Pavel Roskin <proski@gnu.org>
16570
16571 * kern/i386/pc/startup.S
16572 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
16573 data block address to the real mode, keep offset minimal. This
16574 works around a bug in AWARD BIOS on old Athlon systems, which
16575 makes CD detection hang.
16576
c5dfd43b 165772008-03-26 Pavel Roskin <proski@gnu.org>
16578
16579 * normal/color.c (grub_parse_color_name_pair): Make `name' a
16580 const.
16581 * include/grub/normal.h: Add grub_parse_color_name_pair()
16582 declaration.
16583
bf962df2 165842008-03-24 Bean <bean123ch@gmail.com>
16585
16586 * disk/i386/pc/biosdisk.c (cd_start): Removed.
16587 (cd_count): Removed.
16588 (cd_drive): New variable.
16589 (grub_biosdisk_get_drive): Don't check for (cdN) device.
16590 (grub_biosdisk_call_hook): Likewise.
16591 (grub_biosdisk_iterate): Change cdrom detection method.
16592 (grub_biosdisk_open): Replace cd_start with cd_drive.
16593 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
16594 detect cdrom device.
16595
16596 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
16597 Removed.
16598 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
16599 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
16600 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
16601 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
16602 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
16603 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
16604 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
16605 (grub_biosdisk_cdrp): New structure.
16606 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
16607
16608 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
16609
16610 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
16611 device.
16612
16613 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
16614 New function.
16615
68e7fc7a 166162008-03-20 Robert Millan <rmh@aybabtu.com>
16617
16618 Remove 2 TiB limit in ata.mod.
16619 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
16620 (grub_ata_dumpinfo): Print sector count with 0x%llx.
16621 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
16622 grub_uint64_t instead of grub_uint32_t.
16623
38ad2cf5 166242008-03-05 Bean <bean123ch@gmail.com>
16625
16626 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
16627 (grub_multiboot): Set boot device.
16628
16629 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
16630
2b89344e 166312008-03-02 Bean <bean123ch@gmail.com>
16632
16633 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
16634 symlink_buffer.
16635
87a95d1f 166362008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
16637
16638 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
16639 texinfo.tex.
16640
16641 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
16642 modified.
16643
16644 * docs/fdl.texi: New file.
f19dbdb7 16645
87a95d1f 16646 * docs/mdate-sh: New file. Copied from gnulib.
16647 * docs/texinfo.tex: Likewise.
16648
16649 * config.guess: Updated from gnulib.
16650 * install-sh: Likewise.
16651
7dc15d8e 166522008-02-28 Robert Millan <rmh@aybabtu.com>
16653
16654 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
16655 (aout_mod_SOURCES): New variable.
16656 (aout_mod_CFLAGS): Likewise.
16657 (aout_mod_LDFLAGS): Likewise.
16658
16659 * conf/i386-ieee1275.rmk: Likewise.
16660
b00ab696 166612008-02-28 Robert Millan <rmh@aybabtu.com>
16662
16663 * util/update-grub.in: Reorganise terminal validity check. Accept
16664 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
16665 Based on suggestion by Franklin PIAT.
16666
79ca2d78 166672008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
16668
16669 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
16670 function.
16671 * util/getroot.c (grub_util_check_block_device): New function that
16672 returns the given argument if it is a block device and returns NULL else.
16673 * util/grub-probe.c (argument_is_device): New variable.
16674 (probe): Promote device_name from a variable to an argument. Receive
16675 device_name from grub_util_check_block_device() if path is NULL and from
16676 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 16677 (options): Introduce new parameter '-d, --device'.
79ca2d78 16678 (main): Add description of the new parameter to the help screen.
16679 Rename path variable to argument. Set argument_is_device if the '-d'
16680 option is given. Pass argument to probe() depending on
16681 argument_is_device.
16682
0d16e571 166832008-02-24 Bean <bean123ch@gmail.com>
16684
16685 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
16686 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
16687 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
16688 (GRUB_ISO9660_VOLDESC_PART): Likewise.
16689 (GRUB_ISO9660_VOLDESC_END): Likewise.
16690 (grub_iso9660_primary_voldesc): New member escape.
16691 (grub_iso9660_data): New member joliet.
16692 (grub_iso9660_convert_string): New function.
16693 (grub_iso9660_mount): Detect joliet extension.
16694 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
16695 (grub_iso9660_iso9660_label): Likewise.
16696
16697 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
16698 (grub_setup_SOURCES): Add fs/udf.c.
16699 (grub_fstest_SOURCES): Likewise.
16700 (udf_mod_SOURCES): New variable.
16701 (udf_mod_CFLAGS): Likewise.
16702 (udf_mod_LDFLAGS): Likewise.
16703
16704 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
16705 (grub_emu_SOURCES): Likewise.
16706
16707 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16708
16709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16710
16711 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16712
16713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16714
16715 * fs/udf.c: New file.
16716
8a594a17 167172008-02-24 Robert Millan <rmh@aybabtu.com>
16718
16719 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
16720 (normal/lexer.c_DEPENDENCIES): New variables.
16721 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16722 (normal/lexer.c_DEPENDENCIES): Likewise.
16723 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
16724 (normal/lexer.c_DEPENDENCIES): Likewise.
16725 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
16726 (normal/lexer.c_DEPENDENCIES): Likewise.
16727 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16728 (normal/lexer.c_DEPENDENCIES): Likewise.
16729 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16730 (normal/lexer.c_DEPENDENCIES): Likewise.
16731
2dc33c03 167322008-02-23 Robert Millan <rmh@aybabtu.com>
16733
16734 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
16735 since they were intended to be in hex. This didn't break previously
16736 because of a bug in gpt_partition_map_iterate() (see below).
16737
16738 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
16739 when checking the validity of GPT header.
16740 Remove `partno', since it always provides the same information as `i'.
16741
f6f4cfb0 167422008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
16743
16744 * include/grub/efi/time.h: Fix a wrong comment.
16745
79ff665f 167462008-02-19 Pavel Roskin <proski@gnu.org>
16747
16748 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
16749 message.
16750
d38e24c2 167512008-02-19 Bean <bean123ch@gmail.com>
16752
16753 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
16754 (aout_mod_SOURCES): New variable.
16755 (aout_mod_CFLAGS): Likewise.
16756 (aout_mod_LDFLAGS): Likewise.
16757 (_bsd_mod_SOURCES): New variable.
16758 (_bsd_mod_CFLAGS): Likewise.
16759 (_bsd_mod_LDFLAGS): Likewise.
16760 (bsd_mod_SOURCES): New variable.
16761 (bsd_mod_CFLAGS): Likewise.
16762 (bsd_mod_LDFLAGS): Likewise.
16763
16764 * include/grub/aout.h: New file.
16765
16766 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
16767
16768 * include/grub/i386/bsd.h: New file.
16769
16770 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
16771 to make it public.
16772
16773 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
16774 function is called, so that it's possible to change it inside the hook.
16775 (grub_elf64_load): Likewise.
16776 (grub_elf_file): Don't close the file if elf header is not found.
16777 (grub_elf_close): Close the file if grub_elf_file fails (The new
16778 grub_elf_file won't close it).
16779 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
16780 (grub_elf64_size): Likewise.
16781
16782 * kern/i386/loader.S (grub_unix_real_boot): New function.
16783
16784 * loader/aout.c: New file.
16785
16786 * loader/i386/bsd.c: New file.
16787
16788 * loader/i386/bsd_normal.c: New file.
16789
16790 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16791
16792 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16793 can test other formats.
d38e24c2 16794
b93bdb0f 167952008-02-19 Robert Millan <rmh@aybabtu.com>
16796
16797 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16798 (grub_gpt_partition_type_empty): Redefine with macro from
16799 `<grub/gpt_partition.h>'.
16800 (gpt_partition_map_iterate): Adjust partition type comparison.
16801
16802 Export `entry' as partmap-specific `part.data' struct.
16803 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16804
16805 * include/grub/gpt_partition.h (grub_gpt_header)
16806 (grub_gpt_partentry): ... to here (new file).
16807
16808 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16809
16810 (grub_gpt_partition_type_bios_boot): New const variable, defined
16811 with macro from `<grub/gpt_partition.h>'.
16812
16813 (setup): Replace `first_start' with `embed_region', which keeps
16814 track of the embed region (and is partmap-agnostic).
16815
16816 Replace find_first_partition_start() with find_usable_region(),
16817 which finds a usable region for embedding using partmap-specific
16818 knowledge (supports PC/MSDOS and GPT).
16819
16820 Fix all assumptions that the embed region start at sector 1, using
16821 `embed_region.start' from now on. Similarly, use `embed_region.end'
16822 rather than `first_start' to calculate available size.
16823
16824 In grub_util_info() message, replace "into after the MBR" with an
16825 indication of the specific sector our embed region starts at.
16826
66cb40f6 168272008-02-19 Robert Millan <rmh@aybabtu.com>
16828
16829 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16830 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16831 `commands/reboot.c'.
16832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16833 (halt_mod_SOURCES): Likewise.
16834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16835 (halt_mod_SOURCES): Likewise.
16836
b7202015 168372008-02-17 Christian Franke <franke@computer.org>
16838
16839 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16840
32b0fc49 168412008-02-17 Robert Millan <rmh@aybabtu.com>
16842
16843 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16844 set `first_start' to 0 for non-PC/MSDOS partition maps.
16845
aca63502 168462008-02-16 Robert Millan <rmh@aybabtu.com>
16847
16848 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16849 do not assume partition map is PC/MSDOS before performing checks that
16850 are specific to that layout.
16851
0de8be86 168522008-02-13 Robert Millan <rmh@aybabtu.com>
16853
16854 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16855 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16856 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16857
c3db8364 168582008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16859
16860 * configure.ac: Only a cosmetic change on the handling of
16861 -fno-stack-protector.
16862
f714229e 168632008-02-12 Alexandre Boeglin <alex@boeglin.org>
16864
c3db8364 16865 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16866 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16867 reboot.c.
f714229e 16868 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16869 (halt_mod_SOURCES): New variable.
16870 (halt_mod_CFLAGS): Likewise.
16871 (halt_mod_LDFLAGS): Likewise.
16872 (reboot_mod_SOURCES): Likewise.
16873 (reboot_mod_CFLAGS): Likewise.
16874 (reboot_mod_LDFLAGS): Likewise.
16875
c3db8364 16876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16877 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16878 reboot.c.
f714229e 16879 (halt_mod_SOURCES): Likewise.
16880 (reboot_mod_SOURCES): Likewise.
16881
c3db8364 16882 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16883 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16884 (reboot_mod_SOURCES): Likewise.
16885
16886 * commands/i386/pc/reboot.c: merge this file ...
16887
16888 * commands/ieee1275/reboot.c: ... and this file ...
16889
16890 * commands/reboot.c: ... to this file.
c3db8364 16891 Add some precompiler directive to include the correct header for
16892 each machine.
f714229e 16893
16894 * commands/ieee1275/halt.c: move this file ...
16895
16896 * commands/halt.c: ... to here.
c3db8364 16897 Add some precompiler directive to include the correct header for
16898 each machine.
f714229e 16899
16900 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16901 (grub_halt): Likewise.
16902
16903 * kern/efi/efi.c (grub_reboot): New function.
16904 (grub_halt): Likewise.
16905
c74493e0 169062008-02-12 Robert Millan <rmh@aybabtu.com>
16907
16908 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16909 /dev (like it is done for /dev/mapper). This doesn't provide support
16910 for EVMS, but at least it is now easy to identify the problem when it
16911 arises.
16912
d0db4b04 169132008-02-11 Robert Millan <rmh@aybabtu.com>
16914
16915 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16916 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16917 comparing it with -1, not 0.
16918
bf748642 169192008-02-10 Robert Millan <rmh@aybabtu.com>
16920
16921 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16922 `disk/lvm.c'.
16923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16924 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16925
16926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16927 `disk/lvm.c' to the end of the list.
16928 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16929 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16930
b5db202a 169312008-02-10 Robert Millan <rmh@aybabtu.com>
16932
16933 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16934 grub_print_error() instead. This will let user know why we're entering
16935 rescue mode.
16936 Based on suggestions from Sam Morris.
16937
83abee31 169382008-02-10 Alexandre Boeglin <alex@boeglin.org>
16939
16940 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16941 on remaining N args, instead of "--" arg N times.
16942
78d5a08b 169432008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16944
16945 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16946 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16947 pattern for unknown glyphs.
16948
68807e5f 169492008-02-09 Robert Millan <rmh@aybabtu.com>
16950
16951 * configure.ac: Probe for `help2man'.
16952 * Makefile.in (builddir): New variable.
16953 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16954 or otherwise add a few flags/options to it.
16955 (install-local): For every executable utility or script that is
16956 installed, invoke $(HELP2MAN) to install a manpage based on --help
16957 output.
16958
16959 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16960 that it doesn't prevent --help from working in build tree.
16961
16962 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16963 with `bug-grub@gnu.org'.
16964 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16965 * util/update-grub.in (usage): New function.
16966 Implement proper argument check, with support for --help and --version
16967 (as well as existing -y).
16968
169692008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16970
16971 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16972 avoid overwriting previous output.
16973 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16974
c1962162 169752008-02-09 Robert Millan <rmh@aybabtu.com>
16976
16977 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16978 drawing the menu.
16979
3dac2e3f 169802008-02-09 Robert Millan <rmh@aybabtu.com>
16981
16982 * commands/sleep.c: New file.
16983 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16984 (sleep_mod_SOURCES): New variable.
16985 (sleep_mod_CFLAGS): Likewise.
16986 (sleep_mod_LDFLAGS): Likewise.
16987
7a634e08 169882008-02-09 Robert Millan <rmh@aybabtu.com>
16989
16990 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16991 situations in which we can deduce the RAID size and the superblock
16992 doesn't match it.
16993
b92f0c18 169942008-02-09 Robert Millan <rmh@aybabtu.com>
16995
16996 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16997 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16998 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16999
17000 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
17001 and return a grub_diskmemberlist_t composed of physical array members.
17002 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
17003
17004 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
17005 prototype.
17006 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
17007 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
17008 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
17009
17010 * util/grub-probe.c (probe): Move partmap probing code from here ...
17011 (probe_partmap): ... to here.
17012 (probe): Use probe_partmap() once for the disk we're probing, and
17013 additionally, when such disk contains a memberlist() struct member,
17014 once for each disk that is contained in the structure returned by
17015 memberlist().
17016
91a4bf68 170172008-02-09 Robert Millan <rmh@aybabtu.com>
17018
17019 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
17020 environment variable to 'all' in order to obtain debug output from
17021 non-util/ code.
17022 * util/i386/pc/grub-setup.c (main): Likewise.
17023
a96f9caa 170242008-02-08 Robert Millan <rmh@aybabtu.com>
17025
17026 * disk/raid.c (grub_raid_scan_device): Check for
17027 `array->device[sb.this_disk.number]' rather than for
17028 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 17029 guaranteed to be accessible.
a96f9caa 17030
b37a9222 170312008-02-08 Robert Millan <rmh@aybabtu.com>
17032
17033 * disk/raid.c: Update copyright.
17034 * fs/cpio.c: Likewise.
17035 * include/grub/raid.h: Likewise.
17036 * loader/i386/pc/multiboot.c: Likewise.
17037 * util/hostfs.c: Likewise.
17038
5626aee1 170392008-02-08 Robert Millan <rmh@aybabtu.com>
17040
17041 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
17042 to a grub_disk_t array.
17043 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
17044 `device[x]'.
17045 (grub_raid_scan_device): Replace `device[x].name' accesses with
17046 `device[x]->name'. Simplify initialization of `array->device[x]'.
17047
554f0187 170482008-02-08 Robert Millan <rmh@aybabtu.com>
17049
17050 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
17051 grub_dprintf() calls.
17052 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
17053 error message.
17054
1ec8425d 170552008-02-07 Christian Franke <franke@computer.org>
17056
17057 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
17058 instead of fseek and ftell to support large files.
17059 (grub_hostfs_read): Likewise.
17060
f2156fda 170612008-02-07 Robert Millan <rmh@aybabtu.com>
17062
17063 Patch from Jeroen Dekkers.
17064 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 17065 failure, since successfully reading all array members might not be
f2156fda 17066 required.
17067
9216e0e7 170682008-02-06 Robert Millan <rmh@aybabtu.com>
17069
17070 * util/grub-probe.c (probe): Simplify partmap probing (with the
17071 assumption that the first word up to the underscore equals to
17072 the module name).
17073
b0dfd29a 170742008-02-06 Christian Franke <franke@computer.org>
17075
17076 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
17077 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
17078 last block of a cpio or tar stream.
17079 Check for "TRAILER!!!" instead of any empty data
17080 block to detect last block of a cpio stream.
17081 (grub_cpio_dir): Fix constness of variable np.
17082 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
17083 cpio or tar trailer is detected. This fixes a crash
17084 on open of a non existing file.
17085
c32865bf 170862008-02-05 Bean <bean123ch@gmail.com>
17087
17088 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
17089 address of entry.
17090 (grub_multiboot_load_elf64): Likewise.
17091 (grub_multiboot): Initialize mbi structure.
17092
17093 * util/grub-fstest.c: Don't include unused header file script.h.
17094
fe6b695a 17095 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 17096 of file.
17097 (grub_fstest_SOURCES): Likewise.
17098
409480b7 170992008-02-05 Robert Millan <rmh@aybabtu.com>
17100
17101 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
17102 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
17103 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
17104 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
17105
17106 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
17107 (translation_table): Replace hardcoded values with macros
17108 provided by `<grub/term.h>'.
17109
17110 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
17111 (keyboard_map): Correct/add a few values, with macros provided
17112 by `<grub/term.h>'.
17113 (keyboard_map_shift): Zero values that don't differ from their
17114 `keyboard_map' equivalents.
17115 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
17116 Discard the second scan code that is always sent by Caps lock.
17117 Only use `keyboard_map_shift' when it provides a non-zero value,
17118 otherwise fallback to `keyboard_map'.
17119
99fadbaa 171202008-02-04 Bean <bean123ch@gmail.com>
17121
17122 * Makefile.in (enable_grub_fstest): New variable.
17123
17124 * conf/common.rmk (grub_fstest_init.lst): New rule.
17125 (grub_fstest_init.h): Likewise.
17126 (grub_fstest_init.c): Likewise.
17127 (util/grub-fstest.c_DEPENDENCIES): New variable.
17128 (grub_fstest_SOURCES): Likewise.
17129
17130 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
17131
17132 * util/grub-fstest.c: New file.
17133
bf567c50 171342008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17135
17136 Make grub-setup handle a separate root device.
f19dbdb7 17137
bf567c50 17138 * util/i386/pc/grub-setup.c (setup): Always open the root device,
17139 so that the root device can be compared with the destination
17140 device.
17141 When embedding the core image, if the root and destination devices
17142 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
17143 0xFF.
17144 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 17145
9be6b98b 171462008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17147
17148 Add support for having a grub directory in a different drive. This
17149 is still only the data handling part.
f19dbdb7 17150
9be6b98b 17151 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
17152 (codestart): Save %dh in GRUB_ROOT_DRIVE.
17153 (grub_root_drive): New variable.
17154
17155 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
17156 instead of GRUB_BOOT_DRIVE to construct a device name. Set
17157 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
17158 as it was.
17159
17160 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
17161
17162 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
17163 macro.
17164 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
17165
17166 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
17167 is bogus, because PXE booting does not specify any drive
17168 correctly.
17169
17170 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
17171 am not sure if this is really correct.
17172
17173 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
17174 is always identical to the boot drive when booting from a CD.
17175
17176 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
17177 longer.
17178 (root_drive): New variable.
17179 (real_start): Unconditionally set %dh to ROOT_DRIVE.
17180 (setup_sectors): Push %dx right after popping it, because %dh will
17181 be modified later.
17182 (copy_buffer): Restore %dx.
17183
e0ca0677 171842008-02-03 Robert Millan <rmh@aybabtu.com>
17185
17186 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
17187 use `cdboot.img' for cdrom images.
17188
3b3f6629 171892008-02-03 Robert Millan <rmh@aybabtu.com>
17190
17191 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
17192 only setup gfxterm when `font' command has succeeded.
17193
d42b3672 171942008-02-03 Robert Millan <rmh@aybabtu.com>
17195
17196 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
17197 (grub_rescue_cmd_multiboot_loader)
17198 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
17199
fa370ea6 172002008-02-03 Pavel Roskin <proski@gnu.org>
17201
e0c5dacb 17202 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 17203 %edx and %esi from stack only after grub_gate_a20() is called.
17204 grub_gate_a20() clobbers %edx.
17205
f2a76e1d 172062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17207
17208 * configure.ac (AC_INIT): Bumped to 1.96.
17209
17210 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
17211 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
17212 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
17213 video/readers/png.c.
17214
90fd32d1 172152008-02-03 Bean <bean123ch@gmail.com>
9be665dd 17216
17217 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
17218 (cdboot_img_SOURCES): New variable.
17219 (cdboot_img_ASFLAGS): New variable.
17220 (cdboot_img_LDFLAGS): New variable.
17221
17222 * boot/i386/pc/cdboot.S: New file.
17223
17224 * disk/i386/pc/biosdisk.c (cd_start): New variable.
17225 (cd_count): Likewise.
17226 (grub_biosdisk_get_drive): Add support for cd device.
17227 (grub_biosdisk_call_hook): Likewise.
17228 (grub_biosdisk_iterate): Likewise.
17229 (grub_biosdisk_open): Likewise.
17230 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
17231 (grub_biosdisk_rw): Support reading from cd device.
17232 (GRUB_MOD_INIT): Iterate cd devices.
17233
17234 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
17235 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
17236 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
17237
17238 * kern/i386/pc/init.c (make_install_device): Check for cd device.
17239
4020aa53 172402008-02-02 Robert Millan <rmh@aybabtu.com>
17241
17242 * commands/read.c: New file.
17243 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
17244 (read_mod_SOURCES): New variable.
17245 (read_mod_CFLAGS): Likewise.
17246 (read_mod_LDFLAGS): Likewise.
17247
e03a1132 172482008-02-02 Robert Millan <rmh@aybabtu.com>
17249
17250 * normal/main.c (grub_normal_execute): Check for `menu->size' when
17251 determining whether menu has to be displayed.
17252
58c69220 172532008-02-02 Marco Gerards <marco@gnu.org>
17254
17255 * bus/pci.c: New file.
17256
17257 * include/grub/pci.h: Likewise.
17258
17259 * include/grub/i386/pc/pci.h: Likewise.
17260
17261 * commands/lspci.c: Likewise.
17262
17263 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
17264 `lspci.mod'.
17265 (pci_mod_SOURCES): New variable.
17266 (pci_mod_CFLAGS): Likewise.
17267 (pci_mod_LDFLAGS): Likewise.
17268 (lspci_mod_SOURCES): Likewise.
17269 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 17270 (lspci_mod_LDFLAGS): Likewise.
58c69220 17271
c004e1b4 172722008-02-02 Bean <bean123ch@gmail.com>
17273
17274 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
17275 (grub_ufs_get_file_block): Fix indirect block calculation problem.
17276
17277 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
17278 (grub_xfs_btree_node): New structure.
17279 (grub_xfs_btree_root): New structure.
17280 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
17281 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
17282 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17283 (GRUB_XFS_EXTENT_SIZE): Likewise.
17284 (grub_xfs_read_block): Support btree format type.
17285 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
17286 Use directory block as basic unit.
17287
17288 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
17289
17290 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
17291 __attribute__ ((__regparm__ (1))).
17292
f95562bf 172932008-02-01 Robert Millan <rmh@aybabtu.com>
17294
17295 Correct a mistake in previous commit.
17296
17297 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
17298 top.
17299 (normal/command.c_DEPENDENCIES): New variable.
17300
7d31f41f 173012008-02-01 Robert Millan <rmh@aybabtu.com>
17302
17303 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
17304 top.
17305 (normal/command.c_DEPENDENCIES): New variable.
17306 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
17307 * conf/i386-ieee1275.rmk: Likewise.
17308 * conf/i386-linuxbios.rmk: Likewise.
17309 * conf/i386-pc.rmk: Likewise.
17310 * conf/sparc64-ieee1275.rmk: Likewise.
17311 * conf/powerpc-ieee1275.rmk: Likewise.
17312 (grub_emu_SOURCES): Add `fs/fshelp.c'.
17313
17314 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
17315
60b6be74 173162008-02-01 Robert Millan <rmh@aybabtu.com>
17317
17318 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
17319 call at beginning of function.
17320
078522ab 173212008-01-31 Pavel Roskin <proski@gnu.org>
17322
17323 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 17324 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
17325 (grub_mkrescue_SOURCES): Likewise.
078522ab 17326 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
17327
ccaa8a5f 173282008-01-30 Robert Millan <rmh@aybabtu.com>
17329
17330 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
17331 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
17332 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
17333 (grub_probe_SOURCES): ... to here.
17334
17335 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
17336 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
17337 * conf/i386-ieee1275.rmk: Likewise.
17338 * conf/i386-linuxbios.rmk: Likewise.
17339 * conf/powerpc-ieee1275.rmk: Likewise.
17340
ae5a9cd7 173412008-01-30 Tristan Gingold <gingold@free.fr>
17342
17343 * kern/rescue.c: Silently accept empty lines.
17344
70bc2ef2 173452008-01-29 Bean <bean123ch@gmail.com>
17346
17347 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
17348 (real_code_2): Code cleanup and change comment style.
17349 (move_memory): Avoid using 32-bit address mode.
17350
6a4d50ea 173512008-01-29 Bean <bean123ch@gmail.com>
17352
17353 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
17354 (png_mod_SOURCES): New variable.
17355 (png_mod_CFLAGS): Likewise.
17356 (png_mod_LDFLAGS): Likewise.
17357
17358 * video/readers/png.c: New file.
17359
11cc30ac 173602008-01-28 Robert Millan <rmh@aybabtu.com>
17361
17362 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
17363 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
17364 `ifndef GRUB_MOD_GAP' hack.
17365 * util/elf/grub-mkimage.c (add_segments): Likewise.
17366
3abc589f 173672008-01-27 Robert Millan <rmh@aybabtu.com>
17368
17369 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
17370 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 17371 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 17372
e1907778 173732008-01-27 Robert Millan <rmh@aybabtu.com>
17374
17375 Get grub-emu to build again (including parallel builds).
17376
17377 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
17378 Split into ...
17379 (util/grub-emu.c_DEPENDENCIES): ... this, ...
17380 (normal/execute.c_DEPENDENCIES): ... this, ...
17381 (grub-emu_DEPENDENCIES): ... and this.
17382
17383 * conf/i386-efi.rmk: Likewise.
17384 * conf/i386-linuxbios.rmk: Likewise.
17385 * conf/i386-ieee1275.rmk: Likewise.
17386 * conf/powerpc-ieee1275.rmk: Likewise.
17387 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
17388
2216b101 173892008-01-27 Robert Millan <rmh@aybabtu.com>
17390
17391 * NEWS: Add a few items.
17392
f75172d9 173932008-01-27 Robert Millan <rmh@aybabtu.com>
17394
17395 Fix parallel builds with grub-emu. Based on earlier commit for
17396 grub-probe and grub-setup.
17397
17398 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17399 (util/grub-emu.c_DEPENDENCIES): ... this.
17400 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17401 (util/grub-emu.c_DEPENDENCIES): ... this.
17402 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17403 (util/grub-emu.c_DEPENDENCIES): ... this.
17404 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17405 (util/grub-emu.c_DEPENDENCIES): ... this.
17406 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17407 (util/grub-emu.c_DEPENDENCIES): ... this.
17408
3f51de77 174092008-01-27 Pavel Roskin <proski@gnu.org>
17410
17411 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
17412 to create a gap between _end and the modules added to the image
17413 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
17414 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
17415 * util/elf/grub-mkimage.c (add_segments): Likewise.
17416
2033f53e 174172008-01-26 Pavel Roskin <proski@gnu.org>
17418
17419 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
17420 just return an error.
17421
22da1f6f 174222008-01-26 Bean <bean123ch@gmail.com>
17423
17424 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
17425 (grub_reiserfs_get_item): Save offset of the next item.
17426 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
17427
2a9525e6 174282008-01-25 Robert Millan <rmh@aybabtu.com>
17429
17430 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
17431 make all filesystem sources appear together (possibly fixing omissions
17432 while at it).
17433 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17434 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17435 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17437
17438 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
17439 add `kern/file.c'.
17440 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
17441 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17442 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
17443 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17444
17445 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
17446 (probe): Add a sanity check to make sure of our ability to read
17447 requested files when probing for filesystem type.
17448
17449 * genmk.rb: Update copyright year (2007).
17450
17451 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
17452 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
17453 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
17454 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
17455 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
17456 : Remove function prototypes.
17457
b95f71b5 174582008-01-25 Robert Millan <rmh@aybabtu.com>
17459
17460 Revert my previous commits (based on wrong assumption of how grub_errno
17461 works).
17462
fe6b695a 17463 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 17464 * kern/file.c (grub_file_open): Likewise.
17465
d08bbb49 174662008-01-24 Pavel Roskin <proski@gnu.org>
17467
17468 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
17469 that hang if GRUB tries to setup colors.
17470 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
17471 colors for firmwares that don't support it.
17472 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
17473 Recognize Open Hack'Ware, set flags to work around its
17474 limitations.
17475
605e36ed 174762008-01-24 Robert Millan <rmh@aybabtu.com>
17477
17478 * kern/file.c (grub_file_open): Do not account previous failures of
17479 unrelated functions when grub_errno is checked for.
17480 Reported by Oleg Strikov.
17481
bac332a1 174822008-01-24 Bean <bean123ch@gmail.com>
17483
17484 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
17485 (grub_ufs_sblock): New member volume name.
17486 (grub_ufs_find_file): Fix string copy bug.
17487 (grub_ufs_label): Implement this function properly.
17488
17489 * fs/hfs.c (grub_hfs_cnid_type): New enum.
17490 (grub_hfs_iterate_records): Use the correct file number for extents
17491 and catalog file. Fix problem in next index calculation.
17492 (grub_hfs_find_node): Replace recursive function call with loop.
17493 (grub_hfs_iterate_dir): Replace recursive function call with loop.
17494
15c80c09 174952008-01-23 Robert Millan <rmh@aybabtu.com>
17496
17497 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
17498 `<grub/symbol.h>' and `<grub/multiboot.h>'.
17499 (grub_multiboot2_real_boot): New function prototype.
17500
17501 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
17502 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
17503
17504 * kern/i386/ieee1275/init.c (grub_os_area_addr)
17505 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
17506
305338fd 175072008-01-23 Robert Millan <rmh@aybabtu.com>
17508
17509 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
17510 #ifdef'ed out grub_printf().
17511
3ea52685 175122008-01-23 Robert Millan <rmh@aybabtu.com>
17513
17514 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
17515 grub_dprintf calls, since they make "debug=all" mode unusable.
17516 (grub_console_checkkey): Likewise.
17517
5882ae4b 175182008-01-23 Robert Millan <rmh@aybabtu.com>
17519
17520 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17521 `term/i386/pc/at_keyboard.c'.
17522 (pkglib_MODULES): Add `serial.mod'.
17523 (serial_mod_SOURCES): New variable.
17524 (serial_mod_CFLAGS): Likewise.
17525 (serial_mod_LDFLAGS): Likewise.
17526
17527 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
17528 `<grub/powerpc/ieee1275/console.h>'.
17529 (grub_keyboard_controller_init): New function prototype.
17530 (grub_console_checkkey): Likewise.
17531 (grub_console_getkey): Likewise.
17532
17533 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
17534 keyboard on i386.
17535
17536 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
17537 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
17538
06ab5303 175392008-01-23 Robert Millan <rmh@aybabtu.com>
17540
17541 * kern/i386/pc/init.c (make_install_device): When memdisk image is
17542 present, "(memdisk)/boot/grub" becomes the default prefix.
17543
17544 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
17545 a memdisk tarball with all the modules. Add --overlay=DIR option that
17546 allows users to overlay additional files into the image.
17547
dbb475a4 175482008-01-23 Robert Millan <rmh@aybabtu.com>
17549
17550 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
17551 and `machine/memory.h'.
17552 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
17553 (_multiboot_mod_SOURCES): New variable.
17554 (_multiboot_mod_CFLAGS): Likewise.
17555 (_multiboot_mod_LDFLAGS): Likewise.
17556 (multiboot_mod_SOURCES): Likewise.
17557 (multiboot_mod_CFLAGS): Likewise.
17558 (multiboot_mod_LDFLAGS): Likewise.
17559
17560 * include/grub/i386/ieee1275/loader.h: New file.
17561
17562 * include/grub/i386/ieee1275/machine.h: Likewise.
17563
17564 * include/grub/i386/ieee1275/memory.h: Likewise.
17565
17566 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
17567 variable declaration.
17568 (grub_os_area_size): Likewise.
17569
17570 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
17571 (grub_lower_mem, grub_upper_mem): New variables.
17572 (grub_stop_floppy): New function (just to make
17573 grub_multiboot2_real_boot() happy).
17574
17575 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
17576 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
17577 (grub_stop): New function.
17578 Include `"../realmode.S"' and `"../loader.S"'.
17579
17580 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
17581 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
17582
17583 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
17584 rely on grub_multiboot2_real_boot() for final boot.
17585
25638629 175862008-01-22 Robert Millan <rmh@aybabtu.com>
17587
17588 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
17589 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
17590 device that doesn't look like an SD card.
17591 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17592 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
17593 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
17594 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
17595 found.
17596
9dad816d 175972008-01-22 Robert Millan <rmh@aybabtu.com>
17598
17599 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
17600 avoid claiming over our own code.
17601
34842f2d 176022008-01-22 Bean <bean123ch@gmail.com>
17603
17604 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
17605 (jpeg_mod_SOURCES): New variable.
17606 (jpeg_mod_CFLAGS): Likewise.
17607 (jpeg_mod_LDFLAGS): Likewise.
17608
17609 * video/readers/jpeg.c : New file.
17610
44023a28 176112008-01-22 Bean <bean123ch@gmail.com>
17612
17613 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
17614 there are no more items.
17615
bc2d8ac6 176162008-01-21 Robert Millan <rmh@aybabtu.com>
17617
17618 * kern/mm.c (grub_mm_init_region): Improve debug message.
17619
261bd4bc 176202008-01-21 Robert Millan <rmh@aybabtu.com>
17621
17622 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
17623 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
17624 address.
17625 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
17626 a C macro.
17627 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
17628 Indicates start of upper memory.
17629 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
17630 (generate_image): Abort when image size is big enough to corrupt
17631 upper memory.
17632
17633 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
17634 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
17635 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17636 instead of hardcoding 0xA0000.
17637 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
17638 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17639 instead of hardcoding 0xA0000.
17640
f970b55e 176412008-01-21 Robert Millan <rmh@aybabtu.com>
17642
17643 * disk/memdisk.c (memdisk_size): New variable.
17644 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
17645 `memdisk_size'.
17646 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
17647 image to dynamic memory.
17648 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
17649 `memdisk_size'. Free memdisk block.
17650
1a8b0526 176512008-01-21 Robert Millan <rmh@aybabtu.com>
17652
17653 Fix detection of very small filesystems (like tar).
17654
17655 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
17656 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
17657 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
17658 a problem with this disk).
17659
6e9b4aab 176602008-01-21 Robert Millan <rmh@aybabtu.com>
17661
17662 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
17663 on grub_biosdisk_rw_standard() error.
17664
0d8837b2 176652008-01-21 Robert Millan <rmh@aybabtu.com>
17666
17667 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
17668 recent changes.
17669 * kern/elf.c: Likewise.
17670 * kern/ieee1275/ieee1275.c: Likewise.
17671 * kern/powerpc/ieee1275/openfw.c: Likewise.
17672 * term/ieee1275/ofconsole.c: Likewise.
17673
ffd36e34 176742008-01-21 Robert Millan <rmh@aybabtu.com>
17675
17676 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
17677
3f0093d0 17678 * include/grub/kernel.h (grub_arch_memdisk_addr)
17679 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 17680
3f0093d0 17681 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
17682 (grub_arch_memdisk_size): ... to here.
ffd36e34 17683
6c391b21 176842008-01-21 Robert Millan <rmh@aybabtu.com>
17685
17686 Mostly based on bugfix from Bean.
17687
17688 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
17689 attribute with hook() parameter.
17690 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
17691 declaration.
17692 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
17693 attribute with hook() parameter.
17694 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
17695 declaration.
17696
55a581dc 176972008-01-21 Robert Millan <rmh@aybabtu.com>
17698
17699 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
17700 (pkglib_MODULES): Add `memdisk.mod'.
17701 (memdisk_mod_SOURCES): New variable.
17702 (memdisk_mod_CFLAGS): Likewise.
17703 (memdisk_mod_LDFLAGS): Likewise.
17704
17705 * disk/memdisk.c: New file.
17706
17707 * include/grub/disk.h (grub_disk_dev_id): Add
17708 `GRUB_DISK_DEVICE_MEMDISK_ID'.
17709
17710 * include/grub/i386/pc/kernel.h
17711 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
17712 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
17713 (grub_kernel_image_size): New variable declaration.
17714 (grub_total_module_size): Likewise.
17715 (grub_memdisk_image_size): Likewise.
17716
17717 * include/grub/i386/pc/memory.h
17718 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
17719
17720 * include/grub/kernel.h: Include `<grub/symbol.h>'.
17721 (grub_arch_memdisk_addr): New variable declaration.
17722 (grub_arch_memdisk_size): Likewise.
17723
17724 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
17725 (grub_arch_memdisk_size): Likewise.
17726
17727 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
17728 (codestart): Replace hardcoded `0x100000' with
17729 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
17730
17731 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
17732 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
17733 not NULL, append the contents of the file it refers to, at the end of
17734 the compressed kernel image. Initialize `grub_memdisk_image_size'
17735 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
17736 (options): Add "memdisk"|'m' option.
17737 (main): Parse --memdisk|-m option, and pass user-provided path as
17738 parameter to generate_image().
17739
3d7f54c9 177402008-01-20 Robert Millan <rmh@aybabtu.com>
17741
17742 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
17743 grub_dprintf() calls from here ...
17744 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
17745
0bf74728 177462008-01-20 Robert Millan <rmh@aybabtu.com>
17747
17748 Fix detection of "real mode" when /options/real-mode? doesn't exist.
17749
17750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
17751 declaration.
17752 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
17753 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
17754 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 17755 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 17756 property).
17757 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
17758 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
17759
33bf70a7 177602008-01-19 Robert Millan <rmh@aybabtu.com>
17761
fe6b695a 17762 Get rid of confusing function (superseded by
33bf70a7 17763 `grub_ieee1275_get_integer_property')
17764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
17765 prototype.
17766 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
17767 function.
17768 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
17769 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 17770 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 17771
e2da7d26 177722008-01-19 Robert Millan <rmh@aybabtu.com>
17773
17774 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
17775 command after "shut-down", since implementations differ on which
17776 the command for halt is.
17777
59f1fd8d 177782008-01-19 Robert Millan <rmh@aybabtu.com>
17779
17780 * include/grub/i386/linuxbios/console.h: Add header protection.
17781 (grub_keyboard_controller_init): New function prototype.
17782 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
17783 (KEYBOARD_COMMAND_READ): Likewise.
17784 (KEYBOARD_COMMAND_WRITE): Likewise.
17785 (KEYBOARD_SCANCODE_SET1): Likewise.
17786 (grub_keyboard_controller_write): New function.
17787 (grub_keyboard_controller_read): Likewise.
17788 (grub_keyboard_controller_init): Likewise.
17789
17790 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17791 (grub_console_init): On coreboot/LinuxBIOS, call
17792 grub_keyboard_controller_init().
17793
5f5a7c15 177942008-01-19 Robert Millan <rmh@aybabtu.com>
17795
17796 PowerPC changes provided by Pavel Roskin.
17797
17798 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17799 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17800 don't rely on cmain() doing it.
17801 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17802 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17803
1210e168 178042008-01-16 Robert Millan <rmh@aybabtu.com>
17805
17806 * include/grub/i386/linuxbios/memory.h
17807 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17808 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17809 receive `table_header' as argument. Instead, probe for it in the
17810 known memory ranges where it can be present.
17811 (grub_available_iterate): Do not pass a fixed `table_header' address
17812 to grub_linuxbios_table_iterate().
17813
3d04eab8 178142008-01-15 Robert Millan <rmh@aybabtu.com>
17815
17816 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17817 * conf/i386-ieee1275.rmk: New file.
17818 * include/grub/i386/ieee1275/console.h: Likewise.
17819 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17820 * include/grub/i386/ieee1275/kernel.h: Likewise.
17821 * include/grub/i386/ieee1275/time.h: Likewise.
17822 * kern/i386/ieee1275/init.c: Likewise.
17823 * kern/i386/ieee1275/startup.S: Likewise.
17824
d1bc1b73 178252008-01-15 Robert Millan <rmh@aybabtu.com>
17826
17827 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17828 when pointers are 32-bit (but still do set it to one when they are
17829 64-bit).
17830
66a65807 178312008-01-15 Robert Millan <rmh@aybabtu.com>
17832
17833 * include/grub/ieee1275/ieee1275.h
17834 (grub_ieee1275_get_integer_property): New function prototype.
17835
17836 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17837 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17838 grub_ieee1275_get_property() to handle endianness.
66a65807 17839
17840 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17841 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17842 where appropriate.
66a65807 17843 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17844 (grub_map): Likewise.
17845 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17846
a83ccafd 178472008-01-15 Bean <bean123ch@gmail.com>
17848
17849 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17850 (grub_script_execute_cmdline): Reset grub_errno.
17851
17852 * normal/main.c (read_config_file): Reset grub_errno.
17853
17854 * normal/parse.y (script_init): New.
17855 (script): Move function and menuentry here.
17856 (delimiter): New.
17857 (command): Add delimiter at the end of command.
17858 (commands): Adjust to match the new command.
17859 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17860 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17861 (if): Use the new commands.
17862
17863 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17864
df6ecfc6 178652008-01-15 Robert Millan <rmh@aybabtu.com>
17866
17867 * normal/menu.c (run_menu): Move timeout message from here ...
17868 (print_timeout): ... to here.
17869 (run_menu): Use print_timeout() once during initial draw to print
17870 the whole message, and again in every clock tick to update only
17871 the number of seconds.
17872
87ae25eb 178732008-01-15 Robert Millan <rmh@aybabtu.com>
17874
17875 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17876 actual size of `available' from grub_ieee1275_get_property(), and
17877 restrict parsing to that bound.
17878
47bf09a4 178792008-01-15 Christian Franke <franke@computer.org>
17880
17881 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17882 (argp_program_version): Remove variable.
17883 (argp_program_bug_address): Likewise.
17884 (options): Convert from struct argp_option to struct option.
17885 (struct arguments): Remove.
17886 (parse_opt): Remove.
17887 (usage): New function.
17888 (main): Replace struct args members by simple variables.
17889 Replace argp_parse() by getopt_long().
17890 Add switch to evaluate options.
17891 Add missing "(...)" around root_dev in prefix string.
17892
c86f1469 178932008-01-14 Robert Millan <rmh@aybabtu.com>
17894
17895 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17896 for grub_ieee1275_exit(), in order to improve portability.
17897
e622c559 178982008-01-14 Robert Millan <rmh@aybabtu.com>
17899
17900 * util/grub.d/10_linux.in (prefix): Define.
17901 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17902
44cb1ec8 179032008-01-13 Pavel Roskin <proski@gnu.org>
17904
17905 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17906 grub_errno if no errors have been detected.
17907
1eb8c802 179082008-01-12 Robert Millan <rmh@aybabtu.com>
17909
17910 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17911 (grub_util_get_dev_abstraction): New function prototype.
17912
17913 * util/getroot.c: Include `<grub/util/getroot.h>'
17914 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17915 (grub_util_get_dev_abstraction): ... here (new function).
17916
17917 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17918 `PRINT_ABSTRACTION'.
17919 (probe): Probe for abstraction type when requested.
17920 (main): Understand `--target=abstraction'.
17921
17922 * util/i386/efi/grub-install.in: Add abstraction module to core
17923 image when it is found to be necessary.
17924 * util/i386/pc/grub-install.in: Likewise.
17925 * util/powerpc/ieee1275/grub-install.in: Likewise.
17926
17927 * util/update-grub_lib.in (font_path): Return system path without
17928 converting to GRUB path.
17929 * util/update-grub.in: Convert system path returned by font_path()
17930 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17931 abstraction module is needed for loading fonts (if any). Export
17932 that as `GRUB_PRELOAD_MODULES'.
17933 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17934 insmod commands).
17935
52bd3de9 179362008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17937
17938 Remove some unused code from reiserfs.
f19dbdb7 17939
52bd3de9 17940 * fs/reiserfs.c (struct grub_reiserfs_key)
17941 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17942 (struct grub_reiserfs_node_body): Removed.
17943 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17944 Likewise.
17945 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17946 Likewise.
17947 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17948 Likewise.
17949 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17950 Likewise.
17951 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17952 Likewise.
17953 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17954 Likewise.
17955 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17956 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17957 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17958
2f80039d 179592008-01-10 Robert Millan <rmh@aybabtu.com>
17960
17961 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17962 Determines if a file is garbage left by packaging systems, etc.
17963 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17964 for processing /etc/grub.d scripts.
17965 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17966 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17967 as a condition for processing Linux images.
17968
87888032 179692008-01-10 Pavel Roskin <proski@gnu.org>
17970
17971 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17972 to compile reiserfs.c on PowerPC.
17973
7e54fced 179742008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17975
17976 * kern/device.c (grub_device_iterate): Do not abort device iteration
17977 when one of the devices cannot be opened.
17978 * kern/disk.c (grub_disk_open): Do not account previous failures of
17979 unrelated functions when grub_errno is checked for.
17980
5aa541e6 179812008-01-08 Robert Millan <rmh@aybabtu.com>
17982
17983 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17984 `! grub_linux_is_bzimage', change order of address comparison to make
17985 it more intuitive, and improve "too big zImage" error message.
17986
7076340d 179872008-01-08 Robert Millan <rmh@aybabtu.com>
17988
17989 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17990 `$(update-grub_DATA)'.
17991 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17992 targets.
17993
9ca70333 179942008-01-07 Robert Millan <rmh@aybabtu.com>
17995
17996 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17997 which instruction is modified by grub-setup during installation
17998 (since it wasn't obvious by only looking at this file).
17999
38ccf575 180002008-01-07 Robert Millan <rmh@aybabtu.com>
18001
18002 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
18003 listing actual TODO items.
18004
f5db4291 180052008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18006
868967cf 18007 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
18008 correctly.
18009 (grub_reiserfs_get_key_offset): Likewise.
18010 (grub_reiserfs_set_key_offset): Likewise.
18011 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 18012 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 18013
18014 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
18015 better to remove the bitfield version completely.
f19dbdb7 18016
868967cf 180172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18018
f5db4291 18019 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
18020 allocated from the heap, due to the fshelp implementation.
18021 (grub_reiserfs_dir): Free NODE, due to the same reason.
18022
492e6d9d 180232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18024
18025 Mostly from Vincent Pelletier:
f19dbdb7 18026
492e6d9d 18027 * fs/reiserfs.c: New file.
f19dbdb7 18028
492e6d9d 18029 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
18030 (reiserfs_mod_SOURCES): New variable.
18031 (reiserfs_mod_CFLAGS): Likewise.
18032 (reiserfs_mod_LDFLAGS): Likewise.
18033
18034 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
18035 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
18036 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
18037 normal/color.c.
18038
9ce3e7c1 180392008-01-06 Robert Millan <rmh@aybabtu.com>
18040
18041 * normal/color.c: Remove `<grub/env.h>'.
18042
f3b58148 180432008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
18044
18045 * include/grub/normal.h: Include <grub/env.h>.
18046
7ac3bcfa 180472008-01-05 Robert Millan <rmh@aybabtu.com>
18048
18049 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
18050 usage example with `(hd0,1)'.
fb358190 18051 Reported by Samuel Thibault.
7ac3bcfa 18052
c8ee99d7 180532008-01-05 Robert Millan <rmh@aybabtu.com>
18054
18055 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
18056 (grub_linux_boot_zimage): Rename to ...
18057 (grub_linux_boot): ... this.
18058 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
18059 (grub_linux_boot_zimage): Conditionalize zImage copy.
18060
18061 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
18062 (grub_linux_boot_bzimage): Remove prototype.
18063 (grub_linux_boot_zimage): Rename to ...
18064 (grub_linux_boot): ... this.
18065
18066 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
18067 (grub_linux_boot): Remove function.
18068
0ece25b1 180692008-01-05 Robert Millan <rmh@aybabtu.com>
18070
18071 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
18072 (grub_env_write_color_highlight): Likewise.
18073 (grub_wait_after_message): Likewise.
18074
18075 * normal/color.c: New file.
18076
18077 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18078 (normal_mod_DEPENDENCIES): Likewise.
18079
18080 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18081 (normal_mod_DEPENDENCIES): Likewise.
18082
18083 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18084 (normal_mod_DEPENDENCIES): Likewise.
18085
18086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18087 (normal_mod_DEPENDENCIES): Likewise.
18088
18089 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
18090 for waiting after a message is printed.
18091 * normal/main.c (read_config_file): Likewise.
18092 (grub_normal_init): Register grub_env_write_color_normal() and
18093 grub_env_write_color_highlight() hooks. Mark `color_normal' and
18094 `color_highlight' variables as global.
18095
18096 * normal/menu.c (grub_wait_after_message): New function.
18097 (grub_color_menu_normal): New variable. Replaces ...
18098 (GRUB_COLOR_MENU_NORMAL): ... this macro.
18099 (grub_color_menu_highlight): New variable. Replaces ...
18100 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
18101 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
18102 `GRUB_TERM_COLOR_STANDARD'.
18103 (print_message): Use `grub_setcolorstate' to reload colors. Rename
18104 `normal_code' and `highlight_code' to `old_color_normal' and
18105 `old_color_highlight', respectively.
18106 (grub_menu_init_page): Update colors when drawing the menu, based on
18107 `menu_color_normal' and `menu_color_highlight' variables.
18108 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
18109 a message is printed.
18110
182dd4e5 181112008-01-05 Robert Millan <rmh@aybabtu.com>
18112
18113 * kern/env.c (grub_env_context_open): Propagate hooks for global
18114 variables to new context.
18115
18116 * kern/main.c (grub_set_root_dev): Export `root' variable.
18117
ddf8f6ad 181182008-01-05 Robert Millan <rmh@aybabtu.com>
18119
18120 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 18121 discs unconditionally, since udev and others have options to provide
ddf8f6ad 18122 them.
18123
d8b43d9b 181242008-01-05 Robert Millan <rmh@aybabtu.com>
18125
18126 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
18127
2bff2de3 181282008-01-04 Christian Franke <franke@computer.org>
18129
18130 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
18131 of eisa_mmap.
18132
97eab917 181332008-01-03 Pavel Roskin <proski@gnu.org>
18134
18135 * kern/i386/linuxbios/init.c: Put "void" to all function
18136 declarations with no arguments.
18137 * kern/powerpc/ieee1275/init.c: Likewise.
18138 * term/i386/pc/at_keyboard.c: Likewise.
18139 * term/i386/pc/vga_text.c: Likewise.
18140 * util/grub-mkdevicemap.c: Likewise.
18141
b9416d00 181422008-01-02 Robert Millan <rmh@aybabtu.com>
18143
18144 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
18145 message when loaded image is out of bounds.
18146 (grub_multiboot_load_elf64): Likewise.
18147
92695df9 181482008-01-02 Pavel Roskin <proski@gnu.org>
18149
18150 * util/grub.d/10_linux.in: Try version without ".old" when
18151 looking for initrd. It's better to use initrd from the newer
18152 kernel of the same version than no initrd at all.
18153
d98d9cad 181542008-01-01 Robert Millan <rmh@aybabtu.com>
18155
18156 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
18157
dbfdce36 181582008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
18159
f19dbdb7 18160 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 18161 grub_video_get_active_render_target.
18162 (grub_video_adapter): Added unmap_color and get_active_render_target.
18163
f19dbdb7 18164 * video/video.c: Added grub_video_unmap_color and
dbfdce36 18165 grub_video_get_active_render_target.
18166 (grub_video_get_info): Changed method to accept NULL pointer as an
18167 argument to allow detection of active video adapter.
18168
18169 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
18170 grub_video_vbe_unmap_color_int.
18171 Added grub_video_vbe_unmap_color and
18172 grub_video_vbe_get_active_render_target.
18173 (grub_video_vbe_adapter): Added unmap_color and
18174 get_active_render_target.
18175
f19dbdb7 18176 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 18177 with grub_video_vbe_unmap_color_int.
18178
18179 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
18180 (DEFAULT_NORMAL_COLOR): Likewise.
18181 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
18182 (DEFAULT_FG_COLOR): Removed.
18183 (DEFAULT_BG_COLOR): Likewise.
18184 (DEFAULT_CURSOR_COLOR): Changed value.
18185 (grub_virtual_screen): Added standard_color_setting,
18186 normal_color_setting, highlight_color_setting and term_color.
18187 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
18188 (bitmap_width): Added.
18189 (bitmap_height): Likewise.
18190 (bitmap): Likewise.
18191 (set_term_color): Likewise.
18192 (grub_virtual_screen_setup): Changed to use new terminal coloring
18193 settings.
18194 (grub_gfxterm_init): Added init for bitmap.
18195 (grub_gfxterm_fini): Added destroy for bitmap.
18196 (redraw_screen_rect): Updated to use background bitmap and new
18197 terminal coloring.
18198 (scroll_up): Added optimization for case when there is no bitmap.
18199 (grub_gfxterm_cls): Fixed to use correct background color.
18200 (grub_virtual_screen_setcolorstate): Changed to use new terminal
18201 coloring.
18202 (grub_virtual_screen_setcolor): Likewise.
18203 (grub_virtual_screen_getcolor): Added.
18204 (grub_gfxterm_background_image_cmd): Likewise.
18205 (grub_video_term): Added setcolor and getcolor.
18206 (MOD_INIT): Added registration of background_image command.
18207 (MOD_TERM): Added unregistration for background_image command.
18208
c3c20931 182092007-12-30 Pavel Roskin <proski@gnu.org>
18210
18211 * loader/multiboot_loader.c: Fix multiboot command
18212 unregistration. Fix all typos in the word "multiboot".
18213
df266716 182142007-12-29 Pavel Roskin <proski@gnu.org>
94239199 18215
18216 * util/grub.d/10_linux.in: Refactor search for initrd. Add
18217 support for initrd names used in Fedora.
18218
fc6e896c 182192007-12-26 Bean <bean123ch@gmail.com>
18220
18221 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
18222 (cpio_mod_SOURCES): New variable.
18223 (cpio_mod_CFLAGS): Likewise.
18224 (cpio_mod_LDFLAGS): Likewise.
18225
18226 * fs/cpio.c: New file.
18227
18228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
18229
18230 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18231
18232 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18233
18234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18235
533110ad 182362007-12-25 Robert Millan <rmh@aybabtu.com>
18237
18238 * include/grub/term.h (struct grub_term): Add `getcolor' function.
18239 (grub_getcolor): New function.
18240
18241 * kern/term.c (grub_getcolor): New function.
18242 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
18243 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
18244 (print_entry): Set normal and highlight colors to
18245 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
18246 respectively, before printing and restore them to old
18247 values afterwards.
18248 (grub_menu_init_page): Likewise. Fill an additional colored space
18249 that would otherwise be left blank.
18250
18251 * term/efi/console.c (grub_console_getcolor): New function.
18252 (struct grub_console_term.getcolor): New variable.
18253 * term/i386/pc/console.c (grub_console_getcolor): New function.
18254 (struct grub_console_term.getcolor): New variable.
18255 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
18256 (struct grub_console_term.getcolor): New variable.
18257
18258 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
18259 (struct grub_console_term.setcolor): Remove variable.
18260 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
18261 (struct grub_console_term.setcolor): Remove variable.
18262 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
18263 (struct grub_console_term.setcolor): Remove variable.
18264 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
18265 (struct grub_console_term.setcolor): Remove variable.
18266
4931827f 182672007-12-25 Robert Millan <rmh@aybabtu.com>
18268
18269 * configure.ac: Search for possible unifont.hex locations, and
18270 define UNIFONT_HEX if found.
18271
18272 * Makefile.in (UNIFONT_HEX): Define variable.
18273 (DATA): Rename to ...
18274 (PKGLIB): ... this. Update all users.
18275 (PKGDATA): New variable.
18276 (pkgdata_IMAGES): Rename to ...
18277 (pkglib_IMAGES): ... this. Update all users.
18278 (pkgdata_MODULES): Rename to ...
18279 (pkglib_MODULES): ... this. Update all users.
18280 (pkgdata_PROGRAMS): Rename to ...
18281 (pkglib_PROGRAMS): ... this. Update all users.
18282 (pkgdata_DATA): Rename to ...
18283 (pkglib_DATA): ... this. Update all users.
18284 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
18285 (unicode.pff, ascii.pff): New rules.
18286 (all-local): Add `$(PKGDATA)' dependency.
18287 (install-local): Process `$(PKGDATA)'.
18288
18289 * util/update-grub_lib.in (font_path): Search for *.pff files in
18290 a few more locations, including `${pkgdata}'.
18291
57e57e31 182922007-12-23 Robert Millan <rmh@aybabtu.com>
18293
18294 Patch from Bean <bean123ch@gmail.com>:
18295 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
18296 `size'.
18297
4bc72aa9 182982007-12-21 Bean <bean123ch@gmail.com>
18299
18300 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
18301 (ntfscomp_mod_SOURCES): New variable.
18302 (ntfscomp_mod_CFLAGS): Likewise.
18303 (ntfscomp_mod_LDFLAGS): Likewise.
18304
18305 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
18306 (grub_probe_SOURCES): Likewise.
18307 (grub_emu_SOURCES): Likewise.
18308
18309 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18310 (grub_emu_SOURCES): Likewise.
18311
18312 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18313 (grub_emu_SOURCES): Likewise.
18314
18315 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18316 (grub_emu_SOURCES): Likewise.
18317
18318 * fs/ntfs.c (grub_ntfscomp_func): New variable.
18319 (read_run_list): Renamed to grub_ntfs_read_run_list.
18320 (decomp_nextvcn): Moved to ntfscomp.c.
18321 (decomp_getch): Likewise.
18322 (decomp_get16): Likewise.
18323 (decomp_block): Likewise.
18324 (read_block): Likewise.
18325 (read_data): Partially moved to ntfscomp.c.
18326 (fixup): Change unsigned to grub_uint16_t.
18327 (read_mft): Change unsigned long to grub_uint32_t.
18328 (read_attr): Likewise.
18329 (read_data): Likewise.
18330 (read_run_data): Likewise.
18331 (read_run_list): Likewise.
18332 (read_mft): Likewise.
18333
18334 * fs/ntfscomp.c: New file.
18335
18336 * include/grub/ntfs.h: New file.
18337
af680a87 183382007-12-16 Robert Millan <rmh@aybabtu.com>
18339
18340 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
18341 IDE disk check, since Linux is known to support 20 IDE disks.
18342 Reported by Colin Watson.
18343
84be7599 183442007-12-15 Bean <bean123ch@gmail.com>
18345
18346 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
18347 (lnxboot_img_SOURCES): New variable.
18348 (lnxboot_img_ASFLAGS): Likewise.
18349 (lnxboot_img_LDFLAGS): Likewise.
18350
18351 * boot/i386/pc/lnxboot.S: New file.
18352
6af9db01 183532007-11-24 Pavel Roskin <proski@gnu.org>
18354
18355 * configure.ac: Test if '--build-id=none' is supported by the
18356 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
18357 objcopy to generate incorrect binary files (binutils
18358 2.17.50.0.18-1 as shipped by Fedora 8).
18359 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
18360 linking, so that build ID doesn't break the test.
18361
7361cfe6 183622007-11-24 Pavel Roskin <proski@gnu.org>
18363
18364 * include/grub/i386/time.h: use "void" in the argument list
18365 of grub_cpu_idle().
18366 * include/grub/powerpc/time.h: Likewise.
18367 * include/grub/sparc64/time.h: Likewise.
18368
1593e10c 183692007-11-18 Christian Franke <franke@computer.org>
18370
18371 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
18372 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
18373 This fixes the problem that function keys did not work in grub-emu.
18374
3b8db1a8 183752007-11-18 Christian Franke <franke@computer.org>
18376
18377 * disk/host.c (grub_host_open): Remove attribute unused from
18378 name parameter. Add check for "host". This fixes the problem
18379 that grub-emu does not find partitions.
18380
2e29408d 183812007-11-18 Christian Franke <franke@computer.org>
18382
18383 * util/hostfs.c (is_dir): New function.
18384 (grub_hostfs_dir): Handle missing dirent.d_type case.
18385 (grub_hostfs_read): Add missing fseek().
18386 (grub_hostfs_label): Clear label pointer. This fixes a crash
18387 of grub-emu on "ls (host)".
18388
398cd047 183892007-11-18 Christian Franke <franke@computer.org>
18390
18391 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
18392 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
18393 to 64 bit boundary by default.
18394
c405c391 183952007-11-18 Bean <bean123ch@gmail.com>
18396
18397 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
18398 (hexdump_mod_SOURCES): New variable.
18399 (hexdump_mod_CFLAGS): Likewise.
18400 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 18401
c405c391 18402 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18403
18404 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18405
18406 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18407
18408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18409
18410 * include/grub/hexdump.h: New file.
18411
18412 * commands/hexdump.c: New file.
18413
5cced7fd 184142007-11-10 Robert Millan <rmh@aybabtu.com>
18415
18416 * commands/i386/pc/play.c (beep_off): Switch order of arguments
18417 in grub_outb() calls.
18418 (beep_on): Likewise.
18419
8b714eb0 184202007-11-10 Christian Franke <franke@computer.org>
18421
18422 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
18423 (grub_menu_run): Likewise.
18424
ce0f1839 184252007-11-10 Robert Millan <rmh@aybabtu.com>
18426
18427 * include/grub/i386/efi/machine.h: New file.
18428 * include/grub/i386/linuxbios/machine.h: Likewise.
18429 * include/grub/i386/pc/machine.h: Likewise.
18430 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18431 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18432
18433 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
18434 (serial_hw_io_addr): New variable.
18435 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
18436 instead of `(unsigned short *) 0x400'.
18437
270c237d 184382007-11-10 Bean <bean123ch@gmail.com>
18439
18440 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
18441
a87783bf 184422007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18443
18444 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
18445 (vga_mod_SOURCES): Added.
18446 (vga_mod_CFLAGS): Likewise.
18447 (vga_mod_LDFLAGS): Likewise.
18448
18449 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
18450 grub_outb() calls.
18451 (set_map_mask): Likewise.
18452 (set_read_map): Likewise.
18453 (set_read_address): Likewise.
18454 (vga_font): Removed variable.
18455 (get_vga_glyph): Removed function.
18456 (invalidate_char): Likewise.
18457 (write_char): Changed to use grub_font_get_glyph() for font
18458 information.
18459 (grub_vga_putchar): Likewise.
18460 (grub_vga_getcharwidth): Likewise.
18461
6433b448 184622007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18463
18464 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
18465 flags.
18466 (pxeboot_img_LDFLAGS): Likewise.
18467 (diskboot_img_LDFLAGS): Likewise.
18468 (kernel_img_LDFLAGS): Likewise.
18469
49178511 184702007-11-06 Robert Millan <rmh@aybabtu.com>
18471
18472 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
18473 in grub_outb() calls.
18474 (serial_hw_init): Likewise.
18475
53b052de 184762007-11-05 Robert Millan <rmh@aybabtu.com>
18477
18478 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
18479 spaces. Skip non-regular files.
18480
5ab33bba 184812007-11-05 Robert Millan <rmh@aybabtu.com>
18482
18483 * kern/disk.c (grub_disk_firmware_fini)
18484 (grub_disk_firmware_is_tainted): New variables.
18485
18486 * include/grub/disk.h (grub_disk_firmware_fini)
18487 (grub_disk_firmware_is_tainted): Likewise.
18488
18489 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
18490 (grub_disk_biosdisk_fini): ... to here.
18491 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
18492 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
18493 is set. Register grub_disk_biosdisk_fini() in
18494 `grub_disk_firmware_fini'.
18495
18496 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
18497 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
18498 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
18499 to finish existing firmware disk interface.
18500
18501 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
18502 (ata_mod_SOURCES): New variable.
18503 (ata_mod_CFLAGS): Likewise.
18504 (ata_mod_LDFLAGS): Likewise.
18505
0149ab7c 185062007-11-05 Robert Millan <rmh@aybabtu.com>
18507
18508 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
18509 (grub_ata_wait): Reimplement using grub_millisleep().
18510
18511 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
18512 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
18513
be7ac41e 185142007-11-03 Marco Gerards <marco@gnu.org>
18515
18516 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
18517 (CRTC_ADDR_PORT): New macro.
18518 (CRTC_DATA_PORT): Likewise.
18519 (CRTC_CURSOR): Likewise.
18520 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18521 (CRTC_CURSOR_ADDR_LOW): Likewise.
18522 (update_cursor): New function.
18523 (grub_console_real_putchar): Call `update_cursor'.
18524 (grub_console_gotoxy): Likewise.
18525 (grub_console_cls): Set the default color when clearing the
18526 screen.
18527 (grub_console_setcursor): Implemented.
18528
bb06ab2e 185292007-11-03 Marco Gerards <marco@gnu.org>
18530
18531 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
18532 become activate.
18533 (grub_ata_pio_write): Likewise.
18534
18535 (grub_atapi_identify): Wait after issuing an ATA command.
18536 (grub_atapi_packet): Likewise.
18537 (grub_ata_identify): Likewise.
18538 (grub_ata_readwrite): Likewise.
18539
cf8f780b 185402007-11-03 Marco Gerards <marco@gnu.org>
18541
18542 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
18543 (grub_ata_pio_write): Likewise.
18544 (grub_ata_readwrite): Use `grub_error', instead of
18545 returning `grub_errno'.
18546
ed649e54 185472007-11-03 Marco Gerards <marco@gnu.org>
18548
18549 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
18550 grub_ata_pio_write once for every single sector, instead of for
18551 multiple sectors.
18552
ca25d8f0 185532007-10-31 Robert Millan <rmh@aybabtu.com>
18554
18555 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
18556
18557 * conf/i386-linuxbios.rmk: New file.
18558
18559 * kern/i386/pc/hardware.c: Likewise.
18560 * term/i386/pc/at_keyboard.c: Likewise.
18561 * term/i386/pc/vga_text.c: Likewise.
18562
18563 * include/grub/i386/linuxbios/boot.h: Likewise.
18564 * include/grub/i386/linuxbios/console.h: Likewise.
18565 * include/grub/i386/linuxbios/init.h: Likewise.
18566 * include/grub/i386/linuxbios/kernel.h: Likewise.
18567 * include/grub/i386/linuxbios/loader.h: Likewise.
18568 * include/grub/i386/linuxbios/memory.h: Likewise.
18569 * include/grub/i386/linuxbios/serial.h: Likewise.
18570 * include/grub/i386/linuxbios/time.h: Likewise.
18571
18572 * kern/i386/linuxbios/init.c: Likewise.
18573 * kern/i386/linuxbios/startup.S: Likewise.
18574 * kern/i386/linuxbios/table.c: Likewise.
18575
e911ecc1 185762007-10-31 Marco Gerards <marco@gnu.org>
18577
18578 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
18579 (ata_mod_SOURCES): New variable.
18580 (ata_mod_CFLAGS): Likewise.
18581 (ata_mod_LDFLAGS): Likewise.
18582
18583 * disk/ata.c: New file.
18584
18585 * include/grub/disk.h (grub_disk_dev_id): Add
18586 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 18587
7f66d0e0 185882007-10-31 Robert Millan <rmh@aybabtu.com>
18589
18590 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
18591 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
18592
18593 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
18594 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
18595
18596 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
18597 `<grub/types.h>'.
18598
18599 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
18600
5cd7dd46 186012007-10-27 Robert Millan <rmh@aybabtu.com>
18602
3236ca65 18603 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 18604
2ebfc90f 186052007-10-22 Robert Millan <rmh@aybabtu.com>
18606
18607 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
18608 `"../realmode.S"'.
18609 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
18610
73fcb0f3 186112007-10-22 Robert Millan <rmh@aybabtu.com>
18612
18613 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
18614 (pkgdata_MODULES): Add `biosdisk.mod'.
18615 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
18616 variables.
18617
18618 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
18619 (grub_biosdisk_init): Replace with ...
18620 (GRUB_MOD_INIT(biosdisk)): ... this.
18621 (grub_biosdisk_fini): Replace with ...
18622 (GRUB_MOD_FINI(biosdisk)): ... this.
18623
18624 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
18625 (grub_machine_init): Remove call to grub_biosdisk_init().
18626 (grub_machine_fini): Remove call to grub_machine_fini().
18627
18628 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
18629
3381d274 186302007-10-22 Robert Millan <rmh@aybabtu.com>
18631
18632 * include/grub/time.h: New file.
18633 * include/grub/i386/time.h: Likewise.
18634 * include/grub/powerpc/time.h: Likewise.
18635 * include/grub/sparc64/time.h: Likewise.
18636
18637 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
18638 instances to ...
18639 (KERNEL_MACHINE_TIME_HEADER): ... this.
18640 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18641 instances to ...
18642 (KERNEL_MACHINE_TIME_HEADER): ... this.
18643 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18644 instances to ...
18645 (KERNEL_MACHINE_TIME_HEADER): ... this.
18646
18647 * kern/i386/efi/init.c: Include `<grub/time.h>'.
18648 (grub_millisleep): New function.
18649 * kern/i386/pc/init.c: Include `<grub/time.h>'.
18650 (grub_millisleep): New function.
18651 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
18652 Remove `grub/machine/time.h' include.
18653 (grub_millisleep): New function.
18654 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
18655 Remove `grub/machine/time.h' include.
18656 (grub_millisleep): New function.
18657
18658 * include/grub/misc.h (grub_div_roundup): New function.
18659
18660 * kern/misc.c: Include `<grub/time.h>'.
18661 (grub_millisleep_generic): New function.
18662
18663 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
18664 Add `time.h'.
18665 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
18666 Add `time.h'.
18667 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
18668 `machine/time.h'. Add `time.h'.
18669 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18670
a39a0312 186712007-10-21 Robert Millan <rmh@aybabtu.com>
18672
18673 * include/grub/misc.h (grub_max): New function.
18674
2aad70e2 186752007-10-21 Robert Millan <rmh@aybabtu.com>
18676
18677 * util/misc.c (grub_util_info): Call fflush() before returning.
18678
54b71c4b 186792007-10-20 Robert Millan <rmh@aybabtu.com>
18680
18681 * genmk.rb (Image): Copy `extra_flags' from here ...
18682 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
18683
18684 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
18685 to `argc' and `args' arguments.
18686
a979f513 186872007-10-17 Robert Millan <rmh@aybabtu.com>
18688
18689 * kern/i386/loader.S: New file.
18690
18691 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
18692 * kern/i386/loader.S (grub_linux_prot_size)... to here.
18693 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
18694 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
18695 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
18696 * kern/i386/loader.S (grub_linux_real_addr)... to here.
18697 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
18698 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
18699 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
18700 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
18701 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
18702 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
18703 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
18704 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
18705
18706 * kern/i386/realmode.S: New file.
18707
18708 * kern/i386/pc/startup.S (protstack): Moved from here ...
18709 * kern/i386/realmode.S (protstack)... to here.
18710 * kern/i386/pc/startup.S (gdt): Moved from here ...
18711 * kern/i386/realmode.S (gdt)... to here.
18712 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
18713 * kern/i386/realmode.S (prot_to_real)... to here.
18714
18715 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
18716 `kern/i386/realmode.S'.
18717
825fc8fd 187182007-10-17 Robert Millan <rmh@aybabtu.com>
18719
18720 * include/grub/i386/loader.h: New file.
18721
18722 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
18723 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18724 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18725 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18726 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
18727 * include/grub/i386/loader.h (grub_linux_prot_size)
18728 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18729 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18730 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18731 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
18732
18733 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
18734
e179b2f4 187352007-10-15 Robert Millan <rmh@aybabtu.com>
18736
18737 * normal/misc.c (grub_normal_print_device_info): Do not probe for
18738 filesystem when dev->disk is unset.
18739 Do probe for filesystem even when dev->disk->has_partitions is set.
18740 In case a filesystem is found, always report it.
18741 In case it isn't, if dev->disk->has_partitions is set, report that
18742 a partition table was found instead of reporting that no filesystem
18743 could be identified.
18744
5db82af6 187452007-10-12 Robert Millan <rmh@aybabtu.com>
18746
18747 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
18748 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
18749
68f6ac74 18750 * include/grub/types.h (grub_host_to_target16): New macro.
18751 (grub_host_to_target32): Likewise.
18752 (grub_host_to_target64): Likewise.
18753 (grub_target_to_host16): Likewise.
18754 (grub_target_to_host32): Likewise.
18755 (grub_target_to_host64): Likewise.
5db82af6 18756
18757 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18758 Renamed from to ...
18759 (GRUB_MOD_ALIGN): ...this. Update all users.
18760
68f6ac74 18761 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
18762 grub_host_to_target32.
18763 Replace grub_be_to_cpu32 with grub_target_to_host32.
18764 (load_modules): Likewise.
18765 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
18766 Replace grub_be_to_cpu32 with grub_target_to_host32.
18767 Replace grub_cpu_to_be16 with grub_host_to_target16.
18768 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 18769
3cf497cc 187702007-10-12 Robert Millan <rmh@aybabtu.com>
18771
18772 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
18773 * util/elf/grub-mkimage.c: ... here.
18774
18775 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
18776 `util/powerpc/ieee1275/grub-mkimage.c'.
18777
c8cc3692 187782007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 18779
c8cc3692 18780 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
18781 and make it easier to figure out.
18782 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
18783 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
18784 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18785 leave us with less than HEAP_MIN_SIZE total heap.
18786 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18787
5c58b791 187882007-10-03 Robert Millan <rmh@aybabtu.com>
18789
18790 * include/grub/i386/io.h: New file.
18791 * commands/i386/pc/play.c (inb): Removed.
18792 (outb): Removed.
18793 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18794 with grub_outb().
afcd2ef8 18795 * term/i386/pc/serial.c (inb): Removed.
18796 (outb): Removed.
18797 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18798 with grub_outb().
18799 * term/i386/pc/vga.c (inb): Removed.
18800 (outb): Removed.
18801 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18802 with grub_outb().
5c58b791 18803
1a477ed6 188042007-10-02 Robert Millan <rmh@aybabtu.com>
18805
18806 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18808 Reported by Marcin Kurek.
18809
6b5d80fa 188102007-09-07 Robert Millan <rmh@aybabtu.com>
18811
18812 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18813 SmartFirmware version updates (as released by Sven Luther), and avoid
18814 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18815 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18816 known broken.
18817
5618afbf 188182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18819
18820 From Hitoshi Ozeki:
18821 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18822 when merging two regions.
18823
6139dcd9 188242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18825
508e39ee 18826 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18827 * normal/completion.c (grub_normal_do_completion): Likewise.
18828 Reported by Hitoshi Ozeki.
18829
188302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18831
6139dcd9 18832 Do not use devices at boot in chainloading.
f19dbdb7 18833
6139dcd9 18834 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18835 (boot_part_addr): Likewise.
18836 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18837 with BOOT_DRIVE and BOOT_PART_ADDR.
18838 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18839 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18840
38da6516 188412007-08-29 Robert Millan <rmh@aybabtu.com>
18842
18843 Patch from Simon Peter <dn.tlp@gmx.net>:
18844 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18845 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18846 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18847 util/i386/pc/grub-setup.c_DEPENDENCIES.
18848 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18849 util/grub-probe.c_DEPENDENCIES.
18850 * conf/powerpc-ieee1275.rmk: Likewise.
18851
29d0928c 188522007-08-28 Robert Millan <rmh@aybabtu.com>
18853
18854 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18855 to tell grub-mkdevicemap how to name devices.
18856 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18857 feature).
18858
18859 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18860 util/i386/get_disk_name.c.
18861 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18862 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18863 util/ieee1275/get_disk_name.c.
18864
18865 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18866
18867 * DISTLIST: Add util/i386/get_disk_name.c and
18868 util/ieee1275/get_disk_name.c.
18869
18870 * util/grub-mkdevicemap.c: Replace device naming logic with
18871 grub_util_get_disk_name() calls.
18872
5a0d3cca 188732007-08-20 Robert Millan <rmh@aybabtu.com>
18874
18875 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18876 (so that it works for both plural and singular quantities).
18877
8b72db2f 188782007-08-05 Robert Millan <rmh@aybabtu.com>
18879
18880 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18881 so that [xz] isn't taken into account when determining order.
18882
352466bf 188832007-08-02 Marco Gerards <marco@gnu.org>
18884
18885 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18886 `include/multiboot2.h', `include/grub/elfload.h',
18887 `include/multiboot.h', `include/grub/multiboot.h',
18888 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18889 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18890 `kern/elf.c', `loader/multiboot_loader.c',
18891 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18892 `loader/i386/pc/multiboot2.c',
18893 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18894 `util/i386/pc/grub-mkrescue.in'. Remove
18895 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18896 `include/grub/i386/pc/util/biosdisk.h' and
18897 `include/grub/powerpc/ieee1275/multiboot.h'.
18898
8f096014 188992007-08-02 Bean <bean123ch@gmail.com>
18900
18901 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18902 (ntfs_mod_SOURCES): New variable.
18903 (ntfs_mod_CFLAGS): Likewise.
18904 (ntfs_mod_LDFLAGS): Likewise.
18905
18906 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18907 (grub_probe_SOURCES): Likewise.
18908 (grub_emu_SOURCES): Likewise.
18909
18910 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18911 (grub_emu_SOURCES): Likewise.
18912
18913 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18914 (grub_emu_SOURCES): Likewise.
f19dbdb7 18915
8f096014 18916 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18917
18918 * fs/ntfs.c: New file.
18919
9959f7db 189202007-08-02 Bean <bean123ch@gmail.com>
18921
18922 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18923
18924 * file.h (grub_file): Likewise.
18925
18926 * fshelp.h (grub_fshelp_read_file): Likewise.
18927
18928 * util/i386/pc/grub-setup.c (setup): Likewise.
18929 (save_first_sector): Likewise.
18930 (save_blocklists): Likewise.
f19dbdb7 18931
9959f7db 18932 * fs/affs.c (grub_affs_read_file): Likewise.
18933
18934 * fs/ext2.c (grub_ext2_read_file): Likewise.
18935
18936 * fs/fat.c (grub_fat_read_data): Likewise.
18937
18938 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18939
18940 * fs/hfs.c (grub_hfs_read_file): Likewise.
18941
18942 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18943
18944 * fs/jfs.c (grub_jfs_read_file): Likewise.
18945
18946 * fs/minix.c (grub_minix_read_file): Likewise.
18947
18948 * fs/sfs.c (grub_sfs_read_file): Likewise.
18949
18950 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18951
9959f7db 18952 * fs/xfs.c (grub_xfs_read_file): Likewise.
18953
18954 * command/blocklist.c (read_blocklist): Likewise.
18955 (print_blocklist): Likewise.
18956
0a203f83 189572007-08-02 Marco Gerards <marco@gnu.org>
18958
18959 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18960 `util/hostfs.c'.
18961
18962 * disk/host.c: New file.
18963
18964 * util/hostfs.c: Likewise.
18965
18966 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18967 return `GRUB_ERR_BAD_FS'.
18968 * fs/sfs.c (grub_sfs_mount): Likewise.
18969 * fs/xfs.c (grub_xfs_mount): Likewise.
18970
18971 * include/grub/disk.h (enum grub_disk_dev_id): Add
18972 `GRUB_DISK_DEVICE_HOST_ID'.
18973
18974 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18975
e5dfe777 189762007-07-24 Jerone Young <jerone@gmail.com>
18977
f19dbdb7 18978 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18979 modules for compilation.
18980 * conf/powerpc-ieee1275.rmk: Likewise.
18981
18982 * include/multiboot.h: Move multiboot definitions to one file. Rename
18983 many definitions to not get grub specific.
18984 * include/multiboot2.h: Create header with multiboot 2 definitions.
18985 * include/grub/multiboot.h: Header for grub specific function
18986 prototypes and definitions.
18987 * include/grub/multiboot2.h: Likewise.
18988 * include/grub/multiboot_loader.h: Likewise.
18989 * include/grub/i386/pc/multiboot.h: Removed.
18990 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18991
18992 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18993 and 2 to allow for one multiboot and module commands.
18994 * loader/multiboot2.c: Add multiboot2 functionality.
18995 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18996 and definition names.
18997 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18998 2 functions.
18999 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
19000 ieee1275 specific multiboot2 code.
19001
19002 * kern/i386/pc/startup.S: Change headers and definition names for
19003 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
19004
daf0f0ba 190052007-07-22 Robert Millan <rmh@aybabtu.com>
19006
19007 * geninitheader.sh: Process file specified in first parameter rather
19008 than hardcoding grub_modules_init.lst.
fe6b695a 19009 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 19010 than hardcoding grub_modules_init.h.
19011
19012 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
19013 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
19014 grub_probe_init.[ch] and grub_setup_init.[ch].
19015
19016 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
19017 grub_modules_init.h with grub_emu_init.h.
19018 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
19019 grub_probe_init.[ch] files.
19020 * conf/i386-efi.rmk: Likewise.
19021 * conf/i386-pc.rmk: Likewise.
19022 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
19023 grub_setup_init.[ch] files.
19024
19025 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
19026 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
19027 to initialize modules rather than a list of hardcoded functions.
19028 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
19029 grub_init_all() to initialize modules rather than a list of hardcoded
19030 functions.
19031
54cdc1cc 190322007-07-22 Robert Millan <rmh@aybabtu.com>
19033
19034 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19035 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
19036
ad0686cc 190372007-07-22 Robert Millan <rmh@aybabtu.com>
19038
19039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19040 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
19041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
19042 flag when running on SmartFirmware.
19043 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
19044 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
19045 was set.
19046
19047 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19048 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
19049 rather than decreasing it.
19050
19051 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
19052 there's not enough space to do it, fail in the same way as when it
19053 can't be done because there are no partitions.
19054
19055 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
19056 when nvsetenv failed.
19057
969c02ec 190582007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19059
19060 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
19061 because this rule is automatically generated.
19062 (grub-mkrescue): Removed for the same reason as above.
19063
5a79f472 190642007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19065
19066 Migrate to GNU General Public License Version 3.
f19dbdb7 19067
5a79f472 19068 * COPYING: Replaced with the plain text version of GPLv3.
19069
19070 * config.guess: Updated from gnulib.
19071 * config.sub: Likewise.
19072
19073 * geninit.sh: Output a GPLv3 copyright notice.
19074 * geninitheader.sh: Likewise.
19075 * genmodsrc.sh: Likewise.
19076 * gensymlist.sh.in: Likewise.
19077
19078 * boot/i386/pc/boot.S: Upgraded to GPLv3.
19079 * boot/i386/pc/diskboot.S: Likewise.
19080 * boot/i386/pc/pxeboot.S: Likewise.
19081 * commands/blocklist.c: Likewise.
19082 * commands/boot.c: Likewise.
19083 * commands/cat.c: Likewise.
19084 * commands/cmp.c: Likewise.
19085 * commands/configfile.c: Likewise.
19086 * commands/echo.c: Likewise.
19087 * commands/help.c: Likewise.
19088 * commands/ls.c: Likewise.
19089 * commands/search.c: Likewise.
19090 * commands/terminal.c: Likewise.
19091 * commands/test.c: Likewise.
19092 * commands/videotest.c: Likewise.
19093 * commands/i386/cpuid.c: Likewise.
19094 * commands/i386/pc/halt.c: Likewise.
19095 * commands/i386/pc/play.c: Likewise.
19096 * commands/i386/pc/reboot.c: Likewise.
19097 * commands/i386/pc/vbeinfo.c: Likewise.
19098 * commands/i386/pc/vbetest.c: Likewise.
19099 * commands/ieee1275/halt.c: Likewise.
19100 * commands/ieee1275/reboot.c: Likewise.
19101 * commands/ieee1275/suspend.c: Likewise.
19102 * disk/loopback.c: Likewise.
19103 * disk/lvm.c: Likewise.
19104 * disk/raid.c: Likewise.
19105 * disk/efi/efidisk.c: Likewise.
19106 * disk/i386/pc/biosdisk.c: Likewise.
19107 * disk/ieee1275/ofdisk.c: Likewise.
19108 * font/manager.c: Likewise.
19109 * fs/affs.c: Likewise.
19110 * fs/ext2.c: Likewise.
19111 * fs/fat.c: Likewise.
19112 * fs/fshelp.c: Likewise.
19113 * fs/hfs.c: Likewise.
19114 * fs/hfsplus.c: Likewise.
19115 * fs/iso9660.c: Likewise.
19116 * fs/jfs.c: Likewise.
19117 * fs/minix.c: Likewise.
19118 * fs/sfs.c: Likewise.
19119 * fs/ufs.c: Likewise.
19120 * fs/xfs.c: Likewise.
19121 * hello/hello.c: Likewise.
19122 * include/grub/acorn_filecore.h: Likewise.
19123 * include/grub/arg.h: Likewise.
19124 * include/grub/bitmap.h: Likewise.
19125 * include/grub/boot.h: Likewise.
19126 * include/grub/cache.h: Likewise.
19127 * include/grub/device.h: Likewise.
19128 * include/grub/disk.h: Likewise.
19129 * include/grub/dl.h: Likewise.
19130 * include/grub/elfload.h: Likewise.
19131 * include/grub/env.h: Likewise.
19132 * include/grub/err.h: Likewise.
19133 * include/grub/file.h: Likewise.
19134 * include/grub/font.h: Likewise.
19135 * include/grub/fs.h: Likewise.
19136 * include/grub/fshelp.h: Likewise.
19137 * include/grub/gzio.h: Likewise.
19138 * include/grub/hfs.h: Likewise.
19139 * include/grub/kernel.h: Likewise.
19140 * include/grub/loader.h: Likewise.
19141 * include/grub/lvm.h: Likewise.
19142 * include/grub/misc.h: Likewise.
19143 * include/grub/mm.h: Likewise.
19144 * include/grub/net.h: Likewise.
19145 * include/grub/normal.h: Likewise.
19146 * include/grub/parser.h: Likewise.
19147 * include/grub/partition.h: Likewise.
19148 * include/grub/pc_partition.h: Likewise.
19149 * include/grub/raid.h: Likewise.
19150 * include/grub/rescue.h: Likewise.
19151 * include/grub/script.h: Likewise.
19152 * include/grub/setjmp.h: Likewise.
19153 * include/grub/symbol.h: Likewise.
19154 * include/grub/term.h: Likewise.
19155 * include/grub/terminfo.h: Likewise.
19156 * include/grub/tparm.h: Likewise.
19157 * include/grub/types.h: Likewise.
19158 * include/grub/video.h: Likewise.
19159 * include/grub/efi/api.h: Likewise.
19160 * include/grub/efi/chainloader.h: Likewise.
19161 * include/grub/efi/console.h: Likewise.
19162 * include/grub/efi/console_control.h: Likewise.
19163 * include/grub/efi/disk.h: Likewise.
19164 * include/grub/efi/efi.h: Likewise.
19165 * include/grub/efi/pe32.h: Likewise.
19166 * include/grub/efi/time.h: Likewise.
19167 * include/grub/i386/linux.h: Likewise.
19168 * include/grub/i386/setjmp.h: Likewise.
19169 * include/grub/i386/types.h: Likewise.
19170 * include/grub/i386/efi/kernel.h: Likewise.
19171 * include/grub/i386/efi/loader.h: Likewise.
19172 * include/grub/i386/efi/time.h: Likewise.
19173 * include/grub/i386/pc/biosdisk.h: Likewise.
19174 * include/grub/i386/pc/boot.h: Likewise.
19175 * include/grub/i386/pc/chainloader.h: Likewise.
19176 * include/grub/i386/pc/console.h: Likewise.
19177 * include/grub/i386/pc/init.h: Likewise.
19178 * include/grub/i386/pc/kernel.h: Likewise.
19179 * include/grub/i386/pc/loader.h: Likewise.
19180 * include/grub/i386/pc/memory.h: Likewise.
19181 * include/grub/i386/pc/multiboot.h: Likewise.
19182 * include/grub/i386/pc/serial.h: Likewise.
19183 * include/grub/i386/pc/time.h: Likewise.
19184 * include/grub/i386/pc/vbe.h: Likewise.
19185 * include/grub/i386/pc/vbeblit.h: Likewise.
19186 * include/grub/i386/pc/vbefill.h: Likewise.
19187 * include/grub/i386/pc/vbeutil.h: Likewise.
19188 * include/grub/i386/pc/vga.h: Likewise.
19189 * include/grub/ieee1275/ieee1275.h: Likewise.
19190 * include/grub/ieee1275/ofdisk.h: Likewise.
19191 * include/grub/powerpc/libgcc.h: Likewise.
19192 * include/grub/powerpc/setjmp.h: Likewise.
19193 * include/grub/powerpc/types.h: Likewise.
19194 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
19195 * include/grub/powerpc/ieee1275/console.h: Likewise.
19196 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
19197 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19198 * include/grub/powerpc/ieee1275/loader.h: Likewise.
19199 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
19200 * include/grub/powerpc/ieee1275/time.h: Likewise.
19201 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
19202 * include/grub/sparc64/libgcc.h: Likewise.
19203 * include/grub/sparc64/setjmp.h: Likewise.
19204 * include/grub/sparc64/types.h: Likewise.
19205 * include/grub/sparc64/ieee1275/console.h: Likewise.
19206 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19207 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19208 * include/grub/sparc64/ieee1275/time.h: Likewise.
19209 * include/grub/util/biosdisk.h: Likewise.
19210 * include/grub/util/getroot.h: Likewise.
19211 * include/grub/util/lvm.h: Likewise.
19212 * include/grub/util/misc.h: Likewise.
19213 * include/grub/util/raid.h: Likewise.
19214 * include/grub/util/resolve.h: Likewise.
19215 * io/gzio.c: Likewise.
19216 * kern/device.c: Likewise.
19217 * kern/disk.c: Likewise.
19218 * kern/dl.c: Likewise.
19219 * kern/elf.c: Likewise.
19220 * kern/env.c: Likewise.
19221 * kern/err.c: Likewise.
19222 * kern/file.c: Likewise.
19223 * kern/fs.c: Likewise.
19224 * kern/loader.c: Likewise.
19225 * kern/main.c: Likewise.
19226 * kern/misc.c: Likewise.
19227 * kern/mm.c: Likewise.
19228 * kern/parser.c: Likewise.
19229 * kern/partition.c: Likewise.
19230 * kern/rescue.c: Likewise.
19231 * kern/term.c: Likewise.
19232 * kern/efi/efi.c: Likewise.
19233 * kern/efi/init.c: Likewise.
19234 * kern/efi/mm.c: Likewise.
19235 * kern/i386/dl.c: Likewise.
19236 * kern/i386/efi/init.c: Likewise.
19237 * kern/i386/efi/startup.S: Likewise.
19238 * kern/i386/pc/init.c: Likewise.
19239 * kern/i386/pc/lzo1x.S: Likewise.
19240 * kern/i386/pc/startup.S: Likewise.
19241 * kern/ieee1275/ieee1275.c: Likewise.
19242 * kern/powerpc/cache.S: Likewise.
19243 * kern/powerpc/dl.c: Likewise.
19244 * kern/powerpc/ieee1275/cmain.c: Likewise.
19245 * kern/powerpc/ieee1275/crt0.S: Likewise.
19246 * kern/powerpc/ieee1275/init.c: Likewise.
19247 * kern/powerpc/ieee1275/openfw.c: Likewise.
19248 * kern/sparc64/cache.S: Likewise.
19249 * kern/sparc64/dl.c: Likewise.
19250 * kern/sparc64/ieee1275/init.c: Likewise.
19251 * kern/sparc64/ieee1275/openfw.c: Likewise.
19252 * loader/efi/chainloader.c: Likewise.
19253 * loader/efi/chainloader_normal.c: Likewise.
19254 * loader/i386/efi/linux.c: Likewise.
19255 * loader/i386/efi/linux_normal.c: Likewise.
19256 * loader/i386/pc/chainloader.c: Likewise.
19257 * loader/i386/pc/chainloader_normal.c: Likewise.
19258 * loader/i386/pc/linux.c: Likewise.
19259 * loader/i386/pc/linux_normal.c: Likewise.
19260 * loader/i386/pc/multiboot.c: Likewise.
19261 * loader/i386/pc/multiboot_normal.c: Likewise.
19262 * loader/powerpc/ieee1275/linux.c: Likewise.
19263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19264 * normal/arg.c: Likewise.
19265 * normal/cmdline.c: Likewise.
19266 * normal/command.c: Likewise.
19267 * normal/completion.c: Likewise.
19268 * normal/execute.c: Likewise.
19269 * normal/function.c: Likewise.
19270 * normal/lexer.c: Likewise.
19271 * normal/main.c: Likewise.
19272 * normal/menu.c: Likewise.
19273 * normal/menu_entry.c: Likewise.
19274 * normal/misc.c: Likewise.
19275 * normal/parser.y: Likewise.
19276 * normal/script.c: Likewise.
19277 * normal/i386/setjmp.S: Likewise.
19278 * normal/powerpc/setjmp.S: Likewise.
19279 * normal/sparc64/setjmp.S: Likewise.
19280 * partmap/acorn.c: Likewise.
19281 * partmap/amiga.c: Likewise.
19282 * partmap/apple.c: Likewise.
19283 * partmap/gpt.c: Likewise.
19284 * partmap/pc.c: Likewise.
19285 * partmap/sun.c: Likewise.
19286 * term/gfxterm.c: Likewise.
19287 * term/terminfo.c: Likewise.
19288 * term/efi/console.c: Likewise.
19289 * term/i386/pc/console.c: Likewise.
19290 * term/i386/pc/serial.c: Likewise.
19291 * term/i386/pc/vesafb.c: Likewise.
19292 * term/i386/pc/vga.c: Likewise.
19293 * term/ieee1275/ofconsole.c: Likewise.
19294 * util/biosdisk.c: Likewise.
19295 * util/console.c: Likewise.
19296 * util/genmoddep.c: Likewise.
19297 * util/getroot.c: Likewise.
19298 * util/grub-emu.c: Likewise.
19299 * util/grub-mkdevicemap.c: Likewise.
19300 * util/grub-probe.c: Likewise.
19301 * util/lvm.c: Likewise.
19302 * util/misc.c: Likewise.
19303 * util/raid.c: Likewise.
19304 * util/resolve.c: Likewise.
19305 * util/update-grub.in: Likewise.
19306 * util/update-grub_lib.in: Likewise.
19307 * util/grub.d/00_header.in: Likewise.
19308 * util/grub.d/10_hurd.in: Likewise.
19309 * util/grub.d/10_linux.in: Likewise.
19310 * util/i386/efi/grub-install.in: Likewise.
19311 * util/i386/efi/grub-mkimage.c: Likewise.
19312 * util/i386/pc/grub-install.in: Likewise.
19313 * util/i386/pc/grub-mkimage.c: Likewise.
19314 * util/i386/pc/grub-mkrescue.in: Likewise.
19315 * util/i386/pc/grub-setup.c: Likewise.
19316 * util/i386/pc/misc.c: Likewise.
19317 * util/powerpc/ieee1275/grub-install.in: Likewise.
19318 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
19319 * util/powerpc/ieee1275/misc.c: Likewise.
19320 * video/bitmap.c: Likewise.
19321 * video/video.c: Likewise.
19322 * video/i386/pc/vbe.c: Likewise.
19323 * video/i386/pc/vbeblit.c: Likewise.
19324 * video/i386/pc/vbefill.c: Likewise.
19325 * video/i386/pc/vbeutil.c: Likewise.
19326 * video/readers/tga.c: Likewise.
19327
3572d015 193282007-07-02 Robert Millan <rmh@aybabtu.com>
19329
19330 * conf/i386-efi.rmk: Replace obsolete reference to
19331 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
19332 with util/getroot.c.
19333 * conf/powerpc-ieee1275.rmk: Likewise.
19334 * conf/sparc64-ieee1275.rmk: Likewise.
19335
19336 * util/grub-emu.c (main): Fix unchecked pointer handling.
19337
2c2a681b 193382007-07-02 Robert Millan <rmh@aybabtu.com>
19339
19340 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
19341 invocation to fail, in order to support partition-less media.
19342
19343 * util/i386/pc/grub-install.in: Likewise.
19344
19345 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
19346 which fs or partmap modules are needed (akin to its sister scripts).
19347
19348 Also use grub-probe to get rid of unportable /proc/mounts check.
19349
19350 Print the same informational message that the other scripts do, before
fe6b695a 19351 exiting.
2c2a681b 19352
6193defe 193532007-06-23 Robert Millan <rmh@aybabtu.com>
19354
fe6b695a 19355 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 19356 a font file can be found and, if so, echo the GRUB path to it.
19357
19358 * util/update-grub.in: Handle multiple terminals depending on user
19359 input, platform availability and font file presence. Propagate
19360 variables of our findings to /etc/grub.d/ children.
19361
19362 * util/grub.d/00_header.in: Handle multiple terminals, based on
19363 environment setup by update-grub.
19364
eface1dc 193652007-06-23 Robert Millan <rmh@aybabtu.com>
19366
ba50d28f 19367 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 19368
bf697e28 193692007-06-21 Robert Millan <rmh@aybabtu.com>
19370
19371 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
19372 indicate end of data section in kernel image.
19373 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
19374 GRUB_KERNEL_MACHINE_DATA_END.
19375
19376 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
19377 space for it.
19378 * kern/i386/efi/startup.S: Likewise.
19379
19380 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
19381 during image generation. Implement --prefix option to override this
19382 patch.
19383 * util/i386/efi/grub-mkimage.c: Likewise.
19384
19385 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
19386 code to make path relative to its root into a separate function.
19387
19388 * util/i386/pc/grub-install.in: Use newly provided
19389 make_system_path_relative_to_its_root() to convert ${grubdir}, then
19390 pass the result to grub-install --prefix.
19391
baa574b4 193922007-06-13 Robert Millan <rmh@aybabtu.com>
19393
19394 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
19395 DEFAULT_DEVICE_MAP.
19396 * util/grub-emu.c: Use above definitions from misc.h instead of
19397 defining them.
19398 * util/grub-mkdevicemap.c: Likewise.
19399 * util/i386/pc/grub-setup.c: Likewise.
19400 * util/grub-probe.c: Likewise.
19401 (probe): Abort with grub_util_error() when either
19402 grub_guess_root_device or grub_util_get_grub_dev fails.
19403
0215dcbf 194042007-06-12 Robert Millan <rmh@aybabtu.com>
19405
19406 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
19407 "pager" assignment.
19408 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
19409 "pcdata".
19410 * util/grub-probe.c (probe): Likewise for "drive_name".
19411
8af2ab7b 194122007-06-11 Robert Millan <rmh@aybabtu.com>
19413
19414 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
19415 not just the cdrom one.
19416
59d31694 194172007-06-11 Robert Millan <rmh@aybabtu.com>
19418
19419 * util/i386/pc/grub-mkrescue.in: Add "set -e".
19420 Add --pkglibdir=DIR option to override pkglibdir.
19421 Mention --image-type=TYPE in help output.
19422 Fix --grub-mkimage (it was a no-op).
fe6b695a 19423 Abort gracefully when no parameter is given.
59d31694 19424
7ee367e4 194252007-06-11 Robert Millan <rmh@aybabtu.com>
19426
19427 * util/i386/pc/grub-mkrescue.in: New file.
19428 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
19429 * Makefile.in: Handle bin_SCRIPTS.
19430
29b0ed46 194312007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
19432
19433 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
19434 list of video modes.
19435
c0f90770 194362007-06-06 Robert Millan <rmh@aybabtu.com>
19437
19438 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
19439 file doesn't exist, or if it is in a filesystem grub can't read.
19440
19441 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
19442 not abort if GRUB_DRIVE could not be defined. Rearrange generated
19443 header comment to fit in 80 columns when the variables are resolved.
19444
19445 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
19446 could be identified by update-grub. Remove redundant check for
fe6b695a 19447 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 19448 handles that).
19449
fb36dc26 194502007-06-04 Robert Millan <rmh@aybabtu.com>
19451
19452 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
19453
19454 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
19455
19456 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
19457
0c68c93e 194582007-06-04 Robert Millan <rmh@aybabtu.com>
19459
19460 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
19461
19462 * include/grub/partition.h: Declare grub_apple_partition_map_init and
19463 grub_apple_partition_map_fini.
19464
19465 * util/biosdisk.c
19466 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
19467 to access >2 TiB disks).
19468
19469 Print disk->total_sectors with %llu instead of %lu, since this
19470 variable is always 64-bit (prevents wrong disk size from being displayed
19471 on either >2 TiB disk or big-endian CPU).
19472
19473 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
19474 into a generic case that supports all (sane) partition maps.
19475
19476 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
19477 breaks big-endian.
19478
19479 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
19480 and grub_apple_partition_map_fini() after that.
19481
0f23eb74 194822007-06-01 Robert Millan <rmh@aybabtu.com>
19483
19484 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
19485
19486 * util/grub.d/00_header.in: Only enable gfxterm when
19487 convert_system_path_to_grub_path() succeeds.
19488
42c71976 194892007-05-20 Robert Millan <rmh@aybabtu.com>
19490
19491 * util/update-grub_lib.in: New file.
19492 * DISTLIST: Add update-grub_lib.in.
19493 * conf/common.rmk: Generate update-grub_lib and install it in
19494 $(lib_DATA).
19495 * Makefile.in: Add install routine for $(lib_DATA).
19496
19497 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
19498 function provided by update-grub_lib to support arbitrary paths of
19499 unifont.pff.
19500 * util/update-grub.in: Use convert_system_path_to_grub_path() to
19501 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
19502
5beb2291 195032007-05-19 Robert Millan <rmh@aybabtu.com>
19504
19505 * commands/i386/cpuid.c: New module.
19506 * DISTLIST: Add it.
19507 * conf/i386-efi.rmk: Enable cpuid.mod.
19508 * conf/i386-pc.rmk: Likewise.
19509
7262eca1 195102007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19511
19512 * kern/disk.c (grub_disk_read): Check return value of
19513 grub_realloc().
19514
260ba823 195152007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19516
19517 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
19518 arrays.
19519 * disk/raid.c (grub_raid_open): Likewise.
19520
1ecb6cf2 195212007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19522
19523 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
19524 stack instead of on the heap.
19525
19526 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
19527 before doing a read on it.
19528
19529 * configure.ac: Only use -fno-stack-protector for the target
19530 environment.
f19dbdb7 19531
21c8cbb1 195322007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19533
19534 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
19535 __attribute_ ((unused)) to mode_type argument.
19536
19537 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 19538
21c8cbb1 19539 * kern/misc.c (memcmp): Fix prototype.
19540
19541 * include/grub/partition.h [GRUB_UTIL]
19542 (grub_gpt_partition_map_init): Add prototype.
19543 (grub_gpt_partition_map_fini): Likewise.
19544
19545 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
19546 at the right place.
19547
19548 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
19549 (grub_fat_read_data): Likewise.
19550 (grub_fat_find_dir): Likewise.
19551
19552 * font/manager.c (find_glyph): Make table a const.
19553 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 19554
849d55d3 195552007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
19556
19557 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
19558 code, first search for device in /dev/mapper, then in /dev.
19559 (grub_util_get_grub_dev): New function.
19560 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
19561 prototype.
19562 * util/grub-probe.c (probe): Remove check for RAID, call
19563 grub_util_get_grub_dev() instead of
19564 grub_util_biosdisk_get_grub_dev().
19565 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
19566 grub_util_biosdisk_get_grub_dev().
19567 * util/i386/pc/grub-setup.c (main): Likewise.
19568
8fff7c2f 195692007-05-16 Robert Millan <rmh@aybabtu.com>
19570
19571 * DISTLIST: Update for the latest changes.
19572 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
19573 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
19574 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
19575 grub/util/biosdisk.h.
19576 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
19577 grub/util/biosdisk.h.
19578
48e12b52 195792007-05-16 Robert Millan <rmh@aybabtu.com>
19580
19581 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
19582
46b9d128 195832007-05-16 Robert Millan <rmh@aybabtu.com>
19584
19585 * util/i386/efi/grub-install.in: New.
19586 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
19587 newly added grub-install.
19588 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
19589 include.
19590 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
19591 grub/util/biosdisk.h.
19592 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
19593 grub/util/biosdisk.h.
19594
2d1a40a9 195952007-05-16 Robert Millan <rmh@aybabtu.com>
19596
19597 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
19598 * include/grub/util/biosdisk.h: ... here.
19599 * util/i386/pc/biosdisk.c: Moved to ...
19600 * util/biosdisk.c: ... here.
19601 * util/i386/pc/getroot.c: Moved to ...
19602 * util/getroot.c: ... here.
19603 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
19604 * util/grub-mkdevicemap.c: ... here.
19605 * util/i386/pc/grub-probe.c: Moved to ...
19606 * util/grub-probe.c: ... here.
19607
9e26e3bc 196082007-05-15 Robert Millan <rmh@aybabtu.com>
19609
19610 * util/update-grub.in: Remove duplicated line in grub.cfg header
19611 message.
19612
57f96397 196132007-05-13 Robert Millan <rmh@aybabtu.com>
19614
19615 * util/update-grub.in: Fix a few assumptions about the devices holding
19616 /, /boot and /boot/grub being the same.
19617 * util/grub.d/00_header.in: Likewise.
19618 * util/grub.d/10_hurd.in: Likewise.
19619 * util/grub.d/10_linux.in: Likewise.
19620
19621 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
19622 patterns. Use that to define the `.old' suffix as older than `'.
19623
19624 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
19625
19626 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
19627 the grub.cfg header message.
19628
2e610d62 196292007-05-11 Robert Millan <rmh@aybabtu.com>
19630
19631 * util/update-grub.in: Create device.map if it doesn't already exist,
19632 before attempting to run grub-probe.
19633 Check for grub-probe and grub-mkdevicemap with the same code
19634 grub-install is using.
19635 Remove test mode.
19636
3f6a10ef 196372007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
19638
19639 * Makefile.in: Add the datarootdir autoconf variable.
19640
02e7b75e 196412007-05-09 Robert Millan <rmh@aybabtu.com>
19642
19643 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 19644 fail gracefully if dev->disk->partition == NULL.
02e7b75e 19645
75f396cc 196462007-05-07 Robert Millan <rmh@aybabtu.com>
19647
19648 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
19649 determine partition map module.
19650 * util/i386/pc/grub-install.in: Use this feature to decide which
19651 partition module to load, instead of hardcoding pc and gpt.
19652
da65cb36 196532007-05-07 Robert Millan <rmh@aybabtu.com>
19654
19655 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
19656 source directory differs from build directory.
19657
b57d6a91 196582007-05-05 Robert Millan <rmh@aybabtu.com>
19659
19660 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
19661 initialisation.
19662
509d00f1 196632007-05-05 Robert Millan <rmh@aybabtu.com>
19664
19665 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
19666
c48f23ef 196672007-05-05 Robert Millan <rmh@aybabtu.com>
19668
19669 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
19670 command-line arguments via ${GRUB_CMDLINE_LINUX}.
19671
20b97658 196722007-05-05 Robert Millan <rmh@aybabtu.com>
19673
19674 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
19675 (grub_probe_SOURCES): Likewise.
19676 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
19677 GPT and initialize dos_part and bsd_part accordingly.
19678 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
19679 install_bsd_part.
19680 (main): Activate gpt module for use during partition identification,
19681 and deactivate it afterwards.
19682 * util/i386/pc/grub-install.in: Add gpt module to core.img.
19683 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
19684 partition identification, and deactivate it afterwards.
19685
99123174 196862007-05-05 Robert Millan <rmh@aybabtu.com>
19687
19688 * term/i386/pc/console.c (grub_console_fini): Call
19689 grub_term_set_current() before grub_term_unregister().
19690
ebd97f6e 196912007-05-04 Robert Millan <rmh@aybabtu.com>
19692
19693 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
19694 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
19695 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
19696 and update-grub_DATA.
19697 * conf/common.rmk: Build and install update-grub components.
19698 * conf/common.mk: Regenerate.
19699 * util/update-grub.in: New. Core of update-grub.
19700 * util/grub.d/00_header.in: New. Generates grub.cfg header.
19701 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
19702 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
19703 * util/grub.d/README: New. Document grub.d directory layout.
19704
b06a264d 197052007-05-01 Robert Millan <rmh@aybabtu.com>
19706
19707 * util/grub-emu.c: Move initialization functions
19708 grub_util_biosdisk_init() and grub_init_all() before
19709 grub_util_biosdisk_get_grub_dev(), which relies on them.
19710
41f0050e 197112007-04-19 Robert Millan <rmh@aybabtu.com>
19712
19713 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
19714 it is used later.
19715
04582bb3 197162007-04-18 Jerone Young <jerone@gmail.com>
19717
f19dbdb7 19718 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 19719 stanza.
19720
08db4632 197212007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 19722
08db4632 19723 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
19724 continue on and look for device node with real device name.
19725
801b76be 197262007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 19727
fe6b695a 19728 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 19729 ability.
19730 * Makefile.in: Add autoconf package transformation code.
19731 * util/i386/pc/grub-install.in: Likewise.
19732 * util/powerpc/ieee1275/grub-install.in: Likewise.
19733
6795c4e1 197342007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19735
19736 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
19737 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
19738 (EXT2_REVISION): Likewise.
19739 (EXT2_INODE_SIZE): Likewise.
19740 (struct grub_ext2_block_group): Added a missing member
19741 "used_dirs".
19742 (grub_ext2_read_inode): Divide by the inode size in a superblock
19743 instead of 128 to obtain INODES_PER_BLOCK.
19744 Use the macro EXT2_INODE_SIZE instead of directly using
19745 SBLOCK->INODE_SIZE.
19746
d70af616 197472007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19748
19749 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
19750 superblock instead of the structure size to compute an
19751 offset. This fixes the problem that GRUB could not read a
19752 filesystem when inode size is different from 128-byte.
19753
3b801603 197542007-03-05 Marco Gerards <marco@gnu.org>
19755
19756 * normal/main.c (read_config_file): When "menu" is not set, create
19757 an initial context.
19758
4785bfe4 197592007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19760
19761 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
19762 (HEAP_LIMIT): New macro.
19763 (grub_claim_heap): Claim memory up to `heaplimit'.
19764
a0cbb023 197652007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19766
19767 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
19768 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
19769 (_start): Likewise.
19770 (grub_arch_modules_addr): Return address after `_end'.
19771 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
19772 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
19773 (add_segments): Calculate `_end' from phdr size and location.
19774 (ALIGN_UP): Moved to ...
19775 * include/grub/misc.h: here.
19776 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19777 New macro.
19778 (GRUB_IEEE1275_MODULE_BASE): Removed.
19779
fd7d8eba 197802007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19781
19782 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
19783 loop boundary.
19784
9b09e6fc 197852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19786
19787 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19788 All users updated.
19789 (grub_elf64_load_hook_t): Likewise.
19790 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19791 debug output.
19792
3ce27299 197932007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19794
19795 * kern/mm.c: Update copyright.
19796 (grub_mm_debug): Correct syntax error.
19797 (grub_mm_dump_free): New function.
19798 (grub_debug_free): Call `grub_free'.
19799 * include/grub/mm.h: Update copyright.
19800 (grub_mm_dump_free): Add declaration.
19801
077d5fee 198022007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19803
19804 * include/grub/ieee1275/ieee1275.h: Update copyright.
19805 * kern/powerpc/ieee1275/init.c: Likewise.
19806 * kern/powerpc/ieee1275/openfw.c: Likewise.
19807
19808 * loader/powerpc/ieee1275/linux.c: Likewise.
19809 * include/grub/elfload.h: Likewise.
19810 * kern/elf.c: Likewise.
19811 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19812 callers.
19813 (grub_elf64_load): Likewise.
19814 (grub_elf32_load_segment): Move to a nested function.
19815 (grub_elf64_load_segment): Likewise.
19816
dc946850 198172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19818
19819 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19820 prototype.
19821 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19822 (grub_heap_len): Likewise.
19823 (HEAP_SIZE): New macro.
19824 (grub_claim_heap): New function.
19825 (grub_machine_init): Don't claim heap directly. Call
19826 `grub_claim_heap'.
19827 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19828 (grub_available_iterate): New function.
19829
baa2a121 198302007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19831
19832 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19833 * configure.ac: Use it for testing the HOST and TARGET compilers.
19834
4fe9862e 198352006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19836
19837 * Makefile.in (enable_grub_emu): New variable.
19838 * configure.ac (--enable-grub-emu): New option.
19839 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19840 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19841 * conf/i386-pc.rmk: Likewise.
19842 * conf/powerpc-ieee1275.rmk: Likewise.
19843 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19844
a8aa5762 198452006-12-12 Marco Gerards <marco@gnu.org>
19846
19847 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19848
19849 * kern/env.c (grub_env_unset): Don't free the member `value' when
19850 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19851 pointer.
19852
19853 * normal/main.c (current_menu): Removed.
19854 (free_menu): Unset the `menu' environment variable.
19855 (grub_normal_menu_addentry): Make use of the environment variable
19856 `menu', instead of using the global `current_menu'. Allocate
19857 memory for the sourcecode of this entry.
19858 (read_config_file): New argument `nested', changed all callers.
19859 Only in the case of a new context, initialize a new menu. Set the
19860 `menu' environment variable.
19861 (grub_normal_execute): Don't set and unset the environment
19862 variable `menu' here anymore. Only free the menu when leaving the
19863 context.
19864
19865 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19866 leak.
19867
957b3a3e 198682006-12-11 Marco Gerards <marco@gnu.org>
19869
19870 * normal/menu_entry.c (run): Fix off by one bug so the last line
19871 is executed. Move the loader check to outside the loop.
19872
ef875714 198732006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19874
19875 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19876
4e739985 198772006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19878
19879 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19880 the number of sectors. Reported by Andrey Shuvikov
19881 <mr_hyro@yahoo.com>.
f19dbdb7 19882
790707f2 198832006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19884
19885 * kern/disk.c (grub_disk_read): When there is a read error, always
19886 try to read only the necessary data.
f19dbdb7 19887
790707f2 19888 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19889 disk/raid.c.
19890 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19891 prototype.
19892 [GRUB_UTIL] (grub_raid_fini): Likewise.
19893 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19894 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19895 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19896 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19897 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19898 and grub_raid_fini().
f19dbdb7 19899
03e58196 199002006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19901
19902 * include/grub/types.h (__unused): Rename to UNUSED.
19903 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19904 (grub_elf64_size): Likewise.
f19dbdb7 19905
ae4f23bf 199062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19907
19908 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19909 grub_error_push and grub_error_pop in the error-handling path.
19910 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19911 length.
19912
2166cc83 199132006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19914
19915 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19918 (kernel_elf_SOURCES): Likewise.
19919 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19920 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19921 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19922 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19923 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19924 (elf_mod_SOURCES): New variable.
19925 (elf_mod_CFLAGS): Likewise.
19926 (elf_mod_LDFLAGS): Likewise.
19927 * include/grub/types.h (__unused): New macro.
19928 * include/grub/elfload.h: New file.
19929 * kern/elf.c: Likewise.
19930 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19931 (ELF32_LOADMASK): New macro.
19932 (ELF64_LOADMASK): Likewise.
19933 (vmlinux): Removed.
19934 (grub_linux_load32): New function.
19935 (grub_linux_load64): Likewise.
19936 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19937 Use grub_elf_t instead of grub_file_t.
19938
a09d5aa5 199392006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19940
19941 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19942 `catch_result' to struct set_color_args.
19943
d976fc51 199442006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19945
19946 * normal/menu.c: Include grub/script.h.
19947 * normal/menu_entry.c: Likewise.
19948 * include/grub/normal.h: Do not include grub/script.h.
19949
67507549 199502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19951
19952 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19953
69203a99 199542006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19955
19956 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19957 disk.
19958 (grub_disk_close): Print debug messages when closing a disk.
19959 (grub_disk_read): Print debug messages when disk read fails.
19960 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19961 filesystem type.
19962 * kern/partition.c: Include misc.h.
19963 (grub_partition_iterate): Print debug messages when detecting
19964 partition type.
19965
e2b8278c 199662006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19967
19968 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19969 is negative.
19970 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19971
97b2f2ff 199722006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19973
19974 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19975 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19976
6555d655 199772006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19978
19979 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19980 instead of sizeof(lv). Patch by Michael Guntsche.
19981
4d42b77f 199822006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19983
19984 * disk/lvm.c: Rename VGS to VG_LIST.
19985 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19986 (grub_lvm_open): Likewise.
19987 Thanks to Michael Guntsche for finding this bug.
19988
5d74d927 199892006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19990
19991 * configure.ac (AC_INIT): Bumped to 1.95.
19992
a1bb27e4 199932006-10-14 Robert Millan <rmh@aybabtu.com>
19994
19995 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19996 with "/dev/.static/dev/md".
19997
e0994b8b 199982006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19999
20000 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
20001 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
20002 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
20003 DRIVE_NAME are always freed.
20004
20005 * util/i386/pc/biosdisk.c (make_device_name): Add one into
20006 DOS_PART, as a DOS partition is counted from one instead of zero
20007 now. Reported by Robert Millan.
20008
ddd5cee9 200092006-10-14 Robert Millan <rmh@aybabtu.com>
20010
20011 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
20012 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
20013 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
20014 string returned by grub_guess_root_device.
20015 * util/i386/pc/grub-setup.c: Likewise.
20016 * util/i386/pc/grub-probefs.c: Likewise.
20017
20018 * util/i386/pc/grub-probefs.c: Rename to ...
20019 * util/i386/pc/grub-probe.c: ... this.
20020 * DISTLIST: Remove grub-probefs, add grub-probe.
20021 * conf/i386-efi.rmk: Likewise.
20022 * conf/i386-pc.rmk: Likewise.
20023 * util/i386/pc/grub-install.in: Likewise.
20024
20025 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
20026 choose which information we want to print.
20027
2b002173 200282006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20029
20030 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
20031 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
20032 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
20033 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
20034 video/readers/tga.c and video/i386/pc/vbeutil.c.
20035
200362006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
20037
20038 Added support for RAID and LVM.
f19dbdb7 20039
2b002173 20040 * disk/lvm.c: New file.
20041 * disk/raid.c: Likewise.
20042 * include/grub/lvm.h: Likewise.
f19dbdb7 20043 * include/grub/raid.h: Likewise.
2b002173 20044 * include/grub/util/lvm.h: Likewise.
20045 * include/grub/util/raid.h: Likewise.
20046 * util/lvm.c: Likewise.
20047 * util/raid.c: Likewise.
20048
20049 * include/grub/disk.h (grub_disk_dev_id): Add
20050 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
20051 (grub_disk_get_size): New prototype.
20052 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
20053 returns a partition.
20054 (grub_disk_get_size): New function.
f19dbdb7 20055
2b002173 20056 * kern/i386/pc/init.c (make_install_device): Copy the prefix
20057 verbatim if grub_install_dos_part is -2.
20058
20059 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
20060 and LVM devices.
20061
20062 * util/i386/pc/grub-setup.c (setup): New argument
20063 MUST_EMBED. Force embedding of GRUB when the argument is
20064 true. Close FILE before returning.
20065 (main): Add support for RAID and LVM.
f19dbdb7 20066
2b002173 20067 * conf/common.rmk: Add RAID and LVM modules.
20068 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
20069 util/lvm.c.
20070 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
20071
20072 * kern/misc.c (grub_strstr): New function.
20073 * include/grub/misc.h (grub_strstr): New prototype.
20074
050548d0 200752006-10-10 Tristan Gingold <tristan.gingold@bull.net>
20076
20077 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
20078
da849d2d 200792006-10-05 Tristan Gingold <tristan.gingold@bull.net>
20080
20081 * kern/misc.c (grub_strtoull): Guess the base only if not
20082 specified.
20083
97b2f2ff 200842006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 20085
20086 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
20087 PowerMac support.
20088
97b2f2ff 200892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 20090
20091 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
20092
20093 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
20094 Remove `flags' argument. All callers changed.
20095 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
20096 (IEEE1275_IHANDLE_INVALID): New variable.
20097 (IEEE1275_CELL_INVALID): New variable.
20098 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20099 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
20100 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
20101 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
20102 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
20103 codes from Open Firmware. All callers updated.
20104 (grub_ieee1275_next_property): Directly return Open Firmware return
20105 code.
20106 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20107 Standardize error checking from `grub_ieee1275_get_property'.
20108 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
20109 `devalias' to `aliases'. Correct comments. Consolidate error paths.
20110
97b2f2ff 201112006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 20112
20113 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
20114 `instance_to_package_args' to `instance_to_path_args'.
20115
20116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
20117 `grub_ieee1275_chosen'.
20118
20119 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
20120 `grub_ieee1275_interpret'.
20121
97b2f2ff 201222006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 20123
20124 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
20125
97b2f2ff 201262006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 20127
20128 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
20129 (__cmpdi): Likewise.
20130
20131 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
20132 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
20133 `grub_ssize_t'.
20134
02bb8acc 20135 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 20136
20137 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
20138 to type `grub_ssize_t'.
20139 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
20140
7f9a8531 201412006-09-22 Marco Gerards <marco@gnu.org>
20142
20143 * normal/script.c (grub_script_create_cmdmenu): Skip leading
20144 newlines.
20145
b5ef1102 201462006-09-22 Marco Gerards <marco@gnu.org>
20147
20148 * commands/echo.c: New file.
20149
20150 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
20151
20152 * conf/common.rmk (echo_mod_SOURCES): New variable.
20153 (echo_mod_CFLAGS): Likewise.
20154 (echo_mod_LDFLAGS): Likewise.
20155
2cff3677 201562006-09-22 Marco Gerards <marco@gnu.org>
20157
20158 * normal/main.c (get_line): Malloc memory instead of using
20159 preallocated memory. Removed the arguments `cmdline' and
20160 `max_len'. Updated all callers.
20161
6ba4688b 201622006-09-22 Marco Gerards <marco@gnu.org>
20163
20164 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
20165 (normal_mod_DEPENDENCIES): Likewise.
20166
20167 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
20168 (normal_mod_DEPENDENCIES): Likewise.
20169
20170 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
20171
e02ac02c 201722006-09-22 Johan Rydberg <jrydberg@gnu.org>
20173
20174 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
20175 programs.
20176 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
20177 (normal_mod_DEPENDENCIES): Likewise.
20178 * conf/i386-pc.mk: Regenerate.
20179 * conf/i386-efi.mk: Likewise
20180 * conf/common.mk: Likewise.
20181 * conf/powerpc-ieee1275.mk: Likewise.
20182 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 20183
8d252e44 201842006-09-22 Robert Millan <rmh@aybabtu.com>
20185
20186 Sync with i386 version.
20187 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
20188 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
20189
209bf7ac 201902006-09-21 Robert Millan <rmh@aybabtu.com>
20191
20192 Import from GRUB Legacy (lib/device.c):
20193 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
20194 (init_device_map) [__linux__]: Add support for I2O devices.
20195
6b146090 201962006-09-14 Marco Gerards <marco@gnu.org>
20197
20198 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
20199 `-melf_i386'.
20200
e38600a8 202012006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 20202
20203 * util/i386/pc/grub-install.in: Skip menu.lst when removing
20204 /boot/grub/*.lst.
78fa1790 20205
2952da5d 20206 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 20207
2952da5d 20208 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
20209 before adding it to device.map.
20210
01b82a64 202112006-08-15 Johan Rydberg <jrydberg@gnu.org>
20212
fe6b695a 20213 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 20214 compiles a file; using the -MD option.
20215 * conf/common.mk: Regenerate.
20216 * conf/i386-pc.mk: Likewise.
20217 * conf/i386-efi.mk: Likewise.
20218 * conf/powerpc-ieee1275.mk: Likewise.
20219 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 20220
1064790d 202212006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
20222
20223 Move the prototypes of grub_setjmp and grub_longjmp to
20224 cpu/setjmp.h, so that each architecture may specify different
20225 attributes.
f19dbdb7 20226
1064790d 20227 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
20228 (grub_longjmp): Likewise.
20229 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
20230 (grub_longjmp): Likewise.
20231 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
20232 (grub_longjmp): Likewise.
20233
20234 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
20235 [!GRUB_UTIL] (grub_longjmp): Removed.
20236
29dda3ed 202372006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
20238
20239 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
20240 "color!" method does not return any value.
20241
ad2a06ed 202422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20243
20244 * include/grub/bitmap.h: New file.
20245
20246 * include/grub/i386/pc/vbeutil.h: Likewise.
20247
20248 * video/bitmap.c: Likewise.
20249
20250 * video/readers/tga.c: Likewise.
20251
20252 * video/i386/pc/vbeutil.c: Likewise.
20253
20254 * commands/videotest.c: Code cleanup and updated to reflect to new
20255 video API.
20256
20257 * term/gfxterm.c: Likewise.
20258
20259 * video/video.c: Likewise.
20260
20261 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
20262 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
20263 (bitmap_mod_SOURCES): New entry.
20264 (bitmap_mod_CFLAGS): Likewise.
20265 (bitmap_mod_LDFLAGS): Likewise.
20266 (tga_mod_SOURCES): Likewise.
20267 (tga_mod_CFLAGS): Likewise.
20268 (tga_mod_LDFLAGS): Likewise.
20269
20270 * include/grub/video.h (grub_video_blit_operators): New enum type.
20271 (grub_video_render_target): Changed as forward declaration and moved
20272 actual definition to be video driver specific.
20273 (grub_video_adapter.blit_bitmap): Added blitting operator.
20274 (grub_video_adapter.blit_render_target): Likewise.
20275 (grub_video_blit_bitmap): Likewise.
20276 (grub_video_blit_render_target): Likewise.
20277
20278 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
20279 driver specific render target definition.
20280 (grub_video_vbe_map_rgba): Added driver internal helper.
20281 (grub_video_vbe_unmap_color): Updated to use
20282 grub_video_i386_vbeblit_info.
20283 (grub_video_vbe_get_video_ptr): Likewise.
20284
20285 * include/grub/i386/pc/vbeblit.h
20286 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
20287 grub_video_i386_vbeblit_info.
20288 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20289 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20290 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20292 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20293 (grub_video_i386_vbeblit_index_index): Likewise.
20294 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
20295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20296 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20297 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
20298 operator.
20299 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
20300 operator.
20301
20302 * video/i386/pc/vbeblit.c: Updated to reflect changes on
20303 include/grub/i386/pc/vbeblit.h.
20304
20305 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
20306 Updated to use grub_video_i386_vbeblit_info.
20307 (grub_video_i386_vbefill_R8G8B8): Likewise.
20308 (grub_video_i386_vbefill_index): Likewise.
20309 (grub_video_i386_vbefill): Added generic filler.
20310
20311 * video/i386/pc/vbefill.c: Updated to reflect changes on
20312 include/grub/i386/pc/vbefill.h.
20313
20314 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
20315 grub_video_i386_vbeblit_info.
20316 (grub_video_vbe_unmap_color): Likewise.
20317 (grub_video_vbe_blit_glyph): Likewise.
20318 (grub_video_vbe_scroll): Likewise.
20319 (grub_video_vbe_draw_pixel): Removed function.
20320 (grub_video_vbe_get_pixel): Likewise.
20321 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
20322 updated code to use it.
20323 (common_blitter): Added common blitter for render target and bitmap.
20324 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
20325 (grub_video_vbe_blit_render_target): Likewise.
20326
bc8c036d 203272006-07-30 Johan Rydberg <jrydberg@gnu.org>
20328
20329 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
20330 is in text mode if there is no console control protocol instance
20331 available.
20332
684a8eff 203332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20334
20335 * include/grub/video.h: Code cleanup.
20336
20337 * include/grub/i386/pc/vbe.h: Likewise.
20338
20339 * video/i386/pc/vbe.c: Likewise.
20340
20341 * video/i386/pc/vbeblit.c: Likewise.
20342
20343 * video/i386/pc/vbefill.c: Likewise.
20344
20345 * video/video.c: Likewise. Also added more comments.
20346
5915059b 203472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20348
20349 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
20350 (struct grub_biosdisk_dap): Likewise.
20351
20352 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
20353 linkage settings for all functions.
20354
90ce5d56 203552006-07-12 Marco Gerards <marco@gnu.org>
20356
20357 * configure.ac (--enable-mm-debug): Fix typo.
20358
20359 * genkernsyms.sh.in: Use proper quoting for `CC'.
20360
43e7f879 203612006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
20362
20363 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
20364 (normal_mod_ASFLAGS): Remove "-m32".
20365
4889bdec 203662006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
20367
20368 * util/misc.c: Include config.h.
20369 [!HAVE_MEMALIGN]: Do not include malloc.h.
20370 (grub_memalign): Use posix_memalign, if present. Then, use
20371 memalign, if present. Otherwise, emit an error.
20372
20373 * util/grub-emu.c: Do not include malloc.h.
20374
20375 * include/grub/util/misc.h: Include unistd.h. This is required for
20376 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
20377 D. Eades III <hde@foobar-qux.org>.
20378
20379 * configure.ac (AC_GNU_SOURCE): Added.
20380 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
20381 type.
20382
fd39d4da 203832006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
20384
20385 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
20386 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
20387
b786f3b5 203882006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
20389
20390 * include/grub/types.h (grub_host_addr_t): Rename to
20391 grub_target_addr_t.
20392 (grub_host_off_t): Rename to grub_target_off_t.
20393 (grub_host_size_t): Rename to grub_target_size_t.
20394 (grub_host_ssize_t): Rename to grub_target_ssize_t.
20395 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
20396
20397 * include/grub/kernel.h (struct grub_module_header): Change type
20398 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
20399 (grub_module_info): Likewise.
f19dbdb7 20400
051988bb 204012006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20402
20403 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
20404 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
20405 Velazquez <jesus.velazquez@gmail.com>.
20406
deae281b 204072006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20408
20409 Count partitions from 1 instead of 0 in the string representation
20410 of partitions. Still use 0-based internally.
f19dbdb7 20411
deae281b 20412 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
20413 (sun_partition_map_iterate): Use grub_partition_t instead of
20414 struct grub_partition *. Cast DESC->START_CYLINDER to
20415 grub_uint64_t after converting the endian.
20416 (sun_partition_map_probe): Subtract 1 for PARTNUM.
20417 (sun_partition_map_get_name): Add 1 to P->INDEX.
20418
20419 * partmap/pc.c (grub_partition_parse): Subtract 1 for
20420 PCDATA->DOS_PART.
20421 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
20422
20423 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
20424 zero instead of one.
20425 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
20426 (gpt_partition_map_get_name): Add 1 into P->INDEX.
20427
20428 * partmap/apple.c (apple_partition_map_iterate): Change the type
20429 of POS to unsigned.
20430 (apple_partition_map_probe): Subtract 1 for PARTNUM.
20431 (apple_partition_map_get_name): Add 1 into P->INDEX.
20432
20433 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
20434 of POS to unsigned.
20435 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
20436 calculate the offset of a partition.
20437 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
20438 (amiga_partition_map_get_name): Add 1 into P->INDEX.
20439
20440 * partmap/acorn.c (acorn_partition_map_find): Change the type of
20441 SECTOR to grub_disk_addr_t.
20442 (acorn_partition_map_iterate): Likewise.
20443 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
20444 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
20445 top.
20446 (acorn_partition_map_get_name): Add 1 into P->INDEX.
20447
20448 * kern/i386/pc/init.c (make_install_device): Add 1 into
20449 GRUB_INSTALL_DOS_PART.
20450
20451 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
20452 conditional.
20453
524a1e6a 204542006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20455
20456 Clean up the code to support 64-bit addressing in disks and
20457 files. This change is not enough for filesystems yet.
f19dbdb7 20458
524a1e6a 20459 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
20460 type of "start" to grub_uint64_t.
20461 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
20462 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
20463 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
20464 convert addresses.
20465
20466 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
20467 to grub_disk_addr_t.
20468
20469 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
20470 string.
20471
20472 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20473
20474 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
20475 to char *.
20476
20477 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
20478
20479 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
20480
20481 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
20482
20483 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
20484 to grub_off_t, to detect an error from grub_file_seek.
20485 (grub_multiboot_load_elf32): Likewise.
20486
20487 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
20488 maximum unsigned long value when an overflow is detected.
20489 (grub_strtoull): New function.
20490 (grub_divmod64): Likewise.
20491 (grub_lltoa): use grub_divmod64.
20492
20493 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
20494 grub_disk_addr_t.
20495 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
20496 the pointer to next character. Use grub_strtoull instead of
20497 grub_strtoul.
20498 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
20499 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
20500 respectively.
20501
fe6b695a 20502 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 20503 return value is signed.
20504 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
20505 test if OFFSET is less than zero, as OFFSET is unsigned now.
20506
20507 * kern/disk.c (struct grub_disk_cache): Change the type of
20508 "sector" to grub_disk_addr_t.
20509 (grub_disk_cache_get_index): Change the type of SECTOR to
20510 grub_disk_addr_t. Calculate the hash with SECTOR casted to
20511 unsigned after shifting.
20512 (grub_disk_cache_invalidate): Change the type of SECTOR to
20513 grub_disk_addr_t.
20514 (grub_disk_cache_unlock): Likewise.
20515 (grub_disk_cache_store): Likewise.
20516 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
20517 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
20518 grub_disk_addr_t and grub_uint64_t, respectively.
20519 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
20520 body, as the value of OFFSET is tweaked by
20521 grub_disk_check_range. Change the types of START_SECTOR, LEN and
20522 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
20523 respectively.
20524 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
20525 body, as the value of OFFSET is tweaked by
20526 grub_disk_check_range. Change the types of LEN and N to
20527 grub_size_t.
20528
20529 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
20530 and "saved_offset" to grub_off_t.
20531 (test_header): Cast BUF to char *.
20532 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
20533 to char *.
20534 (grub_gzio_read): Change the types of OFFSET and SIZE to
20535 grub_off_t and grub_size_t, respectively.
20536
20537 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
20538 Removed.
20539 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
20540 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
20541 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
20542 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
20543 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
20544
20545 * include/grub/types.h (grub_off_t): Unconditionally set to
20546 grub_uint64_t.
20547 (grub_disk_addr_t): Changed to grub_uint64_t.
20548
20549 * include/grub/partition.h (struct grub_partition): Change the
20550 types of "start", "len" and "offset" to grub_disk_addr_t,
20551 grub_uint64_t and grub_disk_addr_t, respectively.
20552 (grub_partition_get_start): Return grub_disk_addr_t.
20553 (grub_partition_get_len): Return grub_uint64_t.
20554
20555 * include/grub/misc.h (grub_strtoull): New prototype.
20556 (grub_divmod64): Likewise.
20557
20558 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
20559 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
20560 grub_off_t, respectively.
20561 All callers and references changed.
20562
20563 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
20564 grub_size_t in "read".
20565 All callers and references changed.
20566
20567 * include/grub/file.h (struct grub_file): Change the types of
20568 "offset" and "size" to grub_off_t and grub_off_t,
20569 respectively. Change the type of SECTOR to grub_disk_addr_t in
20570 "read_hook".
20571 (grub_file_read): Change the type of LEN to grub_size_t.
20572 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
20573 grub_off_t.
20574 (grub_file_size): Return grub_off_t.
20575 (grub_file_tell): Likewise.
20576 All callers and references changed.
20577
20578 * include/grub/disk.h (struct grub_disk_dev): Change the types of
20579 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
20580 "write".
20581 (struct grub_disk): Change the type of "total_sectors" to
20582 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 20583 "read_hook".
524a1e6a 20584 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
20585 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
20586 (grub_disk_write): Likewise.
20587 All callers and references changed.
20588
20589 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
20590 char * for grub_strncmp to silence gcc.
20591 (grub_iso9660_mount): Likewise.
20592 (grub_iso9660_mount): Likewise.
20593 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
20594 return statement.
20595 (grub_iso9660_iterate_dir): Likewise.
20596 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
20597
20598 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
20599 LEN to grub_disk_addr_t and grub_size_t, respectively.
20600
20601 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20602
20603 * fs/jfs.c (grub_jfs_read_file): Likewise.
20604
20605 * fs/minix.c (grub_jfs_read_file): Likewise.
20606
20607 * fs/sfs.c (grub_jfs_read_file): Likewise.
20608
20609 * fs/ufs.c (grub_jfs_read_file): Likewise.
20610
20611 * fs/xfs.c (grub_jfs_read_file): Likewise.
20612
20613 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
20614 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
20615 respectively.
20616
20617 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
20618 BLKNR to -1 instead of returning GRUB_ERRNO.
20619 (grub_ext2_read_file): Change the types of SECTOR and
20620 LEN to grub_disk_addr_t and grub_size_t, respectively.
20621
20622 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
20623 LEN to grub_disk_addr_t and grub_size_t, respectively.
20624
20625 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
20626 grub_file_read.
20627
20628 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
20629 string. Do not cast SECTOR explicitly.
20630
20631 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
20632 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
20633 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
20634 grub_disk_addr_t and grub_size_t, respectively. If the sector is
20635 over 2TB and LBA mode is not supported, raise an error.
20636 (get_safe_sectors): New function.
20637 (grub_biosdisk_read): Use get_safe_sectors.
20638 (grub_biosdisk_write): Likewise.
20639
20640 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
20641 (grub_efidisk_write): Likewise.
20642
20643 * disk/loopback.c (delete_loopback): Cosmetic changes.
20644 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
20645 correctly.
20646 (grub_loopback_open): Likewise.
20647 (grub_loopback_read): Likewise. Also, change the type of POS to
20648 grub_off_t, and fix the usage of grub_memset.
20649
20650 * commands/i386/pc/play.c: Include grub/machine/time.h.
20651
20652 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
20653 print FILE->SIZE.
20654
20655 * commands/configfile.c: Include grub/env.h.
20656
20657 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
20658 GRUB_ERRNO directly instead. Change the type of POS to
20659 grub_off_t. Follow the coding standard.
20660
20661 * commands/blocklist.c: Include grub/partition.h.
20662 (grub_cmd_blocklist): Return an error if the underlying device is
20663 not a disk. Take the starting sector of a partition into account,
20664 if a partition is used.
20665
20666 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
20667 a length field.
20668 (lba_mode): Support 64-bit addresses.
20669 (chs_mode): Likewise.
20670 (copy_buffer): Adapted to the new offsets of a length field and a
20671 segment field.
20672 (blocklist_default_start): Allocate 64-bit space.
20673
20674 * boot/i386/pc/boot.S (force_lba): Removed.
20675 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 20676 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 20677 space.
20678 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
20679 is useless.
20680 (lba_mode): Refactored to support a 64-bit address. More size
20681 optimization.
20682 (setup_sectors): Likewise.
20683
53af98ad 206842006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20685
20686 * DISTLIST: Added include/grub/i386/linux.h. Removed
20687 include/grub/i386/pc/linux.h
20688
20689 * configure.ac (AC_INIT): Bumped to 1.94.
20690
20691 * config.guess: Updated from gnulib.
20692 * config.sub: Likewise.
20693 * install-sh: Likewise.
20694 * mkinstalldirs: Likewise.
20695
b4c1940a 206962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20697
20698 * conf/common.rmk (grub_modules_init.lst): Depended on
20699 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
20700 MODSRCFILES.
20701
20702 * genmk.rb (PModule::rule): Reverted the previous change.
20703
cfca1cfd 207042006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20705
20706 * conf/common.rmk (grub_modules_init.lst): Depends on
20707 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
20708 that the target does not exist before producing.
20709 (grub_modules_init.h): Remove the target before generating.
20710 (grub_emu_init.c): Likewise.
20711
20712 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
20713
aa6d7826 207142006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
20715
20716 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
20717 for the target-specific tests. Make sure that we also have the
20718 up-to-date target variables for those tests.
20719
26c607b9 207202006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20721
20722 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
20723 (PModule::rule): Likewise.
20724
0162321a 207252006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20726
20727 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
20728 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
20729 target-specific flags should be prefixed.
20730 (PModule::rule): Likewise.
20731
6c826348 207322006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
20733
20734 * configure.ac (CMP): Check if cmp is available explicitly.
20735
b977bf01 207362006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
20737
20738 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
20739 (target_cpu): New variable.
20740 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 20741
b977bf01 20742 * util/i386/pc/grub-install.in (host_cpu): Removed.
20743 (target_cpu): New variable.
20744 (pkglibdir): Use target_cpu instead of host_cpu.
20745
20746 * util/genmoddep.c: Removed.
f19dbdb7 20747
b977bf01 20748 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
20749 instead of GRUB_HOST_SIZEOF_VOID_P.
20750 * kern/dl.c: Likewise.
20751
20752 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
20753 ...
20754 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20755 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20756 (GRUB_TARGET_SIZEOF_LONG): ... this.
20757 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20758 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20759 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20760 to ...
20761 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20762 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20763 (GRUB_TARGET_SIZEOF_LONG): ... this.
20764 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20765 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20766 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20767 to ...
20768 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20769 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20770 (GRUB_TARGET_SIZEOF_LONG): ... this.
20771 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20772 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20773
20774 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
20775 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
20776 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
20777 instead of GRUB_HOST_SIZEOF_LONG.
20778 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
20779 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
20780 GRUB_CPU_WORDS_BIGENDIAN.
20781 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
20782 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
20783 grub_host_ssize_t.
20784
20785 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20786 (genmoddep_SOURCES): Likewise.
20787 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20788 (genmoddep_SOURCES): Likewise.
20789 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20790 (genmoddep_SOURCES): Likewise.
20791 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20792 Likewise.
20793 (genmoddep_SOURCES): Likewise.
20794
20795 * genmoddep.awk: New file.
20796
20797 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20798 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20799 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20800 (PModule::rule): Likewise.
20801 (Program::rule): Likewise.
20802 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20803 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20804 respectively.
20805
20806 * configure.ac: Rewritten intensively to use host and target
20807 instead of build and host, respectively.
20808
20809 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20810 (host_cpu): Removed.
20811 (target_cpu): New variable.
20812 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20813 (BUILD_CC): Removed.
20814 (BUILD_CFLAGS): Likewise.
20815 (BUILD_CPPFLAGS): Likewise.
20816 (TARGET_CC): New variable.
20817 (TARGET_CFLAGS): Likewise.
20818 (TARGET_CPPFLAGS): Likewise.
20819 (TARGET_LDFLAGS): Likewise.
20820 (AWK): Likewise.
20821 (include): Use target_cpu instead of host_cpu.
20822 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20823
b977bf01 20824 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20825
f09771a1 208262006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20827
20828 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20829 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20830 field 'false' to 'exec_on_false'.
20831 (grub_script_create_cmdif): Renamed argument names to reflect above
20832 changes.
20833
20834 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20835
20836 * normal/script.c (grub_script_create_cmdif): Likewise.
20837
118f4fb3 208382006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20839
20840 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20841 top.
20842 (grub_hfsplus_btree_recptr): Likewise.
20843 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20844 FILEBLOCK both to pass a block number and store next block
20845 number.
20846 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20847 overflow file correctly. Specify errors appropriately, because
20848 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20849 grub_hfsplus_btree_recptr to get the pointer to a found key.
20850 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20851 is found.
20852
20853 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20854 linux.mod.
20855 (_linux_mod_SOURCES): New variable.
20856 (_linux_mod_CFLAGS): Likewise.
20857 (_linux_mod_LDFLAGS): Likewise.
20858 (linux_mod_SOURCES): Likewise.
20859 (linux_mod_CFLAGS): Likewise.
20860 (linux_mod_LDFLAGS): Likewise.
20861
20862 * DISTLIST: Added loader/i386/efi/linux.c,
20863 loader/i386/efi/linux_normal.c and
20864 include/grub/i386/efi/loader.h.
20865
20866 * loader/i386/efi/linux.c: New file.
20867 * loader/i386/efi/linux_normal.c: Likewise.
20868 * include/grub/i386/efi/loader.h: Likewise.
20869
89a7d726 208702006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20871
20872 * commands/blocklist.c: New file.
20873
20874 * DISTLIST: Added commands/blocklist.c.
20875
20876 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20877 color for the background, and a darker color for the foreground.
89a7d726 20878 (grub_console_checkkey): Return READ_KEY.
20879 (grub_console_cls): Set the background to
20880 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20881
20882 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20883
20884 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20885 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20886
20887 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20888 prototype.
20889
20890 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20891 BG. The spec is wrong again.
20892
20893 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20894 prototype.
20895 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20896
20897 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20898 commands/blocklist.c.
20899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20900
89a7d726 20901 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20902 (blocklist_mod_SOURCES): New variable.
20903 (blocklist_mod_CFLAGS): Likewise.
20904 (blocklist_mod_LDFLAGS): Likewise.
20905
75c8f258 209062006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20907
20908 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20909 duplication.
20910 (lba_mode): Use %eax more intensively to reduce the code size.
20911
da2eb181 209122006-05-20 Marco Gerards <marco@gnu.org>
20913
20914 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20915
20916 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20917 for `menuentry'.
20918 (script): Accept leading newlines.
20919 (newlines): New rule to describe 0 or more newlines.
20920 (commands): Accept `command' with trailing newline. Fixed the
20921 order in which arguments were passed to `grub_script_add_cmd'.
20922 Accept commands separated by newlines.
20923 (function): Changed to accept newlines.
20924 (menuentry) Rewritten.
20925
20926 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20927 front of the list, instead of to the end.
20928
577b4050 209292006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20930
20931 * util/i386/pc/grub-install.in (bindir): New variable.
20932 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20933 Shaver <lbgwjl@gmail.com>.
20934
0d6e1189 209352006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20936
20937 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20938 grub/machine/linux.h
20939 * loader/i386/pc/linux.c: Likewise.
20940
20941 * include/grub/i386/pc/linux.h: Moved to ...
20942 * include/grub/i386/linux.h: ... here.
20943
20944 * include/grub/i386/linux.h (struct linux_kernel_params): New
20945 struct.
f19dbdb7 20946
31b86e9f 209472006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20948
20949 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20950 checking.
20951 (grub_video_vbe_blit_glyph): Likewise.
20952 (grub_video_vbe_blit_bitmap): Likewise.
20953 (grub_video_vbe_blit_render_target): Likewise.
20954
83b984de 209552006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20956
20957 * configure.ac (--with-platform): Properly quote the square
20958 brackets.
20959
5f0413bd 209602006-05-08 Marco Gerards <marco@gnu.org>
20961
20962 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20963 this...
20964 (kernel_elf_HEADERS): ...to this. Updated all users.
20965 (grubof_symlist.c): Renamed from this...
20966 (kernel_elf_symlist.c): ...to this. Updated all users.
20967 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20968 (grubof_SOURCES): Renamed from this...
20969 (kernel_elf_SOURCES): ...to this.
20970 (grubof_HEADERS): Renamed from this...
20971 (kernel_elf_HEADERS): ...to this.
20972 (grubof_CFLAGS): Renamed from this...
20973 (kernel_elf_CFLAGS): ...to this.
20974 (grubof_ASFLAGS): Renamed from this...
20975 (kernel_elf_ASFLAGS): ...to this.
20976 (grubof_LDFLAGS): Renamed from this...
20977 (kernel_elf_LDFLAGS): ...to this.
20978
20979 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20980 this...
20981 (kernel_elf_HEADERS): ...to this. Updated all users.
20982 (grubof_symlist.c): Renamed from this...
20983 (kernel_elf_symlist.c): ...to this. Updated all users.
20984 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20985 (grubof_SOURCES): Renamed from this...
20986 (kernel_elf_SOURCES): ...to this.
20987 (grubof_HEADERS): Renamed from this...
20988 (kernel_elf_HEADERS): ...to this.
20989 (grubof_CFLAGS): Renamed from this...
20990 (kernel_elf_CFLAGS): ...to this.
20991 (grubof_ASFLAGS): Renamed from this...
20992 (kernel_elf_ASFLAGS): ...to this.
20993 (grubof_LDFLAGS): Renamed from this...
20994 (kernel_elf_LDFLAGS): ...to this.
20995
20996 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20997 `kernel.elf' instead of `grubof'.
20998
05568c2e 209992006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
21000
21001 Add --with-platform to configure. Use pkglibdir instead of
21002 pkgdatadir. This is reported by Roger Leigh.
21003
21004 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
21005 (host_vendor): Likewise.
21006 (host_os): Likewise.
21007 (pkgdatadir): Likewise.
21008 (platform): New variable.
21009 (pkglibdir): Likewise.
21010 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 21011
05568c2e 21012 * util/i386/pc/grub-install.in (datadir): Removed.
21013 (host_vendor): Likewise.
21014 (host_os): Likewise.
21015 (pkgdatadir): Likewise.
21016 (platform): New variable.
21017 (pkglibdir): Likewise.
21018 Use PKGLIBDIR instead of PKGDATADIR.
21019
21020 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
21021 instead of GRUB_DATADIR.
21022 (main): Likewise.
21023 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21024 (main): Likewise.
21025 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21026 (main): Likewise.
21027
21028 * configure.ac (--with-platform): New option.
21029 Use PLATFORM instead of HOST_VENDOR to specify a platform.
21030
21031 * Makefile.in: Include a makefile based on PLATFORM instead of
21032 HOST_VENDOR.
21033 (pkgdatadir): Not appended by the machine type.
21034 (pkglibdir): Appended by the machine type.
21035 (host_vendor): Removed.
21036 (platform): New variable.
21037 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
21038 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
21039 (uninstall): Likewise.
21040
4e93851c 210412006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
21042
21043 Use the environment context in the menu. Remove the commands
21044 "default" and "timeout", and use variables instead.
f19dbdb7 21045
4e93851c 21046 * normal/menu.c: Include grub/env.h.
21047 (print_entry): Cast TITLE to silence gcc.
21048 (get_timeout): New function.
21049 (set_timeout): Likewise.
21050 (get_entry_number): Likewise.
21051 (run_menu): Use a default entry, a fallback entry and a timeout
21052 in the environment variables "default", "fallback" and
21053 "timeout". Also, tweak the default entry if it is not within the
21054 current menu entries.
21055 (grub_menu_run): Use a fallback entry in the environment variable
21056 "fallback".
21057
21058 * normal/main.c (read_config_file): Do not initialize
21059 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
21060 NEWMENU->TIMEOUT.
21061 (grub_normal_execute): Use a data slot to store the menu.
21062
21063 * include/grub/normal.h (struct grub_menu): Removed default_entry,
21064 fallback_entry and timeout.
21065 (struct grub_menu_list): Removed.
21066 (grub_menu_list_t): Likewise.
21067 (struct grub_context): Likewise.
21068 (grub_context_t): Likewise.
21069 (grub_context_get): Likewise.
21070 (grub_context_get_current_menu): Likewise.
21071 (grub_context_push_menu): Likewise.
21072 (grub_context_pop_menu): Likewise.
21073 (grub_default_init): Likewise.
21074 (grub_default_fini): Likewise.
21075 (grub_timeout_init): Likewise.
21076 (grub_timeout_fini): Likewise.
21077
21078 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
21079 and timeout.mod.
21080 (normal_mod_SOURCES): Removed normal/context.c.
21081
21082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
21083 commands/default.c, commands/timeout.c and normal/context.c.
21084 (normal_mod_SOURCES): Removed normal/context.c.
21085
21086 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
21087 commands/timeout.c and normal/context.c.
21088 (normal_mod_SOURCES): Removed normal/context.c.
21089
21090 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
21091 commands/default.c, commands/timeout.c and normal/context.c.
21092 (normal_mod_SOURCES): Removed normal/context.c.
21093
21094 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
21095 timeout.mod.
21096 (default_mod_SOURCES): Removed.
21097 (default_mod_CFLAGS): Likewise.
21098 (default_mod_LDFLAGS): Likewise.
21099 (timeout_mod_SOURCES): Removed.
21100 (timeout_mod_CFLAGS): Likewise.
21101 (timeout_mod_LDFLAGS): Likewise.
21102
21103 * DISTLIST: Removed commands/default.c, commands/timeout.c and
21104 normal/context.c.
21105
21106 * commands/default.c: Removed.
21107 * commands/timeout.c: Likewise.
21108 * normal/context.c: Likewise.
21109
1eb9cc1d 211102006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
21111
21112 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
21113
385bd9c1 211142006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
21115
21116 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
21117 "next" to "prev" for readability.
21118 (struct grub_env_sorted_var): New struct.
21119 (grub_env_context): Renamed to ...
21120 (initial_context): ... this.
21121 (grub_env_var_context): Renamed to ...
21122 (current_context): ... this.
21123 (grub_env_find): Look only at CURRENT_CONTEXT.
21124 (grub_env_context_open): Rewritten to copy exported variables from
21125 previous context.
21126 (grub_env_context_close): Rewritten according to the new
21127 scheme. Also, add an assertion to prevent the initial context from
21128 removed.
21129 (grub_env_insert): Removed the code for the sorted list.
21130 (grub_env_remove): Likewise.
21131 (grub_env_export): Simply mark the variable with
21132 GRUB_ENV_VAR_GLOBAL.
21133 (grub_env_set): A cosmetic change for naming consistency.
21134 (grub_env_get): Likewise.
21135 (grub_env_unset): Likewise.
21136 (grub_env_iterate): Rewritten to sort variables within this
21137 function.
21138 (grub_register_variable_hook): Fixed for naming consistency. Call
21139 grub_env_find again, only if NAME is not found at the first time.
21140 (mangle_data_slot_name): New function.
21141 (grub_env_set_data_slot): Likewise.
21142 (grub_env_get_data_slot): Likewise.
21143 (grub_env_unset_data_slot): Likewise.
21144
21145 * include/grub/env.h (grub_env_var_type): New enum.
21146 (GRUB_ENV_VAR_LOCAL): New constant.
21147 (GRUB_ENV_VAR_GLOBAL): Likewise.
21148 (GRUB_ENV_VAR_DATA): Likewise.
21149 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
21150 "type".
21151 (grub_env_set): Replace VAR with NAME for consistency.
21152 (grub_register_variable_hook): Likewise.
21153 (grub_env_export): Specify the name of the argument.
21154 (grub_env_set_data_slot): New prototype.
21155 (grub_env_get_data_slot): Likewise.
21156 (grub_env_unset_data_slot): Likewise.
21157
7f362539 211582006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21159
21160 Extend the loader so that GRUB can accept a loader which comes
21161 back to GRUB when a loaded image exits. Also, this change adds
21162 support for a chainloader on EFI.
f19dbdb7 21163
7f362539 21164 * term/efi/console.c: Include grub/misc.h.
21165 (grub_console_checkkey): Display a scan code on the top for
21166 debugging. This will be removed once the EFI port gets stable.
21167 Correct the scan code mapping.
21168
21169 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
21170 allocate memory from larger regions, in order to reduce the number
21171 of allocated regions. Otherwise, the MacOSX loader panics.
21172 (filter_memory_map): Avoid less than 1MB for compatibility with
21173 other loaders.
21174 (add_memory_regions): Allocate from the tail of a region, if
21175 possible, to avoid allocating a region near to 1MB, for the MacOSX
21176 loader.
21177
21178 * kern/efi/init.c (grub_efi_set_prefix): Specify
21179 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
21180
21181 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
21182 argument IMAGE_HANDLE and specify it to get a loaded image.
21183 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
21184 grub_efi_get_loaded_image.
fe6b695a 21185 (grub_efi_get_filename): Divide the length by the size of
7f362539 21186 grub_efi_char16_t.
21187 (grub_efi_get_device_path): New function.
21188 (grub_efi_print_device_path): Print End Device Path nodes. Divide
21189 the length by the size of grub_efi_char16_t for a file path device
21190 path node.
21191
21192 * kern/loader.c (grub_loader_noreturn): New variable.
21193 (grub_loader_set): Accept a new argument NORETURN. Set
21194 GRUB_LOADER_NORETURN to NORETURN.
21195 All callers changed.
21196 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
21197 grub_machine_fini.
21198
21199 * include/grub/efi/efi.h (grub_efi_get_device_path): New
21200 prototype.
21201 (grub_efi_get_loaded_image): Take an argument to specify an image
21202 handle.
21203
21204 * include/grub/loader.h (grub_loader_set): Added one more argument
21205 NORETURN.
21206
21207 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
21208 instead of grub_efi_open_protocol.
21209 (grub_efidisk_get_device_name): Likewise.
21210 (grub_efidisk_close): Print a newline.
21211 (grub_efidisk_get_device_handle): Fixed to use
21212 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
21213 GRUB_EFI_DEVICE_PATH_TYPE.
21214
21215 * disk/efi/efidisk.c (device_path_guid): Moved to ...
21216 * kern/efi/efi.c (device_path_guid): ... here.
21217
21218 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
21219 chain.mod.
21220 (kernel_mod_HEADERS): Added efi/disk.h.
21221 (_chain_mod_SOURCES): New variable.
21222 (_chain_mod_CFLAGS): Likewise.
21223 (_chain_mod_LDFLAGS): Likewise.
21224 (chain_mod_SOURCES): Likewise.
21225 (chain_mod_CFLAGS): Likewise.
21226 (chain_mod_LDFLAGS): Likewise.
21227
21228 * DISTLIST: Added include/grub/efi/chainloader.h,
21229 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
21230
21231 * include/grub/efi/chainloader.h: New file.
21232 * loader/efi/chainloader.c: Likewise.
21233 * loader/efi/chainloader_normal.c: Likewise.
21234
c0111d6e 212352006-04-30 Marco Gerards <marco@gnu.org>
21236
21237 * commands/configfile.c (grub_cmd_source): New function.
21238 (GRUB_MOD_INIT): Register the commands `source' and `.'.
21239 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
21240
df5341da 212412006-04-30 Marco Gerards <marco@gnu.org>
21242
21243 * normal/execute.c (grub_script_execute_cmd): Change the return
21244 type to `grub_err_t'. Correctly return the error.
21245 (grub_script_execute_cmdline): In case a command line is not a
21246 command or a function, try to interpret it as an assignment.
21247
f85934bd 212482006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21249
21250 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
21251 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
21252 skip a node whose name is obviously invalid as UTF-16,
21253 i.e. contains a NUL character. Stop the iteration when the last
21254 directory entry is found. Instead of using the return value of
21255 grub_hfsplus_btree_iterate_node, store the value in RET and use
21256 it, because the iterator can be stopped by the last directory
21257 entry.
21258
8f8a2cf8 212592006-04-30 Marco Gerards <marco@gnu.org>
21260
21261 * include/grub/env.h (grub_env_export): New prototype. Reported
21262 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
21263
a27e84ce 212642006-04-30 Marco Gerards <marco@gnu.org>
21265
21266 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
21267 size of the extents in a catalog file record.
21268
eaef0553 212692006-04-29 Marco Gerards <marco@gnu.org>
21270
21271 * commands/configfile.c (grub_cmd_configfile): Execute the
21272 configfile within its own context.
21273
21274 * include/grub/env.h (grub_env_context_open): New prototype.
21275 (grub_env_context_close): Likewise.
21276
21277 * kern/env.c (grub_env): Removed.
21278 (grub_env_sorted): Likewise.
21279 (grub_env_context): New variable.
21280 (grub_env_var_context): Likewise.
21281 (grub_env_find): Search both the active context and the global
21282 context.
21283 (grub_env_context_open): New function.
21284 (grub_env_context_close): Likewise.
21285 (grub_env_insert): Likewise.
21286 (grub_env_remove): Likewise.
21287 (grub_env_export): Likewise.
21288 (grub_env_set): Changed to use helper functions to avoid code
21289 duplication.
21290 (grub_env_iterate): Rewritten so both the current context and the
21291 global context are being used.
21292
21293 * normal/command.c (export_command): New function.
21294 (grub_command_init): Register the `export' function.
21295
7b455f4d 212962006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
21297
21298 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
21299 explicitly to suppress gcc's warnings.
21300 * fs/fat.c (grub_fat_find_dir): Likewise.
21301 (grub_fat_label): Likewise.
21302 * fs/xfs.c (grub_xfs_read_inode): Likewise.
21303 (grub_xfs_mount): Likewise.
21304 (grub_xfs_label): Likewise.
21305 * fs/affs.c (grub_affs_mount): Likewise.
21306 (grub_affs_label): Likewise.
21307 (grub_affs_iterate_dir): Likewise.
21308 * fs/sfs.c (grub_sfs_mount): Likewise.
21309 (grub_sfs_iterate_dir): Likewise.
21310 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
21311 * fs/hfs.c (grub_hfs_mount): Likewise.
21312 (grub_hfs_cmp_catkeys): Likewise.
21313 (grub_hfs_find_dir): Likewise.
21314 (grub_hfs_dir): Likewise.
21315 (grub_hfs_label): Likewise.
21316 * fs/jfs.c (grub_jfs_mount): Likewise.
21317 (grub_jfs_opendir): Likewise.
21318 (grub_jfs_getent): Likewise.
21319 (grub_jfs_lookup_symlink): Likewise.
21320 (grub_jfs_label): Likewise.
21321 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
21322 (grub_hfsplus_iterate_dir): Likewise.
21323 (grub_hfsplus_btree_iterate_node): Made static.
21324
21325 * util/grub-emu.c (prefix): New variable.
21326 (grub_machine_set_prefix): New function.
21327 (main): Do not set the environment variable "prefix" here. Only
21328 set PREFIX, which is used later by grub_machine_set_prefix.
21329
21330 * include/grub/video.h: Do not include grub/symbol.h.
21331 (grub_video_register): Not exported. This symbol is not defined in
21332 the kernel.
21333 (grub_video_unregister): Likewise.
21334 (grub_video_iterate): Likewise.
21335 (grub_video_setup): Likewise.
21336 (grub_video_restore): Likewise.
21337 (grub_video_get_info): Likewise.
21338 (grub_video_get_blit_format): Likewise.
21339 (grub_video_set_palette): Likewise.
21340 (grub_video_get_palette): Likewise.
21341 (grub_video_set_viewport): Likewise.
21342 (grub_video_get_viewport): Likewise.
21343 (grub_video_map_color): Likewise.
21344 (grub_video_map_rgb): Likewise.
21345 (grub_video_map_rgba): Likewise.
21346 (grub_video_fill_rect): Likewise.
21347 (grub_video_blit_glyph): Likewise.
21348 (grub_video_blit_bitmap): Likewise.
21349 (grub_video_blit_render_target): Likewise.
21350 (grub_video_scroll): Likewise.
21351 (grub_video_swap_buffers): Likewise.
21352 (grub_video_create_render_target): Likewise.
21353 (grub_video_delete_render_target): Likewise.
21354 (grub_video_set_active_render_target): Likewise.
21355
21356 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
21357 Undefined.
21358 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
21359
21360 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
21361 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21362 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21363 instead of $(srcdir)/genkernsyms.sh.
21364
21365 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
21366 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21367 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21368 instead of $(srcdir)/genkernsyms.sh.
21369
21370 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
21371 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21372 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21373 instead of $(srcdir)/genkernsyms.sh.
21374
21375 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
21376 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21377 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21378 instead of $(srcdir)/genkernsyms.sh.
21379
21380 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
21381 genkernsyms.sh.
21382
21383 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
21384 genkernsyms.sh.
21385 (gensymlist.sh): New target.
21386 (genkernsyms.sh): Likewise.
21387
21388 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
21389 genkernsyms.sh.in and gensymlist.sh.in.
21390
21391 * genkernsyms.sh: Removed.
21392 * gensymlist.sh: Likewise.
f19dbdb7 21393
7b455f4d 21394 * genkernsyms.sh.in: New file.
21395 * gensymlist.sh.in: Likewise.
21396
1885bb27 213972006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21398
21399 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
21400 clobber "prefix", since we may have already set it manually.
21401
71538dff 214022006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21403
21404 * kern/misc.c (abort): New alias for grub_abort.
21405
2965c7cc 214062006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
21407
21408 A new machine-specific function "grub_machine_set_prefix" is
21409 defined. This is called after loading modules, so that a prefix
21410 initialization can use modules. Also, this change adds an
21411 intensive debugging feature for the memory manager via the
21412 configure option "--enable-mm-debug".
f19dbdb7 21413
2965c7cc 21414 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
21415 PART.LEN.
21416
21417 * kern/sparc64/ieee1275/init.c (abort): Removed.
21418 (grub_stop): Likewise.
21419 (grub_exit): New function.
21420 (grub_set_prefix): Renamed to ...
21421 (grub_machine_set_prefix): ... this.
21422 (grub_machine_init): Do not call grub_set_prefix.
21423
21424 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
21425 (grub_machine_set_prefix): ... this.
21426 (grub_machine_init): Do not call grub_set_prefix.
21427
21428 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
21429 (grub_machine_init): Do not set the prefix here.
21430
21431 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
21432
21433 * kern/efi/init.c: Include grub/mm.h.
21434 (grub_efi_set_prefix): New function.
21435
21436 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
21437 (grub_efi_get_filename): New function.
21438 (grub_print_device_path): Renamed to ...
21439 (grub_efi_print_device_path): ... this.
21440
21441 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
21442 [MM_DEBUG] (grub_realloc): Likewise.
21443 [MM_DEBUG] (grub_free): Likewise.
21444 [MM_DEBUG] (grub_memalign): Likewise.
21445 [MM_DEBUG] (grub_mm_debug): New variable.
21446 [MM_DEBUG] (grub_debug_malloc): New function.
21447 [MM_DEBUG] (grub_debug_free): New function.
21448 [MM_DEBUG] (grub_debug_realloc): New function.
21449 [MM_DEBUG] (grub_debug_memalign): New function.
21450
21451 * kern/misc.c (grub_abort): Print a newline to distinguish
21452 the message.
21453
21454 * kern/main.c (grub_main): Call grub_machine_set_prefix and
21455 grub_set_root_dev after loading modules. This is necessary when
21456 setting a prefix depends on modules.
21457
21458 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
21459 (grub_efi_print_device_path): ... this.
21460 (grub_efi_get_filename): New prototype.
21461 (grub_efi_set_prefix): Likewise.
21462
21463 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
21464 and grub/disk.h.
21465 (grub_efidisk_get_device_handle): New prototype.
21466 (grub_efidisk_get_device_name): Likewise.
21467
21468 * include/grub/mm.h: Include config.h.
21469 (MM_DEBUG): Removed.
21470 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
21471 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
21472 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
21473 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
21474 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
21475 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
21476 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
21477 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
21478 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
21479
21480 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
21481
21482 * disk/efi/efidisk.c: Include grub/partition.h.
21483 (iterate_child_devices): New function.
21484 (add_device): First, compare only last device path nodes, so that
21485 devices are sorted by the types.
21486 (grub_efidisk_get_device_handle): New function.
21487 (grub_efidisk_get_device_name): Likewise.
21488
21489 * configure.ac (--enable-mm-debug): New option to enable the
21490 memory manager debugging feature. This makes the binary much
21491 bigger, so is disabled by default.
21492
9cacaa17 214932006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
21494
21495 Use grub_abort instead of grub_stop, and grub_exit must be
21496 define in each architecture now. Also, this change adds support
21497 for EFI disks.
f19dbdb7 21498
9cacaa17 21499 * util/i386/pc/grub-probefs.c: Include grub/term.h.
21500 (grub_getkey): New function.
21501 (grub_term_get_current): Likewise.
21502
21503 * util/i386/pc/grub-setup.c: Include grub/term.h.
21504 (grub_getkey): New function.
21505 (grub_term_get_current): Likewise.
21506
21507 * util/misc.c (grub_stop): Renamed to ...
21508 (grub_exit): ... this.
21509
21510 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
21511 (grub_exit): ... this.
21512 (grub_machine_init): Use grub_abort instead of abort.
21513 (grub_stop): Removed.
21514
21515 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
21516 abort.
21517
21518 * kern/i386/pc/startup.S (grub_exit): New function.
21519 (cold_reboot): New label.
21520
21521 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
21522 (grub_efi_init): Call grub_efidisk_init.
21523 (grub_efi_fini): Call grub_efidisk_fini.
21524
21525 * kern/efi/efi.c: Include grub/mm.h.
21526 (grub_efi_console_control_guid): Renamed to ...
21527 (console_control_guid): ... this.
21528 (grub_efi_loaded_image_guid): Renamed to ...
21529 (loaded_image_guid): ... this.
21530 (grub_efi_locate_handle): New function.
21531 (grub_efi_open_protocol): Likewise.
21532 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
21533 GRUB_EFI_CONSOLE_CONTROL_GUID.
21534 (grub_efi_exit): Removed.
21535 (grub_stop): Likewise.
21536 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
21537 (grub_exit): New function.
21538 (grub_print_device_path): Likewise.
21539
21540 * kern/rescue.c (grub_rescue_cmd_exit): New function.
21541 (grub_enter_rescue_mode): Register "exit".
21542
21543 * kern/misc.c (grub_real_dprintf): A cosmetic change.
21544 (grub_abort): New function.
21545
21546 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
21547
21548 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
21549
21550 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
21551
21552 * include/grub/efi/efi.h (grub_efi_exit): Removed.
21553 (grub_print_device_path): New prototype.
21554 (grub_efi_locate_handle): Likewise.
21555 (grub_efi_open_protocol): Likewise.
21556
21557 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
21558 * disk/efi/efidisk.c: Likewise.
21559
21560 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
21561
21562 * include/grub/efi/console_control.h
21563 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
21564
21565 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
21566 last 8 bytes as an array.
21567 (GRUB_EFI_DISK_IO_GUID): New macro.
21568 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
21569 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
21570 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
21571 grub_uint8_t.
21572 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
21573 (struct grub_efi_device_path): Rename the member "sub_type" to
21574 "subtype".
21575 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
21576 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
21577 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
21578 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
21579 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
21580 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
21581 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
21582 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
21583 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
21584 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
21585 (struct grub_efi_pci_device_path): New structure.
21586 (grub_efi_pci_device_path_t): New type.
21587 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
21588 (struct grub_efi_pccard_device_path): New structure.
21589 (grub_efi_pccard_device_path_t): New type.
21590 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
21591 (struct grub_efi_memory_mapped_device_path): New structure.
21592 (grub_efi_memory_mapped_device_path_t): New type.
21593 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
21594 (struct grub_efi_vendor_device_path): New structure.
21595 (grub_efi_vendor_device_path_t): New type.
21596 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
21597 (struct grub_efi_controller_device_path): New structure.
21598 (grub_efi_controller_device_path_t): New type.
21599 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
21600 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
21601 (struct grub_efi_acpi_device_path): New structure.
21602 (grub_efi_acpi_device_path_t): New type.
21603 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
21604 (struct grub_efi_expanded_acpi_device_path): New structure.
21605 (grub_efi_expanded_acpi_device_path_t): New type.
21606 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
21607 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
21608 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
21609 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
21610 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
21611 (struct grub_efi_atapi_device_path): New structure.
21612 (grub_efi_atapi_device_path_t): New type.
21613 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
21614 (struct grub_efi_fibre_channel_device_path): New structure.
21615 (grub_efi_fibre_channel_device_path_t): New type.
21616 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
21617 (struct grub_efi_1394_device_path): New structure.
21618 (grub_efi_1394_device_path_t): New type.
21619 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
21620 (struct grub_efi_usb_device_path): New structure.
21621 (grub_efi_usb_device_path_t): New type.
21622 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
21623 (struct grub_efi_usb_class_device_path): New structure.
21624 (grub_efi_usb_class_device_path_t): New type.
21625 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
21626 (struct grub_efi_i2o_device_path): New structure.
21627 (grub_efi_i2o_device_path_t): New type.
21628 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
21629 (struct grub_efi_mac_address_device_path): New structure.
21630 (grub_efi_mac_address_device_path_t): New type.
21631 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
21632 (struct grub_efi_ipv4_device_path): New structure.
21633 (grub_efi_ipv4_device_path_t): New type.
21634 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
21635 (struct grub_efi_ipv6_device_path): New structure.
21636 (grub_efi_ipv6_device_path_t): New type.
21637 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
21638 (struct grub_efi_infiniband_device_path): New structure.
21639 (grub_efi_infiniband_device_path_t): New type.
21640 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
21641 (struct grub_efi_uart_device_path): New structure.
21642 (grub_efi_uart_device_path_t): New type.
21643 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
21644 (struct grub_efi_vendor_messaging_device_path): New structure.
21645 (grub_efi_vendor_messaging_device_path_t): New type.
21646 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
21647 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
21648 (struct grub_efi_hard_drive_device_path): New structure.
21649 (grub_efi_hard_drive_device_path_t): New type.
21650 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
21651 (struct grub_efi_cdrom_device_path): New structure.
21652 (grub_efi_cdrom_device_path_t): New type.
21653 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
21654 (struct grub_efi_vendor_media_device_path): New structure.
21655 (grub_efi_vendor_media_device_path_t): New type.
21656 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
21657 (struct grub_efi_file_path_device_path): New structure.
21658 (grub_efi_file_path_device_path_t): New type.
21659 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
21660 (struct grub_efi_protocol_device_path): New structure.
21661 (grub_efi_protocol_device_path_t): New type.
21662 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
21663 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
21664 (struct grub_efi_bios_device_path): New structure.
21665 (grub_efi_bios_device_path_t): New type.
21666 (struct grub_efi_disk_io): New structure.
21667 (grub_efi_disk_io_t): New type.
21668 (struct grub_efi_block_io_media): New structure.
21669 (grub_efi_block_io_media_t): New type.
21670 (struct grub_efi_block_io): New structure.
21671 (grub_efi_block_io_t): New type.
21672
21673 * include/grub/misc.h (grub_stop): Removed.
21674 (grub_exit): New prototype.
21675 (grub_abort): Likewise.
21676
21677 * include/grub/disk.h (enum grub_disk_dev_id): Added
21678 GRUB_DISK_DEVICE_EFIDISK_ID.
21679
21680 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
21681 disk/efi/efidisk.c.
21682 (kernel_syms.lst): Remove the target if an error occurs.
21683
49986a9f 216842006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
21685
21686 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
21687 as it was simply too buggy.
21688
970d3b8a 216892006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
21690
21691 * kern/misc.c (grub_lltoa): New function.
21692 (grub_vsprintf): Added support for the long long suffix,
21693 i.e. "ll".
21694
ff04ec24 216952006-04-20 Hollis Blanchard <hollis@penguinppc.org>
21696
21697 * Makefile.in (LDFLAGS): Add variable.
21698 (LD): Remove variable.
21699 * configure.ac: Add -m32 to LDFLAGS.
21700 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
21701 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
21702 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
21703 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
21704 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
21705 variables.
21706 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
21707 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
21708 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
21709
37e5e1a4 217102006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
21711
21712 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
21713 length for unknown glyph.
21714
c352d8dd 217152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
21716
2eab1c0d 21717 Add support for pre-loaded modules into the EFI port.
f19dbdb7 21718
2eab1c0d 21719 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
21720 completely. Accept one more argument DIR. The caller has changed.
21721
21722 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
21723
21724 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
21725 (grub_efi_loaded_image_guid): New variable.
21726 (grub_efi_get_loaded_image): New function.
21727 (grub_arch_modules_addr): Likewise.
21728
21729 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
21730 prototype.
21731
21732 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
21733 (struct grub_efi_loaded_image): New structure.
21734 (grub_efi_loaded_image_t): New type.
21735
217362006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21737
c352d8dd 21738 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
21739 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
21740 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
21741
6d01d6b4 217422006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
21743
21744 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
21745
976a4ea0 217462006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
21747
21748 * DISTLIST: Added include/grub/efi/console.h,
21749 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
21750 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21751
21752 * include/grub/efi/console.h: New file.
21753 * include/grub/efi/time.h: Likewise.
21754 * include/grub/i386/efi/kernel.h: Likewise.
21755 * kern/efi/init.c: Likewise.
21756 * kern/efi/mm.c: Likewise.
21757 * term/efi/console.c: Likewise.
f19dbdb7 21758
976a4ea0 21759 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
21760 (grub_stop): Removed.
21761 (grub_get_rtc): Likewise.
21762 (grub_machine_init): Simply call grub_efi_init.
21763 (grub_machine_fini): Call grub_efi_fini.
21764
21765 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
21766 (grub_efi_output_string): Removed.
21767 (grub_efi_stall): New function.
21768 (grub_stop): Likewise.
21769 (grub_get_rtc): Likewise.
21770
21771 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
21772 (grub_efi_stall): New prototype.
21773 (grub_efi_allocate_pages): Likewise.
21774 (grub_efi_free_pages): Likewise.
21775 (grub_efi_get_memory_map): Likewise.
21776 (grub_efi_mm_init): Likewise.
21777 (grub_efi_mm_fini): Likewise.
21778 (grub_efi_init): Likewise.
21779 (grub_efi_fini): Likewise.
21780
21781 * include/grub/i386/efi/time.h: Do not include
21782 grub/symbol.h. Include grub/efi/time.h.
21783 (GRUB_TICKS_PER_SECOND): Removed.
21784 (grub_get_rtc): Likewise.
21785
21786 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21787 Added padding. The EFI spec is buggy.
21788 (GRUB_EFI_BLACK): New macro.
21789 (GRUB_EFI_BLUE): Likewise.
21790 (GRUB_EFI_GREEN): Likewise.
21791 (GRUB_EFI_CYAN): Likewise.
21792 (GRUB_EFI_RED): Likewise.
21793 (GRUB_EFI_MAGENTA): Likewise.
21794 (GRUB_EFI_BROWN): Likewise.
21795 (GRUB_EFI_LIGHTGRAY): Likewise.
21796 (GRUB_EFI_BRIGHT): Likewise.
21797 (GRUB_EFI_DARKGRAY): Likewise.
21798 (GRUB_EFI_LIGHTBLUE): Likewise.
21799 (GRUB_EFI_LIGHTGREEN): Likewise.
21800 (GRUB_EFI_LIGHTCYAN): Likewise.
21801 (GRUB_EFI_LIGHTRED): Likewise.
21802 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21803 (GRUB_EFI_YELLOW): Likewise.
21804 (GRUB_EFI_WHITE): Likewise.
21805 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21806 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21807 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21808 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21809 (GRUB_EFI_BACKGROUND_RED): Likewise.
21810 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21811 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21812 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21813 (GRUB_EFI_TEXT_ATTR): Likewise.
21814
21815 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21816 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21817 (kernel_mod_HEADERS): Added efi/time.h.
21818
83709125 218192006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21820
21821 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21822 include/grub/efi/api.h, include/grub/efi/console_control.h,
21823 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21824 include/grub/i386/efi/time.h, kern/efi/efi.c,
21825 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21826 and util/i386/efi/grub-mkimage.c.
21827
21828 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21829
21830 * genmk.rb (PModule#rule): Do not export symbols if
21831 #{prefix}_EXPORTS is set to "no".
21832
21833 * conf/i386-efi.mk: New file.
21834 * conf/i386-efi.rmk: Likewise.
21835 * include/grub/efi/api.h: Likewise.
21836 * include/grub/efi/console_control.h: Likewise.
21837 * include/grub/efi/efi.h: Likewise.
21838 * include/grub/efi/pe32.h: Likewise.
21839 * include/grub/i386/efi/time.h: Likewise.
21840 * kern/efi/efi.c: Likewise.
21841 * kern/i386/efi/init.c: Likewise.
21842 * kern/i386/efi/startup.S: Likewise.
21843 * util/i386/efi/grub-mkimage.c: Likewise.
21844
218452006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21846
21847 * include/grub/script.h: Include <grub/parser.h> and
21848 "grub_script.tab.h".
21849 (struct grub_lexer_param): New struct.
21850 (struct grub_parser_param): Likewise.
21851 (grub_script_create_arglist): Pass the state in an argument.
21852 (grub_script_add_arglist): Likewise.
21853 (grub_script_create_cmdline): Likewise.
21854 (grub_script_create_cmdblock): Likewise.
21855 (grub_script_create_cmdif): Likewise.
21856 (grub_script_create_cmdmenu): Likewise.
21857 (grub_script_add_cmd): Likewise.
21858 (grub_script_arg_add): Likewise.
21859 (grub_script_lexer_ref): Likewise.
21860 (grub_script_lexer_deref): Likewise.
21861 (grub_script_lexer_record_start): Likewise.
21862 (grub_script_lexer_record_stop): Likewise.
21863 (grub_script_mem_record): Likewise.
21864 (grub_script_mem_record_stop): Likewise.
21865 (grub_script_malloc): Likewise.
21866 (grub_script_yylex): Likewise.
21867 (grub_script_yyparse): Likewise.
21868 (grub_script_yyerror): Likewise.
21869 (grub_script_yylex): Likewise.
21870 (grub_script_lexer_init): Return the state.
21871
21872 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21873 (grub_script_lexer_done): Likewise.
21874 (grub_script_lexer_getline): Likewise.
21875 (grub_script_lexer_refs): Likewise.
21876 (script): Likewise.
21877 (newscript): Likewise.
21878 (record): Likewise.
21879 (recording): Likewise.
21880 (recordpos): Likewise.
21881 (recordlen): Likewise.
21882 (grub_script_lexer_init): Return the state instead of setting
21883 global variables.
21884 (grub_script_lexer_ref): Use the newly added argument for state
21885 instead of globals.
21886 (grub_script_lexer_deref): Likewise.
21887 (grub_script_lexer_record_start): Likewise.
21888 (grub_script_lexer_record_stop): Likewise.
21889 (recordchar): Likewise.
21890 (nextchar): Likewise.
21891 (grub_script_yylex2): Likewise.
21892 (grub_script_yylex): Likewise.
21893 (grub_script_yyerror): Likewise.
21894
21895 * normal/parser.y (func_mem): Removed variable.
21896 (menu_entry): Likewise.
21897 (err): Likewise.
21898 (%lex-param): New parser option.
21899 (%parse-param): Likewise.
21900 (script): Always return the AST.
21901 (argument): Pass the state around.
21902 (arguments): Likewise.
21903 (grubcmd): Likewise.
21904 (commands): Likewise.
21905 (function): Likewise.
21906 (menuentry): Likewise.
21907 (if_statement): Likewise.
21908 (if): Likewise.
21909
21910 * normal/script.c (grub_script_memused): Removed variable.
21911 (grub_script_parsed): Likewise.
21912 (grub_script_malloc): Added a state argument. Use that instead of
21913 global variables.
21914 (grub_script_mem_record): Likewise.
21915 (grub_script_mem_record_stop): Likewise.
21916 (grub_script_arg_add): Likewise.
21917 (grub_script_add_arglist): Likewise.
21918 (grub_script_create_cmdline): Likewise.
21919 (grub_script_create_cmdif): Likewise.
21920 (grub_script_create_cmdmenu): Likewise.
21921 (grub_script_add_cmd): Likewise.
21922 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21923
e2a8c904 219242006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21925
21926 * normal/command.c (grub_command_init): Remove the title command.
21927
21928 * normal/lexer.c (grub_script_yylex): Renamed from this...
21929 (grub_script_yylex2): ... to this.
21930 (grub_script_yylex): New function. Temporary
21931 introduced to filter some tokens.
21932 (grub_script_yyerror): Print a newline.
21933
21934 * normal/main.c (read_config_file): Output information about the
21935 lines that contain errors. Wait for a key after all lines have
21936 been processed. Don't return an empty menu.
21937
21938 * normal/parser.y (func_mem): Don't initialize.
21939 (menu_entry): Likewise.
21940 (err): New variable.
21941 (script): Don't return anything when an error was encountered.
21942 (ws, returns): Removed rules.
21943 (argument): Disabled concatenated variable support.
21944 (arguments): Remove explicit separators.
21945 (grubcmd): Likewise.
21946 (function): Likewise.
21947 (menuentry): Likewise.
21948 (if): Likewise.
21949 (commands): Likewise. Add error handling.
21950
21951 * normal/script.c (grub_script_create_cmdline): If
21952 `grub_script_parsed' is 0, assume the parser encountered an error.
21953
c9a86192 219542006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21955
21956 * configure.ac: Add support for EFI. Fix the typo
21957 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21958
70f3b243 219592006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21960
21961 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21962 foreign multibyte characters should be shown correctly.
21963
65f201ad 219642006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21965
21966 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21967 calculation.
21968 (read_config_file): Made it to close file before returning.
21969
b4b93674 219702006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21971
21972 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21973 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21974 video/i386/pc/vbefill.c.
21975
21976 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21977 video/i386/pc/vbefill.c.
21978
21979 * include/grub/video.h (grub_video_blit_format): New enum.
21980 (grub_video_mode_info): Added new member blit_format.
21981 (grub_video_get_blit_format): New function prototype.
21982
21983 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21984 function prototype.
21985 (grub_video_vbe_map_rgb): Likewise.
21986 (grub_video_vbe_unmap_color): Likewise.
21987
21988 * include/grub/i386/pc/vbeblit.h: New file.
21989
21990 * include/grub/i386/pc/vbefill.h: New file.
21991
21992 * video/video.c (grub_video_get_blit_format): New function.
21993 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21994 (grub_video_vbe_map_rgb): Likewise.
21995 (grub_video_vbe_unmap_color): Likewise.
21996
21997 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21998 optimized fills.
21999 (grub_video_vbe_blit_render_target): Changed to use more optimized
22000 blits.
22001 (grub_video_vbe_setup): Added detection for optimized settings.
22002 (grub_video_vbe_create_render_target): Likewise.
22003
22004 * video/i386/pc/vbeblit.c: New file.
22005
22006 * video/i386/pc/vbefill.c: New file.
22007
c2379b9c 220082006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
22009
22010 * font/manager.c (grub_font_get_glyph): Removed font fixup from
22011 here...
22012
22013 * util/unifont2pff.rb: ... and moved it to here. Improved argument
22014 parsing to support both hex and dec ranges. If filename was missing
22015 show usage information.
22016
bd0d7896 220172006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
22018
22019 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
22020 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
22021
22022 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
22023 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
22024 (video_mod_SOURCES): Added.
22025 (video_mod_CFLAGS): Likewise.
22026 (video_mod_LDFLAGS): Likewise.
22027 (gfxterm_mod_SOURCES): Likewise.
22028 (gfxterm_mod_CFLAGS): Likewise.
22029 (gfxterm_mod_LDFLAGS): Likewise.
22030 (videotest_mod_SOURCES): Likewise.
22031 (videotest_mod_CFLAGS): Likewise.
22032 (videotest_mod_LDFLAGS): Likewise.
22033 (vesafb_mod_SOURCES): Removed.
22034 (vesafb_mod_CFLAGS): Likewise.
22035 (vesafb_mod_LDFLAGS): Likewise.
22036 (vga_mod_SOURCES): Likewise.
22037 (vga_mod_CFLAGS): Likewise.
22038 (vga_mod_LDFLAGS): Likewise.
22039
22040 * commands/videotest.c: New file.
22041
22042 * font/manager.c (fill_with_default_glyph): Modified to use
22043 grub_font_glyph.
22044 (grub_font_get_glyph): Likewise.
22045 (fontmanager): Renamed from this...
22046 (font_manager): ... to this.
22047
22048 * include/grub/font.h (grub_font_glyph): Added new structure.
22049 (grub_font_get_glyph): Modified to use grub_font_glyph.
22050
22051 * include/grub/misc.h (grub_abs): Added as inline function.
22052
22053 * include/grub/video.h: New file.
22054
22055 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
22056 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
22057 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
22058 (grub_vbe_get_controller_info): Renamed from this...
22059 (grub_vbe_bios_get_controller_info): ... to this.
22060 (grub_vbe_get_mode_info): Renamed from this...
22061 (grub_vbe_bios_get_mode_info): ... to this.
22062 (grub_vbe_set_mode): Renamed from this...
22063 (grub_vbe_bios_set_mode): ... to this.
22064 (grub_vbe_get_mode): Renamed from this...
22065 (grub_vbe_bios_get_mode): ... to this.
22066 (grub_vbe_set_memory_window): Renamed from this...
22067 (grub_vbe_bios_set_memory_window): ... to this.
22068 (grub_vbe_get_memory_window): Renamed from this...
22069 (grub_vbe_bios_get_memory_window): ... to this.
22070 (grub_vbe_set_scanline_length): Renamed from this...
22071 (grub_vbe_set_scanline_length): ... to this.
22072 (grub_vbe_get_scanline_length): Renamed from this...
22073 (grub_vbe_bios_get_scanline_length): ... to this.
22074 (grub_vbe_set_display_start): Renamed from this...
22075 (grub_vbe_bios_set_display_start): ... to this.
22076 (grub_vbe_get_display_start): Renamed from this...
22077 (grub_vbe_bios_get_display_start): ... to this.
22078 (grub_vbe_set_palette_data): Renamed from this...
22079 (grub_vbe_bios_set_palette_data): ... to this.
22080 (grub_vbe_set_pixel_rgb): Removed.
22081 (grub_vbe_set_pixel_index): Likewise.
22082
22083 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
22084 from this...
22085 (grub_vbe_bios_get_controller_info): ... to this.
22086 (grub_vbe_get_mode_info): Renamed from this...
22087 (grub_vbe_bios_get_mode_info): ... to this.
22088 (grub_vbe_set_mode): Renamed from this...
22089 (grub_vbe_bios_set_mode): ... to this.
22090 (grub_vbe_get_mode): Renamed from this...
22091 (grub_vbe_bios_get_mode): ... to this.
22092 (grub_vbe_set_memory_window): Renamed from this...
22093 (grub_vbe_bios_set_memory_window): ... to this.
22094 (grub_vbe_get_memory_window): Renamed from this...
22095 (grub_vbe_bios_get_memory_window): ... to this.
22096 (grub_vbe_set_scanline_length): Renamed from this...
22097 (grub_vbe_set_scanline_length): ... to this.
22098 (grub_vbe_get_scanline_length): Renamed from this...
22099 (grub_vbe_bios_get_scanline_length): ... to this.
22100 (grub_vbe_set_display_start): Renamed from this...
22101 (grub_vbe_bios_set_display_start): ... to this.
22102 (grub_vbe_get_display_start): Renamed from this...
22103 (grub_vbe_bios_get_display_start): ... to this.
22104 (grub_vbe_set_palette_data): Renamed from this...
22105 (grub_vbe_bios_set_palette_data): ... to this.
22106 (grub_vbe_bios_get_controller_info): Fixed problem with registers
22107 getting corrupted after calling it. Added more pushes and pops.
22108 (grub_vbe_bios_set_mode): Likewise.
22109 (grub_vbe_bios_get_mode): Likewise.
22110 (grub_vbe_bios_get_memory_window): Likewise.
22111 (grub_vbe_bios_set_scanline_length): Likewise.
22112 (grub_vbe_bios_get_scanline_length): Likewise.
22113 (grub_vbe_bios_get_display_start): Likewise.
22114 (grub_vbe_bios_set_palette_data): Likewise.
22115
22116 * normal/cmdline.c (cl_set_pos): Refresh the screen.
22117 (cl_insert): Likewise.
22118 (cl_delete): Likewise.
22119
22120 * term/gfxterm.c: New file.
22121
22122 * term/i386/pc/vesafb.c: Removed file.
22123
22124 * video/video.c: New file.
22125
22126 * video/i386/pc/vbe.c (real2pm): Added new function.
22127 (grub_video_vbe_draw_pixel): Likewise.
22128 (grub_video_vbe_get_video_ptr): Likewise.
22129 (grub_video_vbe_get_pixel): Likewise
22130 (grub_video_vbe_init): Likewise.
22131 (grub_video_vbe_fini): Likewise.
22132 (grub_video_vbe_setup): Likewise.
22133 (grub_video_vbe_get_info): Likewise.
22134 (grub_video_vbe_set_palette): Likewise.
22135 (grub_video_vbe_get_palette): Likewise.
22136 (grub_video_vbe_set_viewport): Likewise.
22137 (grub_video_vbe_get_viewport): Likewise.
22138 (grub_video_vbe_map_color): Likewise.
22139 (grub_video_vbe_map_rgb): Likewise.
22140 (grub_video_vbe_map_rgba): Likewise.
22141 (grub_video_vbe_unmap_color): Likewise.
22142 (grub_video_vbe_fill_rect): Likewise.
22143 (grub_video_vbe_blit_glyph): Likewise.
22144 (grub_video_vbe_blit_bitmap): Likewise.
22145 (grub_video_vbe_blit_render_target): Likewise.
22146 (grub_video_vbe_scroll): Likewise.
22147 (grub_video_vbe_swap_buffers): Likewise.
22148 (grub_video_vbe_create_render_target): Likewise.
22149 (grub_video_vbe_delete_render_target): Likewise.
22150 (grub_video_vbe_set_active_render_target): Likewise.
22151 (grub_vbe_set_pixel_rgb): Remove function.
22152 (grub_vbe_set_pixel_index): Likewise.
22153 (index_color_mode): Remove static variable.
22154 (active_mode): Likewise.
22155 (framebuffer): Likewise.
22156 (bytes_per_scan_line): Likewise.
22157 (grub_video_vbe_adapter): Added new static variable.
22158 (framebuffer): Likewise.
22159 (render_target): Likewise.
22160 (initial_mode): Likewise.
22161 (mode_in_use): Likewise.
22162 (mode_list): Likewise.
22163
5f97350b 221642006-03-10 Marco Gerards <marco@gnu.org>
22165
22166 * configure.ac (AC_INIT): Bumped to 1.93.
22167
22168 * DISTLIST: Added `include/grub/hfs.h'.
22169
a3c5c6f8 221702006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
22171
22172 * boot/i386/pc/boot.S (general_error): Before looping, try INT
22173 18H, which might help the BIOS falling back to next boot media.
22174
6de53d26 221752006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
22176
22177 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
22178 Poe Chen <poe.poechen@gmail.com>.
22179
77c4a393 221802006-01-17 Marco Gerards <marco@gnu.org>
22181
22182 * include/grub/normal.h: Include <grub/script.h>.
22183 (grub_command_list): Removed struct.
22184 (grub_command_list_t): Removed type.
22185 (grub_menu_entry): Remove members `num' and `command_list'. Add
22186 members `commands' and `sourcecode'.
22187 * include/grub/script.h: Add inclusion guards.
22188 (grub_script_cmd_menuentry): New struct.
22189 (grub_script_execute_menuentry): New prototype.
22190 (grub_script_lexer_record_start): Likewise.
22191 (grub_script_lexer_record_stop): Likewise.
22192 * normal/execute.c (grub_script_execute_menuentry): New function.
22193 * normal/lexer.c (record, recording, recordpos, recordlen): New
22194 variables.
22195 (grub_script_lexer_record_start): New function.
22196 (grub_script_lexer_record_stop): Likewise.
22197 (recordchar): Likewise.
22198 (nextchar): Likewise.
22199 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
22200 2048 as the buffer size. Add the tokens `menuentry' and `@'.
22201 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
22202 (current_menu): New variable.
22203 (free_menu): Mainly rewritten.
22204 (grub_normal_menu_addentry): New function.
22205 (read_config_file): Rewritten.
22206 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 22207 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 22208 the menu entry.
22209 (run): Mainly rewritten.
22210 * normal/parser.y (menu_entry): New variable.
22211 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
22212 (menuentry): New rule.
22213 (command): Add `menuentry'.
22214 (if_statement): Allow additional returns before `fi'.
22215 * normal/script.c (grub_script_create_cmdmenu): New function.
22216
144f1f98 222172006-01-03 Marco Gerards <marco@gnu.org>
22218
22219 * INSTALL: GNU Bison is required.
22220 * configure.ac: Rewritten the test to detect Bison.
22221 * Makefile.in (YACC): New variable. Reported by Xun Sun
22222 <xun.sun.cn@gmail.com>.
22223
af4b2d89 222242006-01-03 Marco Gerards <marco@gnu.org>
22225
22226 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
22227 the HFS+ filesystem to filesystem blocks.
22228 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
22229 GCC warning is silenced.
22230
15643b71 222312006-01-03 Marco Gerards <marco@gnu.org>
22232
22233 * partmap/apple.c (apple_partition_map_iterate): Convert the data
22234 read from disk from big endian to host byte order.
22235
00905879 222362006-01-03 Hollis Blanchard <hollis@penguinppc.org>
22237
22238 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
22239 documentation.
22240 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
22241 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
22242 embedded HFS+ filesystem.
22243 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
22244 (grub_hfs_sblock): Move from here...
22245 * include/grub/hfs.h: To here... New file.
22246 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
22247 documentation.
22248 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
22249 New macros.
22250 (grub_hfsplus_volheader): Change type of member `magic' to
22251 `grub_uint16_t'.
22252 (grub_hfsplus_data): Add new member `embedded_offset'.
22253 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
22254 returned block.
22255 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
22256 Calculate the offset.
22257
8899bc3e 222582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22259
22260 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
22261 Removed.
22262 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
22263
ae8c0277 222642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22265
22266 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
22267 ENV->NAME is NULL after allocating ENV->VALUE.
22268
07084456 222692005-12-25 Marco Gerards <marco@gnu.org>
22270
22271 * kern/env.c (grub_env_set): Rewritten the error handling code.
22272
4750f5f1 222732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22274
22275 * geninit.sh: Made more robust, and more portable.
22276
50214199 222772005-12-25 Marco Gerards <marco@gnu.org>
22278
22279 Add support for Apple HFS+ filesystems.
f19dbdb7 22280
50214199 22281 * fs/hfsplus.c: New file.
22282
22283 * DISTLIST: Added `fs/hfsplus.c'.
22284
22285 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
22286 (hfsplus_mod_SOURCES): New variable.
22287 (hfsplus_mod_CFLAGS): Likewise.
22288 (hfsplus_mod_LDFLAGS): Likewise.
22289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
22290 (grub_setup_SOURCES): Likewise.
22291 (grub_mkdevicemap_SOURCES): Likewise.
22292 (grub_emu_SOURCES): Likewise.
22293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22294
22295 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
22296
22297 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
22298
befaed6c 222992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22300
22301 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
22302 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
22303 include/grub/parser.h, include/grub/script.h, kern/parser.c,
22304 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
22305 normal/lexer.c, normal/parser.y, normal/script.c, and
22306 partmap/gpt.c.
22307 Removed kern/sparc64/cache.c.
22308
22309 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
22310 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
22311 grub_emu_init.c.
22312
22313 * configure.ac (AC_INIT): Bumped to 1.92.
22314
6a124103 223152005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
22316
22317 * kern/err.c (grub_error_push): Added new function to support error
22318 stacks.
22319 (grub_error_pop): Likewise.
22320 (grub_error_stack_items): New local variable to support error stacks.
22321 (grub_error_stack_pos): Likewise.
22322 (grub_error_stack_assert): Likewise.
22323 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
22324 stack depth.
22325 (grub_print_error): Added support to print errors from error stack.
22326
22327 * include/grub/err.h (grub_error_push): Added function prototype.
22328 (grub_error_pop): Likewise.
22329
be973c1b 223302005-12-09 Hollis Blanchard <hollis@penguinppc.org>
22331
22332 * configure.ac: Accept `powerpc64' as host_cpu.
22333 (amd64): Rename to `biarch32'.
22334
22335 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
22336 non-cacheline-aligned addresses.
22337
22338 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
22339 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
22340 if `size' is non-zero.
22341
b04216ab 223422005-12-03 Marco Gerards <mgerards@xs4all.nl>
22343
22344 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
22345 and `cd' to make sure the filename is not prefixed with a
22346 directory name.
22347 (pkgdata_MODULES): Add `gpt.mod'.
22348 (gpt_mod_SOURCES): New variable.
22349 (gpt_mod_CFLAGS): Likewise.
22350 (gpt_mod_LDFLAGS): Likewise.
22351
22352 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
22353
22354 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
22355 New macro.
22356
22357 * partmap/gpt.c: New file.
22358
22359 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
22360 GPT partition map is detected.
22361
41730ed9 223622005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
22363
22364 * commands/i386/pc/play.c: New file.
22365 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
22366 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
22367 macros.
f19dbdb7 22368
95dc3643 223692005-11-27 Marco Gerards <mgerards@xs4all.nl>
22370
22371 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
22372 ((unused))' to silence gcc warning.
22373
1569ec51 223742005-11-26 Hollis Blanchard <hollis@penguinppc.org>
22375
22376 * configure.ac: Correct `AC_PROG_YACC' test.
22377
9abde152 223782005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22379
22380 * util/powerpc/ieee1275/grub-install.in: Run the mount point
22381 check before installing files.
22382
44b83271 223832005-11-22 Mike Small <smallm@panix.com>
22384
22385 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
22386 number regex so multidigit numbers are recognized correctly.
22387
223882005-11-22 Mike Small <smallm@panix.com>
22389
22390 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
22391 debugging message before attempting to claim memory.
22392 (grub_rescue_cmd_initrd): Add a claim debugging message and try
22393 multiple addresses in case of failure.
22394
9c12956b 223952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22396
22397 * term/tparm.c (get_space): Remove empty `if' statement.
22398
22399 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
22400
22401 * kern/parser.c (check_varstate): Rename `state' to 's'.
22402
aeaf81d9 224032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22404
22405 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
22406 variable definitions to the beginning of each function. Sort stack
22407 variables by size.
22408 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
22409 `buf' argument to `char *'.
22410
79bbb63f 224112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22412
22413 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
22414 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 22415 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 22416 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22417 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22418 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22419 configfile.mod, search.mod, gzio.mod and test.mod.
22420 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22421 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22422 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22423 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22424 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22425 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22426 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22427 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22428 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22429 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22430 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22431 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22432 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22433 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22434 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22435 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22436 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22437 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22438 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22439 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22440 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22441 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22442 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
22443
22444 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
22445 `grep --include'.
22446 (pkgdata_MODULES): Add test.mod.
22447
233b1628 224482005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22449
22450 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
22451 appending to variables with "+=".
22452 (PModule): Use full pathname to generate *.lst filenames.
22453
22454 * Makefile.in: Fixed list rules moved from genmk.rb.
22455 (.DELETE_ON_ERROR): New special target.
22456 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
22457
22458 * conf/i386-pc.rmk: Include conf/common.mk.
22459 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 22460 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 22461 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22462 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22463 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22464 configfile.mod, search.mod, gzio.mod and test.mod.
22465 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22466 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22467 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22468 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22469 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22470 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22471 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22472 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22473 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22474 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22475 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22476 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22477 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22478 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22479 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22480 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22481 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22482 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22483 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22484 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22485 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22486 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22487 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
22488 here...
22489 * conf/common.rmk: ... to here. New file.
22490
22491 * conf/common.mk: New file.
22492
16f820c8 224932005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
22494
22495 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
22496 (grub_script.tab.c): ... here.
22497
22498 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
22499 (grub_script.tab.c): ... here.
22500
22501 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
22502 (grub_script.tab.c): ... here.
22503
22504 * normal/command.c (grub_command_find): Fixed a memory leak of
22505 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
22506
63ba1554 225072005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22508
22509 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
22510 "@" which marks the start of a comment on ARM.
22511 (VARIABLE): Likewise.
22512
7f67dc13 225132005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22514
79bbb63f 22515 Add support for Linux/ADFS partition tables.
7f67dc13 22516
22517 * partmap/acorn.c: New file.
22518
22519 * include/grub/acorn_filecore.h: Likewise.
22520
22521 * DISTLIST: Added `partmap/acorn.c' and
22522 `include/grub/acorn_filecore.h'.
f19dbdb7 22523
7f67dc13 22524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22525 `partmap/acorn.c'.
22526 (pkgdata_MODULES): Add `acorn.mod'.
22527 (acorn_mod_SOURCES): New variable.
22528 (acorn_mod_CFLAGS): Likewise.
22529
22530 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22531 `partmap/acorn.c'.
22532 (pkgdata_MODULES): Add `acorn.mod'.
22533 (acorn_mod_SOURCES): New variable.
22534 (acorn_mod_CFLAGS): Likewise.
22535
22536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
22537 (pkgdata_MODULES): Add `acorn.mod'.
22538 (acorn_mod_SOURCES): New variable.
22539 (acorn_mod_CFLAGS): Likewise.
22540 (acorn_mod_LDFLAGS): Likewise.
22541
22542 * include/types.h (grub_disk_addr_t): New typedef.
22543
6d099807 225442005-11-13 Marco Gerards <mgerards@xs4all.nl>
22545
22546 * geninit.sh: New file.
22547
22548 * geninitheader.sh: Likewise.
22549
22550 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
22551 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
22552 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
22553 * commands/configfile.c (grub_configfile_init)
22554 (grub_configfile_fini): Likewise.
22555 * commands/default.c (grub_default_init, grub_default_fini):
22556 Likewise.
22557 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
22558 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
22559 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
22560 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
22561 Likewise.
22562 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
22563 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
22564 Likewise.
22565 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 22566 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 22567 Likewise.
22568 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
22569 Likewise.
fe6b695a 22570 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 22571 Likewise.
22572 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
22573 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
22574 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
22575 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
22576 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
22577 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
22578 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
22579 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
22580 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
22581 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
22582 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
22583 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
22584 * partmap/amiga.c (grub_amiga_partition_map_init)
22585 (grub_amiga_partition_map_fini): Likewise.
22586 * partmap/apple.c (grub_apple_partition_map_init)
22587 (grub_apple_partition_map_fini): Likewise.
22588 * partmap/pc.c (grub_pc_partition_map_init)
22589 (grub_pc_partition_map_fini): Likewise.
22590 * partmap/sun.c (grub_sun_partition_map_init,
22591 grub_sun_partition_map_fini): Likewise.
22592 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
22593 Likewise.
22594
22595 * util/grub-emu.c: Include <grub_modules_init.h>.
22596 (main): Don't initialize and de-initialize any modules directly,
22597 use `grub_init_all' and `grub_fini_all' instead.
22598
22599 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
22600 `grub_vesafb_mod_init'.
22601 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
22602 all users.
22603 * term/i386/pc/vga.c (grub_vga_init): Renamed to
22604 `grub_vga_mod_init'. Updated all users.
22605 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 22606
6d099807 22607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
22608 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
22609 rules.
22610
22611 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
22612 Generate a function to initialize the module in utilities.
22613 Updated all callers.
22614 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
22615 initialize the module in utilities. Updated all callers.
22616
9046bcf0 226172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22618
22619 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
22620 escape sequence and a literal ^L to clear the screen.
22621
22622 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
22623 when returning from Open Firmware.
22624
d13ea639 226252005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22626
22627 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
22628 (grub_ofconsole_height): Likewise.
22629 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
22630 manually insert a '\n'.
22631 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
22632 `grub_ofconsole_height'. Return early if these are already set.
22633
a8fcf206 226342005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
22635
22636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22637 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
22638 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
22639 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
22640 and `normal/script.c'.
22641 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22642 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22643 (test_mod_SOURCES): New variable.
22644 (test_mod_CFLAGS): Likewise.
22645 (test_mod_LDFLAGS): Likewise.
22646 (pkgdata_MODULES): Add `test.mod'.
22647 (grub_script.tab.c): New rule.
22648 (grub_script.tab.h): Likewise.
22649
b6b32745 226502005-11-07 Marco Gerards <mgerards@xs4all.nl>
22651
22652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22653 `commands/test.c', `normal/execute.c', `normal/lexer.c',
22654 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22655 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22656 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22657 (test_mod_SOURCES): New variable.
22658 (test_mod_CFLAGS): Likewise.
22659 (pkgdata_MODULES): Add `test.mod'.
22660 (grub_script.tab.c): New rule.
22661 (grub_script.tab.h): Likewise.
22662
daac212a 226632005-11-06 Marco Gerards <mgerards@xs4all.nl>
22664
22665 Add initial scripting support.
22666
22667 * commands/test.c: New file.
22668 * include/grub/script.h: Likewise.
22669 * normal/execute.c: Likewise.
22670 * normal/function.c: Likewise.
22671 * normal/lexer.c: Likewise.
22672 * normal/parser.y: Likewise.
22673 * normal/script.c: Likewise.
22674
22675 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 22676
daac212a 22677 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
22678 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
22679 `normal/function.c' and `normal/script.c'.
22680 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22681 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 22682 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
22683 variables.
daac212a 22684 (pkgdata_MODULES): Add `test.mod'.
22685 (grub_script.tab.c): New rule.
22686 (grub_script.tab.h): Likewise.
22687
22688 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
22689
22690 * include/grub/normal.h (grub_test_init): New prototype.
22691 (grub_test_fini): Likewise.
f19dbdb7 22692
daac212a 22693 * normal/command.c: Include <grub/script.h>.
22694 (grub_command_execute): Rewritten.
f19dbdb7 22695
daac212a 22696 * util/grub-emu.c (main): Call `grub_test_init' and
22697 `grub_test_fini'.
22698
77500b2b 226992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22700
22701 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
22702 to 0.
22703 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
22704 there are no pending characters.
22705
e45deb9e 227062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22707
22708 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
22709 `grub_strndup' to drop device arguments. Replace unnecessary
22710 `grub_strndup' with `grub_strdup'.
22711
4ce32619 227122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22713
22714 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
22715 `debug' environment variable has been set.
22716
227172005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22718
4ce32619 22719 * Makefile.in (install-local): Use $(DATA).
22720 (uninstall): Likewise.
22721 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
22722 (sbin_UTILITIES): ... to here.
22723 (sbin_SCRIPTS): New variable.
22724 (grub_install_SOURCES): New variable.
22725 * util/powerpc/ieee1275/grub-install.in: New file.
22726 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
22727 variable.
22728 (add_segments): Call `grub_util_get_path'.
22729
25fe6f03 227302005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22731
22732 From Timothy Baldwin:
22733 * commands/ls.c (grub_ls_list_files): Close FILE with
22734 grub_file_close.
22735 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
22736
04ccf3ec 227372005-10-24 Marco Gerards <mgerards@xs4all.nl>
22738
22739 * include/grub/parser.h: New file.
22740
22741 * kern/parser.c: Likewise.
22742
22743 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
22744 (grub_setup_SOURCES): Likewise.
22745 (grub_probefs_SOURCES): Likewise.
22746 (grub_emu_SOURCES): Likewise.
22747 (kernel_img_HEADERS): Add `parser.h'.
22748
22749 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22750 (grub_emu_SOURCES): Add `kern/parser.c'.
22751 (grubof_SOURCES): Likewise.
22752
22753 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22754 (grubof_SOURCES): Add `kern/parser.c'.
22755
22756 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
22757
22758 * kern/misc.c (grub_split_cmdline): Removed function.
22759
22760 * kern/rescue.c: Include <grub/parser.h>.
22761 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
22762 of `grub_split_cmdline'.
22763
22764 * normal/command.c: Include <grub/parser.h>.
22765 (grub_command_execute): Use `grub_parser_split_cmdline' instead
22766 of `grub_split_cmdline'.
22767
22768 * normal/completion.c: Include <grub/parser.h>.
22769 (cmdline_state): New variable.
22770 (iterate_dir): End the filename with a quote depending on the
22771 command line state.
22772 (get_state): new function.
22773 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
22774 split the arguments and determine the current argument. When the
22775 argument string is not quoted, escape all spaces.
22776
6d8f4b0e 227772005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22778
22779 * normal/sparc64/setjmp.S: New file.
22780
15cf03ed 227812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22782
22783 * include/grub/sparc64/libgcc.h: New file.
22784 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22785 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22786 normal/sparc64/setjmp.c.
22787
03e8661a 227882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22789
22790 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22791 * kern/sparc64/cache.S: New file.
22792 * kern/sparc64/cache.c: Removed.
22793 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22794 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22795 -mtune=ultrasparc.
22796 (COMMON_LDFLAGS): Add -melf64_sparc.
22797 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22798 (grubof_SOURCES): Use cache.S instead of cache.c.
22799 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22800 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22801 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22802 commented though.
22803 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22804 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22805 (linux_mod_CFLAGS): Commented out.
22806 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22807 out because module isn't built.
22808 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22809 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22810 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22811 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22812 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22813 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22814 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22815 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22816 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22817 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22818 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22819 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22820 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22821 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22822
34eeec8a 228232005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22824
22825 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22826 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22827 longer, because HFS should not be used on PC.
22828
708367a3 228292005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22830
22831 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22832 consistently within the loop.
22833
6fa1251a 228342005-10-15 Marco Gerards <mgerards@xs4all.nl>
22835
22836 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22837 directory can not be read.
22838
4801580b 228392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22840
22841 * configure.ac (AC_INIT): Increase the version number to 1.91.
22842
22843 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22844 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22845 term/i386/pc/serial.c.
22846
219ad426 228472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22848
22849 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22850 file size must be permitted.
22851
22852 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22853 between %ah and %al.
22854
688e5699 228552005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22856
22857 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22858 grub_uint64_t.
22859 Call the hook with a NUL-terminated filename.
22860 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22861 grub_cpu_to_be32.
22862
22863 * kern/term.c (cursor_state): New variable.
22864 (grub_term_set_current): Reset the cursor state on a new
22865 terminal.
22866 (grub_setcursor): Rewritten to use CURSOR_STATE.
22867 (grub_getcursor): New function.
22868
22869 * include/grub/term.h (grub_getcursor): New prototype.
22870
22871 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22872 integers on ARM. Reported by Timothy Baldwin
22873 <T.E.Baldwin99@members.leeds.ac.uk>.
22874
bb34586c 228752005-10-11 Marco Gerards <mgerards@xs4all.nl>
22876
22877 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22878 allocated.
22879 (grub_sfs_dir): Likewise.
22880
9a909877 228812005-10-09 Marco Gerards <mgerards@xs4all.nl>
22882
22883 Add support for the SFS filesystem.
22884
22885 * fs/sfs.c: New file.
22886
22887 * DISTLIST: Added `fs/sfs.c'.
22888
22889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22890 (grub_probefs_SOURCES): Likewise.
22891 (grub_emu_SOURCES): Likewise.
22892 (pkgdata_MODULES): Add `sfs.mod'.
22893 (sfs_mod_SOURCES): New variable.
22894 (sfs_mod_CFLAGS): Likewise.
22895 (sfs_mod_LDFLAGS): Likewise.
22896
22897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22898 (pkgdata_MODULES): Add `sfs.mod'.
22899 (sfs_mod_SOURCES): New variable.
22900 (sfs_mod_CFLAGS): Likewise.
22901
22902 * util/grub-emu.c (main): Call `grub_sfs_init' and
22903 `grub_sfs_fini'.
22904
22905 * include/grub/fs.h (grub_sfs_init): New prototype.
22906 (grub_sfs_fini): Likewise.
22907
57bdbde3 229082005-10-07 Marco Gerards <mgerards@xs4all.nl>
22909
22910 Add support for the AFFS filesystem.
22911
22912 * fs/affs.c: New file.
22913
22914 * DISTLIST: Added `fs/affs.c'.
22915
22916 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22917 (grub_probefs_SOURCES): Likewise.
22918 (grub_emu_SOURCES): Likewise.
22919 (pkgdata_MODULES): Add `affs.mod'.
22920 (affs_mod_SOURCES): New variable.
22921 (affs_mod_CFLAGS): Likewise.
22922 (affs_mod_LDFLAGS): Likewise.
22923
22924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22925 (pkgdata_MODULES): Add `affs.mod'.
22926 (affs_mod_SOURCES): New variable.
22927 (affs_mod_CFLAGS): Likewise.
22928
22929 * util/grub-emu.c (main): Call `grub_affs_init' and
22930 `grub_affs_fini'.
22931
22932 * include/grub/fs.h (grub_affs_init): New prototype.
22933 (grub_affs_fini): Likewise.
22934
047b67e0 229352005-10-01 Marco Gerards <mgerards@xs4all.nl>
22936
22937 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22938
59b8208a 229392005-10-01 Marco Gerards <mgerards@xs4all.nl>
22940
22941 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22942 `-m32' to CFLAGS.
22943
22944 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22945 linking.
f19dbdb7 22946
59b8208a 22947 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22948 (COMMON_LDFLAGS): New variable.
22949 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22950 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22951 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22952 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22953 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22954 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22955 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22956 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22957 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22958 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22959 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22960 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22961 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22962 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22963 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22964 variables.
22965 (normal_mod_ASFLAGS): Add `-m32'.
22966
22967 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22968 (grub_host_size_t, grub_host_ssize_t): New types.
22969 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22970 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22971 `GRUB_HOST_SIZEOF_VOID_P'.
22972
22973 * include/grub/kernel.h (struct grub_module_header): Type of
22974 member offset changed to `grub_host_off_t'. Type of member size
22975 changed to `grub_host_size_t'.
22976 (struct grub_module_info): Type of member offset changed to
22977 `grub_host_off_t'. Type of member size changed to
22978 `grub_host_size_t'.
22979
b4093103 229802005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22981
22982 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22983
b4093103 22984 * kern/i386/pc/startup.S (multiboot_header): New label.
22985 (multiboot_entry): Likewise.
22986 (multiboot_trampoline): Likewise.
22987
22988 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22989 Increased to 0x4A0.
22990
22991 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22992 put parentheses after a question mark.
22993 [!GRUB_UTIL] (my_mod): New variable.
22994
22995 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22996
b2499b29 229972005-09-28 Marco Gerards <mgerards@xs4all.nl>
22998
22999 Adds support for the XFS filesystem. Btrees are not supported
23000 yet.
23001
23002 * fs/xfs.c: New file.
23003
23004 * DISTLIST: Added `fs/xfs.c'.
23005
23006 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
23007 (grub_probefs_SOURCES): Likewise.
23008 (grub_emu_SOURCES): Likewise.
23009 (pkgdata_MODULES): Add `xfs.mod'.
23010 (xfs_mod_SOURCES): New variable.
23011 (xfs_mod_CFLAGS): Likewise.
23012
23013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
23014 (pkgdata_MODULES): Add `xfs.mod'.
23015 (xfs_mod_SOURCES): New variable.
23016 (xfs_mod_CFLAGS): Likewise.
23017
23018 * util/grub-emu.c (main): Call `grub_xfs_init' and
23019 `grub_xfs_fini'.
23020
23021 * include/grub/fs.h (grub_xfs_init): New prototype.
23022 (grub_xfs_fini): Likewise.
23023
f19dbdb7 23024
83d37a62 230252005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
23026
23027 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
23028 color modes, allow greater than 16 colors to be configured as
23029 a default palette.
23030
47d2d65e 230312005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23032
23033 * normal/completion.c (complete_arguments): Add the qualifier
23034 const into OPTIONS.
23035
23036 From Omniflux <omniflux+lists@omniflux.com>:
23037 * include/grub/terminfo.h: New file.
23038 * include/grub/tparm.h: Likewise.
23039 * include/grub/i386/pc/serial.h: Likewise.
23040 * term/terminfo.c: Likewise.
23041 * term/tparm.c: Likewise.
23042 * term/i386/pc/serial.c: Likewise.
23043 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
23044 serial.mod.
23045 (terminfo_mod_SOURCES): New variable.
23046 (terminfo_mod_CFLAGS): Likewise.
23047 (serial_mod_SOURCES): Likewise.
23048 (serial_mod_CFLAGS): Likewise.
23049
48b671ff 230502005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
23051
23052 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
23053 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
23054 and kern/powerpc/ieee1275/cmain.c, respectively.
23055
23056 * boot/powerpc/ieee1275/crt0.S: Moved to ...
23057 * kern/powerpc/ieee1275/crt0.S: ... here.
23058
23059 * boot/powerpc/ieee1275/cmain.c: Moved to ...
23060 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 23061
48b671ff 23062 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
23063 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
23064 instead of boot/powerpc/ieee1275/crt0.S and
23065 boot/powerpc/ieee1275/cmain.c, respectively.
23066
23067 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
23068 sectors. It was not used anyway.
23069
09fc77a7 230702005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23071
23072 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
23073 `unused parameter' warning.
23074
003789c7 230752005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23076
23077 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
23078 function.
23079 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
23080 getcharwidth.
23081
67f44c86 230822005-08-28 Marco Gerards <metgerards@student.han.nl>
23083
23084 * include/grub/normal.h (enum grub_completion_type): Added
23085 `GRUB_COMPLETION_TYPE_ARGUMENT'.
23086
23087 * normal/cmdline.c (print_completion): Handle
23088 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
23089 * normal/menu_entry.c (store_completion): Likewise.
23090
23091 * normal/completion.c (complete_arguments): New function.
23092 (grub_normal_do_completion): Call `complete_arguments' when the
23093 current words start with a dash.
23094
0b5abe02 230952005-08-27 Marco Gerards <metgerards@student.han.nl>
23096
23097 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
23098 `gzio.mod' instead of `io.mod').
23099
d9864ee1 231002005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
23101
23102 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
23103 (DISTDIRS): Added io and video.
23104 Rewrite the search routine to make an output consistently.
23105
23106 * DISTLIST: Added conf/sparc64-ieee1275.mk,
23107 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
23108 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
23109 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
23110 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
23111 util/powerpc/ieee1275/misc.c.
f19dbdb7 23112
d9864ee1 23113 * include/grub/gzio.h: New file.
23114 * io/gzio.c: Likewise.
f19dbdb7 23115
d9864ee1 23116 * kern/file.c (grub_file_close): Call grub_device_close only if
23117 FILE->DEVICE is not NULL.
23118
23119 * include/grub/mm.h [!NULL] (NULL): New macro.
23120
23121 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
23122
23123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
23124 (pkgdata_MODULES): Added gzio.mod.
23125 (gzio_mod_SOURCES): New variable.
23126 (gzio_mod_CFLAGS): Likewise.
23127
23128 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
23129 (pkgdata_MODULES): Added gzio.mod.
23130 (gzio_mod_SOURCES): New variable.
23131 (gzio_mod_CFLAGS): Likewise.
23132
23133 * commands/cat.c: Include grub/gzio.h.
23134 (grub_cmd_cat): Use grub_gzfile_open instead of
23135 grub_file_open.
f19dbdb7 23136
d9864ee1 23137 * commands/cmp.c: Include grub/gzio.h.
23138 (grub_cmd_cmp): Use grub_gzfile_open instead of
23139 grub_file_open.
23140
23141 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
23142 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
23143 grub_file_open.
23144 (grub_rescue_cmd_module): Likewise.
23145
fa46f4b5 231462005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23147
23148 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
23149 kern/sparc64/ieee1275/init.c because it contains _start.
23150 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
23151
e9211b5d 231522005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23153
23154 * configure.ac: Add support for sparc64 host with ieee1275
23155 firmware.
23156 * configure: Generated from configure.ac.
23157 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
23158 instead of int.
23159 (grub_ofdisk_read): Likewise.
23160 (grub_ofdisk_open): Use %p to print pointer values, and cast the
23161 pointers as (void *) to remove a warning.
23162 (grub_ofdisk_close): Likewise.
23163 (grub_ofdisk_read): Likewise.
23164 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
23165 returns, so make it return void to remove a warning.
23166 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
23167 Corresponding prototype change.
23168 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
23169 values, and cast the pointers as (void *) to remove a warning.
23170 (grub_mm_dump): Likewise.
23171 * conf/sparc64-ieee1275.mk: New file.
23172 * conf/sparc64-ieee1275.rmk: Likewise.
23173 * include/grub/sparc64/setjmp.h: Likewise.
23174 * include/grub/sparc64/types.h: Likewise.
23175 * include/grub/sparc64/ieee1275/console.h: Likewise.
23176 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23177 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23178 * include/grub/sparc64/ieee1275/time.h: Likewise.
23179 * kern/sparc64/cache.c: Likewise.
23180 * kern/sparc64/dl.c: Likewise.
23181 * kern/sparc64/ieee1275/init.c: Likewise.
23182 * kern/sparc64/ieee1275/openfw.c: Likewise.
23183
385c6a92 231842005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23185
23186 * util/console.c (grub_ncurses_putchar): If C is greater than
23187 0x7f, set C to a question mark.
23188 (grub_ncurses_getcharwidth): New function.
23189 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
23190 getcharwidth.
23191
23192 * normal/menu.c (print_entry): Made aware of Unicode. First,
23193 convert TITLE to UCS-4, and predict the cursor position by
23194 grub_getcharwidth.
23195
23196 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
23197 const to SRC.
23198 * kern/misc.c (grub_utf16_to_utf8): Likewise.
23199
16ccb8b1 232002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23201
23202 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
23203 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23204 grub_strcat.
23205
23206 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
23207 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23208 grub_strcpy and grub_strlen. Take it into account that a space
23209 character is inserted as a delimiter.
23210
6a85ce79 232112005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23212
23213 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 23214 invalid magic in the error.
6a85ce79 23215
23216 * commands/search.c: New file.
f19dbdb7 23217
6a85ce79 23218 * util/grub-emu.c (main): Call grub_search_init and
23219 grub_search_fini.
23220
23221 * kern/rescue.c (grub_rescue_print_disks): Removed.
23222 (grub_rescue_print_devices): New function.
23223 (grub_rescue_cmd_ls): Use grub_device_iterate with
23224 grub_rescue_print_devices instead of grub_disk_dev_iterate with
23225 grub_rescue_print_disks.
23226
23227 * kern/partition.c (grub_partition_iterate): Return the result of
23228 PARTMAP->ITERATE instead of GRUB_ERRNO.
23229
23230 * kern/device.c: Include grub/partition.h.
23231 (grub_device_iterate): New function.
23232
23233 * include/grub/partition.h (grub_partition_iterate): Return int
23234 instead of grub_err_t.
23235
23236 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
23237 prototype.
23238 [GRUB_UTIL] (grub_search_fini): Likewise.
23239
23240 * include/grub/device.h (grub_device_iterate): New prototype.
23241
23242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23243 commands/search.c.
23244 (pkgdata_MODULES): Added search.mod.
23245 (search_mod_SOURCES): New variable.
23246 (search_mod_CFLAGS): Likewise.
23247
23248 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
23249 (pkgdata_MODULES): Added search.mod.
23250 (search_mod_SOURCES): New variable.
23251 (search_mod_CFLAGS): Likewise.
23252
23253 * commands/ls.c (grub_ls_list_disks): Renamed to ...
23254 (grub_ls_list_devices): ... this, and use grub_device_iterate.
23255 All callers changed.
23256
23257 * DISTLIST: Added commands/search.c.
23258
ef095434 232592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23260
23261 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
23262 conversion.
23263 (grub_getcharwidth): New function.
23264
23265 * kern/misc.c (grub_utf8_to_ucs4): New function.
23266
23267 * include/grub/term.h (struct grub_term): Added a new member
23268 "getcharwidth".
23269 (grub_getcharwidth): New prototype.
23270
23271 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
23272
23273 * term/i386/pc/console.c (map_char): New function. Segregated from
23274 grub_console_putchar.
23275 (grub_console_putchar): Use map_char.
23276 (grub_console_getcharwidth): New function.
23277 (grub_console_term): Specified grub_console_getcharwidth as
23278 getcharwidth.
23279
23280 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
23281 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
23282
23283 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
23284 GRUB_ERRNO.
23285 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
23286 on grub_strtoul completely.
23287 (write_char): Declare local variables in the beginning of the
23288 function.
23289 (grub_vesafb_getcharwidth): New function.
23290 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
23291 getcharwidth.
23292
1f0a95e4 232932005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
23294
23295 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
23296 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
23297 commands/i386/pc/vbetest.c.
23298
23299 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
23300 call grub_vbe_get_controller_info again, because the returned
23301 information is volatile.
23302 (grub_vbe_set_video_mode): Mostly rewritten.
23303 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
23304 grub_vbe_status_t correctly.
23305 (grub_vbe_get_video_mode_info): Likewise.
23306 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
23307 several if statements.
23308
23309 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
23310 * commands/i386/pc/vbeinfo.c: ... this.
23311
23312 * commands/i386/pc/vbe_test.c: Renamed to ...
23313 * commands/i386/pc/vbetest.c: ... this.
23314
23315 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
23316 ...
23317 (grub_cmd_vbeinfo): ... this. Save video modes before
23318 iterating. Skip a video mode, if it is not available, not enough
23319 information is given or it is monochrome. Show the memory
23320 model. Leave the interpretation of MODEVAR to grub_strtoul
23321 completely.
23322 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
23323 (GRUB_MOD_FINI): Likewise.
23324
23325 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
23326 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
23327 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
23328 duplicated grub_env_get. Leave the interpretation of MODEVAR to
23329 grub_strtoul completely.
23330 (real2pm): Removed.
23331 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
23332 (GRUB_MOD_FINI): Likewise.
23333
23334 * normal/misc.c: Include grub/mm.h.
23335
23336 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
23337 vbe_list_modes with vbetest.mod and vbeinfo.mod.
23338 (vbe_list_modes_mod_SOURCES): Removed.
23339 (vbe_list_modes_mod_CFLAGS): Likewise.
23340 (vbe_test_mod_SOURCES): Likewise.
23341 (vbe_test_mod_CFLAGS): Likewise.
23342 (vbeinfo_mod_SOURCES): New variable.
23343 (vbeinfo_mod_CFLAGS): Likewise.
23344 (vbetest_mod_SOURCES): Likewise.
23345 (vbetest_mod_CFLAGS): Likewise.
23346
992ffbbe 233472005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
23348
23349 * normal/misc.c: New file.
23350
23351 * DISTLIST: Added normal/misc.c.
f19dbdb7 23352
992ffbbe 23353 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
23354 DISK to HOOK. Call HOOK with DISK.
23355 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23356 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23357 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23358
23359 * normal/menu_entry.c (struct screen): Added a new member
23360 "completion_shown".
23361 (completion_buffer): New global variable.
23362 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
23363 (store_completion): New function.
23364 (complete): Likewise.
23365 (clear_completions): Likewise.
23366 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
23367 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
23368 a tab, call complete.
23369
23370 * normal/completion.c (disk_dev): Removed.
23371 (print_simple_completion): Likewise.
23372 (print_partition_completion): Likewise.
23373 (print_func): New global variable.
23374 (add_completion): Do not take the arguments WHAT or PRINT any
23375 longer. Added a new argument TYPE. Instead of printing directly,
23376 call PRINT_FUNC if not NULL.
23377 All callers changed.
23378 (complete_device): Use a local variable DEV instead of
23379 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
23380 (grub_normal_do_completion): Take a new argument HOOK. Do not
23381 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
23382 empty string, return NULL instead.
23383 All callers changed.
23384
23385 * normal/cmdline.c (print_completion): New function.
23386
23387 * kern/partition.c (grub_partition_iterate): Add an argument DISK
23388 to HOOK.
23389 All callers changed.
23390
23391 * kern/disk.c (grub_print_partinfo): Removed.
23392
23393 * include/grub/partition.h (struct grub_partition_map): Add a new
23394 argument DISK into HOOK of ITERATE.
23395 (grub_partition_iterate): Add a new argument DISK to HOOK.
23396
23397 * include/grub/normal.h (enum grub_completion_type): New enum.
23398 (grub_completion_type_t): New type.
23399 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
23400 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
23401 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
23402 (GRUB_COMPLETION_TYPE_FILE): Likewise.
23403 (grub_normal_do_completion): Added a new argument HOOK.
23404 (grub_normal_print_device_info): New prototype.
23405
23406 * include/grub/disk.h (grub_print_partinfo): Removed.
23407
23408 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
23409 (normal_mod_SOURCES): Likewise.
23410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23411 (normal_mod_SOURCES): Likewise.
23412
23413 * commands/ls.c (grub_ls_list_disks): Use
23414 grub_normal_print_device_info instead of grub_print_partinfo. Free
23415 PNAME.
23416 (grub_ls_list_files): Use grub_normal_print_device_info instead of
23417 duplicating the code.
23418
0bd41162 234192005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23420
23421 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 23422 follow GCS more precisely.
23423 * commands/i386/pc/vbe_test.c: Likewise.
23424 * include/grub/i386/pc/vbe.h: Likewise.
23425 * term/i386/pc/vesafb.c: Likewise.
23426 * video/i386/pc/vbe.c: Likewise.
0bd41162 23427
6323696a 234282005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23429
23430 * DISTLIST: Added term/i386/pc/vesafb.c
23431 DISTLIST: Added video/i386/pc/vbe.c
23432 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
23433 DISTLIST: Added commands/i386/pc/vbe_test.c.
23434 * commands/i386/pc/vbe_list_modes.c: New file.
23435 * commands/i386/pc/vbe_test.c: Likewise.
23436 * term/i386/pc/vesafb.c: Likewise.
23437 * video/i386/pc/vbe.c: Likewise.
23438 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
23439 (grub_vbe_probe) Added prototype.
23440 (grub_vbe_set_video_mode) Likewise.
23441 (grub_vbe_get_video_mode) Likewise.
23442 (grub_vbe_get_video_mode_info) Likewise.
23443 (grub_vbe_set_pixel_rgb) Likewise.
23444 (grub_vbe_set_pixel_index) Likewise.
23445 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
23446 (pkgdata_MODULES): Added vesafb.mod.
23447 (pkgdata_MODULES): Added vbe_list_modes.mod.
23448 (pkgdata_MODULES): Added vbe_test.mod.
23449 (vbe_mod_SOURCES): Added.
23450 (vbe_mod_CFLAGS): Likewise.
23451 (vesafb_mod_SOURCES): Likewise.
23452 (vesafb_mod_CFLAGS): Likewise.
23453 (vbe_list_modes_mod_SOURCES): Likewise.
23454 (vbe_list_modes_mod_CFLAGS): Likewise.
23455 (vbe_test_mod_SOURCES): Likewise.
23456 (vbe_test_mod_CFLAGS): Likewise.
23457
0a74e62f 234582005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
23459
0a74e62f 23460 * normal/command.c (grub_command_execute): If INTERACTIVE is
23461 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
23462 CMDLINE. Disable the pager if INTERACTIVE is true.
23463 All callers are changed.
23464
23465 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
23466 before reading a config file.
23467 * normal/main.c (read_config_file): Even if a command is not
23468 found, register it if it is within an entry.
23469
23470 * util/grub-emu.c: Include sys/types.h and unistd.h.
23471 (options): Added --hold.
23472 (struct arguments): Added a new member "hold".
23473 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
23474 missing.
23475 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
23476 cleared by a debugger, if it is not zero.
23477
23478 * include/grub/normal.h (grub_command_execute): Add an argument
23479 INTERACTIVE.
23480
e51f85ae 234812005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
23482
23483 * DISTLIST: Added include/grub/i386/pc/vbe.h.
23484
e9c6f39b 234852005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
23486
23487 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
23488 program with another one, because the old one didn't detect a bug
23489 in gcc-3.4. Always use regparm 2, because the new test is still
23490 not enough for gcc-4.0. Someone must investigate a simple test
23491 case which detects a bug in gcc-4.0.
23492
8de3495c 234932005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
23494
23495 * DISTLIST: Added normal/completion.c.
23496
23497 * normal/completion.c: New file.
f19dbdb7 23498
8de3495c 23499 * term/i386/pc/console.c (grub_console_getwh): New function.
23500 (grub_console_term): Assign grub_console_getwh to getwh.
23501
23502 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
23503 function is defined in normal/completion.c as
23504 grub_normal_do_completion.
23505 (grub_cmdline_get): Use grub_normal_do_completion instead of
23506 grub_tab_complete.
23507
23508 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
23509 returns non-zero, otherwise return 0.
23510 (grub_partition_iterate): First, probe the partition map. Then,
23511 call ITERATE only for this partition map.
23512
23513 * kern/misc.c (grub_strncmp): Rewritten.
23514
23515 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
23516 returns non-zero. Otherwise return 0.
23517
23518 * include/grub/partition.h (grub_partition_map_iterate): Return
23519 int instead of void.
23520
23521 * include/grub/normal.h (grub_normal_do_completion): New prototype.
23522
23523 * include/grub/misc.h (grub_strncmp): Change the type of N to
23524 grub_size_t.
23525
23526 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
23527 of void.
23528
23529 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 23530 unsigned explicitly before comparing it with I.
8de3495c 23531
23532 * kern/main.c (grub_env_write_root): Add the attribute unused into
23533 VAR.
23534
23535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23536 normal/completion.c.
23537 (normal_mod_SOURCES): Likewise.
23538 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23539 (normal_mod_SOURCES): Likewise.
23540
23541 * normal/command.c (grub_iterate_commands): If ITERATE returns
23542 non-zero, return one immediately.
23543
e85e144b 235442005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
23545
23546 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
23547 * kern/i386/pc/startup.S: Updated Global Descriptor table's
23548 descriptions.
23549 (grub_vbe_get_controller_info): New function.
23550 (grub_vbe_get_mode_info): Likewise.
23551 (grub_vbe_set_mode): Likewise.
23552 (grub_vbe_get_mode): Likewise.
23553 (grub_vbe_set_memory_window): Likewise.
23554 (grub_vbe_get_memory_window): Likewise.
23555 (grub_vbe_set_scanline_length): Likewise.
23556 (grub_vbe_get_scanline_length): Likewise.
23557 (grub_vbe_set_display_start): Likewise.
23558 (grub_vbe_get_display_start): Likewise.
23559 (grub_vbe_set_palette_data): Likewise.
23560 * include/grub/i386/pc/vbe.h: New file.
23561
c46153d2 235622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23563
23564 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23565 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
23566 * DISTLIST: Likewise.
23567 * kern/ieee1275/of.c: Moved to ...
23568 * kern/ieee1275/ieee1275.c: ... here.
23569
0cb90c45 235702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23571
23572 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
23573 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
23574 Pass 0 as `end' parameter to grub_strtoul().
23575
a19fb360 235762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23577
23578 * include/grub/powerpc/ieee1275/console.h: Do not include
23579 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
23580 ifdef.
23581 (grub_console_cur_color): Remove i386-specific prototype.
23582 (grub_console_real_putchar): Likewise.
23583 (grub_console_checkkey): Likewise.
23584 (grub_console_getkey): Likewise.
23585 (grub_console_getxy): Likewise.
23586 (grub_console_gotoxy): Likewise.
23587 (grub_console_cls): Likewise.
23588 (grub_console_setcursor): Likewise.
23589 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
23590 Include <grub/machine/console.h>.
23591 * term/ieee1275/ofconsole.c: Likewise.
23592
4ac9bd04 235932005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
23594
23595 * Makefile.in (LIBLZO): New variable.
23596
23597 * configure.ac: Check for LZO version 2.
23598
23599 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
23600 lzo/lzo1x.h instead of lzo1x.h.
23601
23602 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
23603 of -llzo.
23604
23605 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
23606 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
23607
23608 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
23609 copying the data from PARTITION to P.
23610
f4917dfd 236112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23612
23613 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
23614 negative, unload the module.
23615
23616 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
23617 map is "pc_partition_map" but not "pc".
23618 (usage): Fix the description. The options are --boot-image and
23619 --core-image but not --boot-file or --core-file.
23620 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
23621 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
23622 DEFAULT_DIRECTORY.
23623
23624 * util/i386/pc/grub-install.in: Do not specify --boot-file or
23625 --core-file. Specify INSTALL_DEVICE as an argument.
23626
23627 * util/console.c: Include config.h.
23628 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
23629 [HAVE_NCURSES_H]: Include ncurses.h.
23630 [HAVE_CURSES_H]: Include curses.h.
23631 [!A_NORMAL] (A_NORMAL): Defined as zero.
23632 [!A_STANDOUT] (A_STANDOUT): Likewise.
23633
23634 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
23635 -lncurses.
23636 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
23637
23638 * configure.ac: Check for curses libraries and headers.
23639
23640 * Makefile.in (LIBCURSES): New variable.
23641
23642 * genmk.rb (Script::rule): Set the executable bits.
23643
23644 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
23645 name of the PC partition map is "pc_partition_map" but not "pc".
23646
0e143073 236472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23648
23649 * util/i386/pc/grub-install.in (grub_probefs): New variable.
23650 (modules): Likewise.
23651 (usage): Added descriptions for --modules and --grub-probefs.
23652 Handle --modules and --grub-probefs. Save the arguments in MODULES
23653 and GRUB_PROBEFS, respectively.
23654 Auto-detect a filesystem module against GRUBDIR. If the result is
23655 empty and modules are not specified explicitly, abort the
23656 installation. Add the result to MODULES.
23657
23658 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
23659 disk/powerpc/ieee1275/ofdisk.c,
23660 include/grub/powerpc/ieee1275/init.h and
23661 term/powerpc/ieee1275/ofconsole.c.
23662 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
23663 term/ieee1275/ofconsole.c.
23664
23665 * include/grub/powerpc/ieee1275/console.h: Resurrected.
23666
23667 * COPYING: Upgraded to the latest version. Only the address of the
23668 FSF office has changed.
f19dbdb7 23669
efd6e6d5 236702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23671
23672 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23673 kern/ieee1275.c with kern/ieee1275/of.c.
23674
23675 * kern/ieee1275.c: Moved to ...
23676 * kern/ieee1275/of.c: ... here.
23677
8ceafda2 236782005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
23679
23680 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 23681 readability.
8ceafda2 23682
23683 * config.guess: Updated to the latest version from gnulib.
23684 * config.sub: Likewise.
23685 * install.sh: Likewise.
23686 * mkinstalldirs: Likewise.
23687
23688 * include/grub/console.h: Removed. This file is arch-specific. Do
23689 not put this in include/grub.
23690
23691 * include/grub/i386/pc/console.h: Resurrected.
23692
23693 * util/console.c: Include grub/machine/console.h instead of
23694 grub/console.h.
23695 * util/grub-emu.c: Likewise.
23696
267f6cd9 236972005-08-04 Marco Gerards <metgerards@student.han.nl>
23698
23699 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
23700 hardcoded value.
f19dbdb7 23701
267f6cd9 23702 From Vincent Pelletier <subdino2004@yahoo.fr>
23703 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
23704 Redefined to use grub_getwh.
23705 (grub_term): New member named getwh.
23706 (grub_getwh): New prototype.
23707 * kern/term.c (grub_getwh): New function.
23708 * term/i386/pc/console.c (grub_console_getwh): New function.
23709 (grub_console_term): New member `getwh'.
23710 * term/i386/pc/vga.c (grub_vga_getwh): New function.
23711 (grub_vga_term): New member `getwh'.
0b5abe02 23712 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 23713 grub_ssize_t.
23714 (grub_ofconsole_getw): New function.
23715 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
23716 (grub_ofconsole_term): New field named getwh and new initial
23717 value.
23718
3be7266d 237192005-08-03 Hollis Blanchard <hollis@penguinppc.org>
23720
23721 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
23722 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
23723 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
23724 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
23725 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
23726 of <grub/machine/ieee1275.h>.
23727 * commands/ieee1275/reboot.c: Likewise.
23728 * boot/powerpc/ieee1275/ieee1275.c: Move ...
23729 * kern/ieee1275.c: ... to here. All users updated. Change all
23730 parameter structs to use new type `grub_ieee1275_cell_t'.
23731 * term/powerpc/ieee1275/ofconsole.c: Move ...
23732 * term/ieee1275/ofconsole.c: ... to here. All users updated.
23733 * disk/powerpc/ieee1275/ofdisk.c: Move ...
23734 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
23735 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
23736 to return int.
23737 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
23738 Remove unused prototypes. All users updated.
23739 * include/grub/powerpc/ieee1275/console.h: Removed.
23740 * include/grub/powerpc/ieee1275/ieee1275.h: Define
23741 `grub_ieee1275_cell_t'.
23742 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
23743 Cast comparisons with -1 to the correct type.
23744 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
23745 type to match `grub_ieee1275_entry_fn'.
23746
8b5f3938 237472005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
23748
23749 * DISTLIST: Added util/i386/pc/grub-probefs.c.
23750
23751 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
23752 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
23753 partmap/sun.c.
23754 (grub_probefs_SOURCES): New variable.
23755
23756 * util/i386/pc/grub-probefs.c: New file.
23757
23758 * util/i386/pc/grub-setup.c (main): Call
23759 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
23760 grub_hfs_init and grub_jfs_init to initialize the system. Call
23761 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
23762 grub_pc_partition_map_fini to finish the system.
23763
ea409713 237642005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
23765
23766 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
23767 function.
23768 (grub_multiboot_load_elf32): Likewise.
23769 (grub_multiboot_is_elf64): Likewise.
23770 (grub_multiboot_load_elf64): Likewise.
23771 (grub_multiboot_load_elf): Likewise.
23772 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
23773 an ELF32 or ELF64 file.
23774 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
23775
23776 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
23777 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
23778 NULL before calling FS->LABEL.
23779 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
23780 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
23781 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
23782 before calling FS->LABEL.
23783
141a288b 237842005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23785
23786 * util/i386/pc/grub-install.in (datadir): New variable.
23787 (libdir): Removed.
23788 (pkgdatadir): New variable.
23789 (pkglibdir): Removed.
23790
0d5f8a54 237912005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23792
23793 * DISTLIST: Added util/i386/pc/grub-install.in.
23794
23795 * util/i386/pc/grub-install.in: New file.
23796
23797 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23798 (grub_install_SOURCES): Likewise.
23799
23800 * genmk.rb: Added support for scripts.
23801 (Script): New class.
23802 (scripts): New variable.
23803
23804 * Makefile.in (install-local): Install sbin_SCRIPTS by
23805 INSTALL_SCRIPT.
23806 (uninstall): Remove sbin_SCRIPTS.
23807
23808 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23809 device, try to get a GRUB device by
23810 grub_util_biosdisk_get_grub_dev.
23811 Free DEST_DEV.
23812
23813 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23814 description for --device-map.
23815
5f968e1e 238162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23817
23818 Change the semantics of variable hooks. They now return strings
23819 instead of error values.
f19dbdb7 23820
5f968e1e 23821 * util/i386/pc/grub-setup.c: Include grub/env.h.
23822 (setup): Use grub_device_set_root instead of grub_env_set.
23823
23824 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23825 grub_env_get instead of grub_device_set_root and
23826 grub_device_get_root, respectively.
23827
23828 * kern/main.c (grub_env_write_root): New function.
23829 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23830 grub_env_set instead of grub_device_set_root.
23831
23832 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23833 many variables.
23834 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23835 rather than calling ENV->WRITE_HOOK afterwards.
23836 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23837 passing a pointer of a pointer.
23838 (grub_register_variable_hook): Change the types of "read_hook" and
23839 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23840 respectively.
23841 Allocate the default empty string on the heap, because this string
23842 may be freed later.
23843
23844 * kern/device.c: Include grub/env.h.
23845 (grub_device_set_root): Removed.
23846 (grub_device_get_root): Likewise.
23847 (grub_device_open): Use grub_env_get instead of
23848 grub_device_get_root.
23849
23850 * include/grub/env.h (grub_env_read_hook_t): New type.
23851 (grub_env_write_hook_t): Likewise.
23852 (grub_env_var): Change the types of "read_hook" and "write_hook"
23853 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23854 (grub_register_variable_hook): Likewise.
23855
23856 * include/grub/device.h (grub_device_set_root): Removed.
23857 (grub_device_set_root): Likewise.
23858
23859 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23860 make sure that DIRNAME terminates with '/', so that
23861 grub_fat_find_dir will fail if PATH is not a directory.
23862
23863 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23864 from DIRNAME.
23865 Use the qualifier auto for print_files and print_files_long.
23866 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23867 as a regular file.
23868 Put a newline only if there is no error.
23869 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23870 used.
23871
896f0afd 238722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23873
23874 * kern/partition.c (grub_partition_probe): Initialize PART to
23875 NULL. Otherwise, when no partition map is registered, this returns
23876 a garbage.
23877
b28b81b2 238782005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23879
23880 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23881 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23882 valid.
23883
5f3607e0 238842005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23885
23886 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23887 information on each device, if it does not have partitions. Print
23888 "Device" instead of "Disk", because this function is not specific
23889 to disk devices.
23890
23891 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23892 static to ensure that it is put on the memory rather than a
23893 register.
23894
502c87e8 238952005-07-17 Yoshinori Okuji <okuji@enbug.org>
23896
23897 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23898 (grub_cat_init): Likewise.
23899 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23900 (options): Likewise.
23901 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23902 (grub_configfile_init): Likewise.
23903 * font/manager.c (GRUB_MOD_INIT): Likewise.
23904 * commands/help.c (GRUB_MOD_INIT): Likewise.
23905 (grub_help_init): Likewise.
23906 * normal/command.c (grub_command_init): Likewise.
23907 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23908 * disk/loopback.c (grub_loop_init): Likewise.
23909 (GRUB_MOD_INIT): Likewise.
23910 * commands/ls.c (grub_ls_init): Likewise.
23911 (GRUB_MOD_INIT): Likewise.
23912 (options): Likewise.
23913 * commands/boot.c (grub_boot_init): Likewise.
23914 (GRUB_MOD_INIT): Likewise.
23915 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23916 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23917 (GRUB_MOD_INIT): Likewise.
23918 * commands/cmp.c (grub_cmp_init): Likewise.
23919 (GRUB_MOD_INIT): Likewise.
23920
23921 * normal/arg.c: Use <> instead of "" to include header files.
23922 (SHORT_ARG_HELP): New macro.
23923 (SHORT_ARG_USAGE): Likewise.
23924 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23925 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23926 descriptions.
23927 (find_short): Check if C is 'h' or 'u' explicitly.
23928 (grub_arg_show_help): Use space characters instead of tabs. Treat
23929 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23930 are shown with --help and --usage only if they are not used for
23931 the command itself.
23932 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23933 'h' and 'u'.
23934
23935 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23936 const into "longarg". Change the type of "shortarg" to int.
23937
f806d18e 239382005-07-17 Yoshinori Okuji <okuji@enbug.org>
23939
23940 * boot/i386/pc/boot.S (boot_drive_check): New label.
23941
23942 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23943 macro.
23944
23945 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23946 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23947
e293232b 239482005-07-17 Yoshinori Okuji <okuji@enbug.org>
23949
23950 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23951 When turning off Gate A20, skip the check and return immediately,
23952 because this is not fatal usually.
23953
ebedfd00 239542005-07-17 Yoshinori Okuji <okuji@enbug.org>
23955
23956 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23957 be 0x7C00 instead of 0x8000.
23958
23959 * boot/i386/pc/pxeboot.S: Rewritten.
23960
23961 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23962 EXT_C.
23963 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23964 result.
23965
654fc59f 239662005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23967
23968 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23969 robustness. This routine now supports a BIOS call and System
23970 Control Port A to modify the gate A20.
23971
23972 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23973 Increased to 0x440.
23974
09f9923f 239752005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23976
23977 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23978 device path and resulting ihandle.
23979 (grub_ofdisk_close): dprintf the ihandle being closed.
23980 (grub_ofdisk_read): dprintf function parameters.
23981 * kern/mm.c (grub_mm_init_region): Likewise.
23982 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23983 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23984 size, and boot arguments.
23985 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23986 before loading into memory.
23987 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23988 before loading into memory.
23989
7ef504d8 239902005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23991
23992 * kern/mm.c: Added much documentation.
23993 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23994 8, set to 5 instead of 8.
23995
e0f050c2 239962005-07-10 Yoshinori Okuji <okuji@enbug.org>
23997
23998 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23999
24000 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
24001 (grub_mkdevicemap_SOURCES): New variable.
24002
24003 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
24004 lib/device.c of GRUB Legacy.
24005
7224189a 240062005-07-10 Yoshinori Okuji <okuji@enbug.org>
24007
24008 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
24009 instead of PATH is NULL.
24010
68c864eb 240112005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
24012
24013 * commands/cmp.c (BUFFER_SIZE): New macro.
24014 (grub_cmd_cmp): Close the right file at the right time. Compare
24015 only data just read. Don't report files of different size as
24016 identical. Dynamically allocate buffers. Move variable
24017 declarations at the beginning of function.
24018
e6f3e614 240192005-07-09 Yoshinori Okuji <okuji@enbug.org>
24020
24021 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
24022 reverse.
24023
f8f1559a 240242004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
24025
24026 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
24027 when backspace is pressed at beginning of line.
24028
39c9d41d 240292005-07-03 Yoshinori Okuji <okuji@enbug.org>
24030
24031 * DISTLIST: Added genfslist.sh.
24032
24033 * normal/main.c (fs_module_list): New variable.
24034 (autoload_fs_module): New function.
24035 (read_fs_list): Likewise.
24036 (grub_normal_execute): Call read_fs_list.
24037
24038 * kern/fs.c (grub_fs_autoload_hook): New variable.
24039 (grub_fs_probe): Added support for auto-loading.
24040
24041 * include/grub/normal.h (struct grub_fs_module_list): New struct.
24042 (grub_fs_module_list_t): New type.
24043
24044 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
24045 (grub_fs_autoload_hook): New prototype.
24046
24047 * genfslist.sh: New file.
f19dbdb7 24048
39c9d41d 24049 * genmk.rb: Added a rule to generate a filesystem list.
24050
121c1d83 240512005-06-30 Marco Gerards <metgerards@student.han.nl>
24052
24053 * configure.ac: Fix the test for cross-compiling.
24054
24055 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
24056 define GRUB_UTIL anymore.
24057
24058 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
24059 so this function works on other systems than just big endian.
24060 (load_modules): Likewise.
24061 (add_segments): Likewise.
24062
e75d76e1 240632005-06-23 Hollis Blanchard <hollis@penguinppc.org>
24064
24065 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
24066 contains `l' modifier, get a long from va_arg().
24067
50b5a0a7 240682005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
24069
24070 * kern/mm.c (grub_free): If the next free block which is being
24071 merged is the first free block, set the first block to the block
24072 being freed.
24073 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
24074
89371b20 240752005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24076
24077 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
24078 `grub_ieee1275_chosen'.
24079
168d6e58 240802005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24081
24082 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
24083 (grub_ieee1275_chosen): New variable.
24084 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
24085 `chosen'.
24086 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
24087 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24088 Rename first argument to `phandle' for consistency.
24089 (grub_ieee1275_get_property_length): Likewise.
24090 (grub_ieee1275_next_property): Likewise. Change type of first argument
24091 to grub_ieee1275_phandle_t.
24092 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
24093 Move export next to declaration.
24094 (grub_ieee1275_chosen): New variable.
24095 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
24096 Correct cosmetic typo.
24097 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
24098 `grub_ieee1275_chosen'.
24099 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
24100 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
24101 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
24102 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
24103 `grub_ieee1275_chosen'.
24104
ca5baa3f 241052005-05-10 Hollis Blanchard <hollis@penguinppc.org>
24106
24107 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
24108 /chosen/bootargs.
24109 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
24110 /chosen/bootargs as "variable=value" pairs.
24111
708b345f 241122005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
24113
24114 * include/grub/misc.h (grub_dprintf): New macro.
24115 (grub_real_dprintf): New prototype.
24116 (grub_strword): Likewise.
24117 (grub_iswordseparator): Likewise.
24118 * kern/misc.c (grub_real_dprintf): New function.
24119 (grub_strword): Likewise.
24120 (grub_iswordseparator): Likewise.
24121
f4c5e67c 241222005-04-30 Hollis Blanchard <hollis@penguinppc.org>
24123
24124 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
24125 (roundup): Remove macro.
24126 (grub_ieee1275_flags): Make static.
24127 (grub_ieee1275_realmode): Remove.
24128 (grub_ieee1275_test_flag): New function.
24129 (grub_ieee1275_set_flag): Likewise.
24130 (find_options): Rename to `grub_ieee1275_find_options'; update
24131 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
24132 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
24133 (cmain): New prototype.
24134 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
24135 `grub_ieee1275_flags' directly.
24136 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
24137 machine/biosdisk.h.
24138 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
24139 Don't include grub/machine/init.h.
24140 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
24141 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24142 Remove prototype.
24143 (grub_ieee1275_realmode): Likewise.
24144 (grub_ieee1275_flag): New enum.
24145 (grub_ieee1275_test_flag): New prototype.
24146 (grub_ieee1275_set_flag): New prototype.
24147 * include/grub/powerpc/ieee1275/init.h: Remove file.
24148 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
24149 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
24150 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
24151 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
24152 comment.
24153 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
24154 `grub_ieee1275_test_flag'.
24155 (grub_ieee1275_encode_devname): Likewise.
24156
ed16607e 241572005-04-21 Hollis Blanchard <hollis@penguinppc.org>
24158
24159 * include/grub/powerpc/ieee1275/ieee1275.h
24160 (grub_ieee1275_encode_devname): New prototype.
24161 (grub_ieee1275_get_filename): Likewise.
24162 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
24163 function.
24164 (grub_set_prefix): Likewise.
24165 (grub_machine_init): Call grub_set_prefix.
24166 * kern/powerpc/ieee1275/openfw.c: Fix typos.
24167 (grub_parse_type): New enum.
24168 (grub_ieee1275_get_devargs): New function.
24169 (grub_ieee1275_get_devname): Likewise.
24170 (grub_ieee1275_parse_args): Likewise.
24171 (grub_ieee1275_get_filename): Likewise.
24172 (grub_ieee1275_encode_devname): Likewise.
24173
be369920 241742005-03-30 Marco Gerards <metgerards@student.han.nl>
24175
24176 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
24177 `grub_loader_unset'.
24178
a5ce3a4a 241792005-03-26 Hollis Blanchard <hollis@penguinppc.org>
24180
24181 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
24182 instead of grub_ieee1275_interpret.
24183 (grub_halt_init): New function.
24184 (grub_halt_fini): Likewise.
24185 (GRUB_MOD_INIT): Correct message grammar.
24186 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
24187 instead of grub_ieee1275_interpret.
24188 (grub_reboot_init): New function.
24189 (grub_reboot_fini): Likewise.
24190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
24191 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
24192 util/i386/pc/misc.c with commands/ieee1275/halt.c,
24193 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
24194 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
24195 function.
24196 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
24197 Add prototype.
24198 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
24199 prototype.
24200 (grub_halt): Likewise.
24201 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
24202 (cmain): Remove __attribute__((unused)).
24203 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
24204 (grub_heap_len): Likewise.
24205 (grub_machine_fini): New function.
24206 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
24207 (grub_halt): Likewise.
24208 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
24209 function.
24210 * util/powerpc/ieee1275/misc.c: New file.
24211
0058f771 242122005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24213
24214 * DISTLIST: New file.
24215 * gendistlist.sh: Likewise.
f19dbdb7 24216
0058f771 24217 * Makefile.in (COMMON_DISTFILES): Removed.
24218 (BOOT_DISTFILES): Likewise.
24219 (CONF_DISTFILES): Likewise.
24220 (DISK_DISTFILES): Likewise.
24221 (FS_DISTFILES): Likewise.
24222 (INCLUDE_DISTFILES): Likewise.
24223 (KERN_DISTFILES): Likewise.
24224 (LOADER_DISTFILES): Likewise.
24225 (TERM_DISTFILES): Likewise.
24226 (UTIL_DISTFILES): Likewise.
24227 (DISTFILES): Likewise.
24228 (uninstall): Uninstall files in $(pkgdata_DATA).
24229 (DISTLIST): New target.
24230 (distdir): Use the contents of the file DISTLIST to get a list of
24231 distributed files.
24232
46b3b8a5 242332005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24234
24235 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
24236 descriptor. This is ported from GRUB Legacy.
24237
24238 * gencmdlist.sh: Added an extra semicolon to make it work with
24239 old sed versions. Reported by Robert Bihlmeyer
24240 <robbe@orcus.priv.at>.
24241
5822ff87 242422005-03-08 Yoshinori Okuji <okuji@enbug.org>
24243
24244 Automatic loading of commands is supported.
f19dbdb7 24245
5822ff87 24246 * normal/main.c (read_command_list): New function.
24247 (grub_normal_execute): Call read_command_list.
24248
24249 * normal/command.c (grub_register_command): Return zero or CMD.
24250 Allocate CMD->NAME from the heap.
24251 Initialize CMD->MODULE_NAME to zero.
24252 Find the same name as well. If the same command is found and it is
24253 a dummy command, overwrite members. If it is not a dummy command,
24254 return zero.
24255 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
24256 (grub_command_find): If a dummy command is found, load a module
24257 and retry to find a command only once.
24258
24259 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
24260 make sure that each command is loaded.
24261
24262 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
24263 macro.
24264 (struct grub_command): Remove const from the member `name'.
24265 Add a new member `module_name'.
24266 (grub_register_command): Return grub_command_t.
24267
24268 * commands/help.c (grub_cmd_help): Call grub_command_find to make
24269 sure that each command is loaded.
24270
24271 * genmk.rb (PModule::rule): Specify a module name without the
24272 suffix ".mod" to gencmdlist.sh.
24273
7b1f4b57 242742005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24275
24276 * gencmdlist.sh: New file.
f19dbdb7 24277
7b1f4b57 24278 * genmk.rb (PModule::rule): Generate a rule for a command list.
24279 Clean command.lst.
24280 Generate command.lst from $(COMMANDFILES).
24281
24282 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
24283 (DATA): Added $(pkgdata_DATA).
24284 (install-local): Install files in $(pkgdata_DATA).
24285
062aaf39 242862005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24287
24288 * term/i386/pc/vga.c (debug_command): Removed.
24289 (GRUB_MOD_INIT): Do not register the command "debug".
24290
24291 From Hollis Blanchard:
24292 * commands/configfile.c: New file.
24293 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24294 commands/configfile.c.
24295 (pkgdata_MODULES): Added configfile.mod.
24296 (configfile_mod_SOURCES): New variable.
24297 (configfile_mod_CFLAGS): Likewise.
24298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24299 commands/configfile.c.
24300 (pkgdata_MODULES): Added configfile.mod.
24301 (configfile_mod_SOURCES): New variable.
24302 (configfile_mod_CFLAGS): Likewise.
24303 * util/grub-emu.c (main): Call grub_configfile_init and
24304 grub_configfile_fini.
24305 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
24306 prototype.
24307 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 24308
cee01aa6 243092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24310
24311 * normal/arg.c (grub_arg_show_help): Do not show the bug report
24312 address.
24313
24314 * commands/help.c (grub_cmd_help): Do not print newlines after
24315 the last command in print_command_help.
24316
93f3a1d8 243172005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24318
24319 * commands/default.h: New file.
24320 * commands/timeout.h: Likewise.
24321 * normal/context.c: Likewise.
f19dbdb7 24322
93f3a1d8 24323 * util/misc.c: Do not include sys/times.h.
24324 Include sys/time.h and grub/machine/time.h.
24325 (grub_get_rtc): Rewritten with gettimeofday.
24326
24327 * util/grub-emu.c (main): Call grub_default_init and
24328 grub_timeout_init before grub_normal_init, and call
24329 grub_timeout_fini and grub_default_fini after grub_main.
24330
24331 * util/console.c (grub_ncurses_checkkey): Return the read
24332 character or -1.
24333
24334 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
24335 timeouts.
24336
24337 * normal/main.c (read_config_file): Push MENU. If this fails,
24338 print an error and wait for a user input.
24339 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
24340 If a menu is empty or an error occurs, pop MENU.
24341 (grub_normal_execute): Pop and free MENU after grub_menu_run
24342 returns.
24343
24344 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
24345
24346 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
24347 include time.h.
24348 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24349 without GRUB_UTIL.
24350 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
24351 time.h.
24352 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24353 without GRUB_UTIL.
24354
24355 * include/grub/normal.h (struct grub_menu_list): New struct.
24356 (grub_menu_list_t): New type.
24357 (struct grub_context): New struct.
24358 (grub_context_t): New type.
24359 (grub_register_command): Got rid of EXPORT_FUNC.
24360 (grub_unregister_command): Likewise.
24361 (grub_context_get): New prototype.
24362 (grub_context_get_current_menu): Likewise.
24363 (grub_context_push_menu): Likewise.
24364 (grub_context_pop_menu): Likewise.
24365 [GRUB_UTIL] (grub_default_init): Likewise.
24366 [GRUB_UTIL] (grub_default_fini): Likewise.
24367 [GRUB_UTIL] (grub_timeout_init): Likewise.
24368 [GRUB_UTIL] (grub_timeout_fini): Likewise.
24369
24370 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
24371 commands/timeout.c and normal/context.c.
24372 (pkgdata_MODULES): Added default.mod and timeout.mod.
24373 (normal_mod_SOURCES): Added normal/context.c.
24374 (default_mod_SOURCES): New variable.
24375 (default_mod_CFLAGS): Likewise.
24376 (timeout_mod_SOURCES): Likewise.
24377 (timeout_mod_CFLAGS): Likewise.
24378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
24379 conf/i386-pc.rmk.
24380 (pkgdata_MODULES): Added default.mod and timeout.mod.
24381 (normal_mod_SOURCES): Added normal/context.c.
24382 (default_mod_SOURCES): New variable.
24383 (default_mod_CFLAGS): Likewise.
24384 (timeout_mod_SOURCES): Likewise.
24385 (timeout_mod_CFLAGS): Likewise.
24386
24387 * Makefile.in (all-local): Added $(MKFILES).
24388
4ed2e1dd 243892005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
24390
24391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
24392 (grub_emu_SOURCES): Likewise.
24393 (pkgdata_MODULES): Add `sun.mod'.
24394 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24396 `partmap/sun.c'.
24397 (pkgdata_MODULES): Add `sun.mod'.
24398 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24399 * include/grub/partition.h (grub_sun_partition_map_init): New
24400 prototype.
24401 (grub_sun_partition_map_fini): Likewise.
24402 * partmap/sun.c: New file.
24403 * util/grub-emu.c (main): Initialize and de-initialize the sun
24404 partitionmap support.
24405
4d4e372e 244062005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
24407
24408 This implements an Emacs-like menu entry editor.
f19dbdb7 24409
4d4e372e 24410 * normal/menu_entry.c: New file.
f19dbdb7 24411
4d4e372e 24412 * util/console.c (grub_ncurses_putchar): Translate some Unicode
24413 characters to ASCII.
24414 (saved_char): New variable.
24415 (grub_ncurses_checkkey): Rewritten completely.
24416 (grub_ncurses_getkey): Likewise.
24417 (grub_ncurses_init): Call raw instead of cbreak.
24418
24419 * normal/menu.c (print_entry): Do not put a space.
24420 (init_page): Renamed to ...
24421 (grub_menu_init_page): ... this. All callers changed.
24422 (edit_menu_entry): Removed.
24423 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
24424
24425 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
24426
24427 * kern/misc.c (grub_vprintf): Call grub_refresh.
24428
24429 * normal/menu.c (DISP_LEFT): Renamed to ...
24430 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
24431 * normal/menu.c (DISP_UP): Renamed to ...
24432 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
24433 * normal/menu.c (DISP_RIGHT): Renamed to ...
24434 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
24435 * normal/menu.c (DISP_DOWN): Renamed to ...
24436 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
24437 * normal/menu.c (DISP_HLINE): Renamed to ...
24438 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
24439 * normal/menu.c (DISP_VLINE): Renamed to ...
24440 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
24441 * normal/menu.c (DISP_UL): Renamed to ...
24442 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
24443 * normal/menu.c (DISP_UR): Renamed to ...
24444 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
24445 * normal/menu.c (DISP_LL): Renamed to ...
24446 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
24447 * normal/menu.c (DISP_LR): Renamed to ...
24448 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
24449 * normal/menu.c (TERM_WIDTH): Renamed to ...
24450 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
24451 * normal/menu.c (TERM_HEIGHT): Renamed to ...
24452 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
24453 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
24454 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
24455 * normal/menu.c (TERM_MARGIN): Renamed to ...
24456 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
24457 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
24458 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
24459 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
24460 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
24461 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
24462 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
24463 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
24464 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
24465 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
24466 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
24467 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
24468 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
24469 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
24470 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
24471 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
24472 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
24473 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
24474 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
24475 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
24476 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
24477 All callers changed.
24478
24479 * include/grub/normal.h: New prototype.
24480
24481 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24482 normal/menu_entry.c.
24483 (normal_mod_SOURCES): Likewise.
24484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24485 (normal_mod_SOURCES): Likewise.
24486
e6b92c8a 244872005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
24488
24489 * include/grub/normal.h (grub_halt_init): New prototype.
24490 (grub_halt_fini): Likewise.
24491 (grub_reboot_init): Likewise.
24492 (grub_reboot_fini): Likewise.
24493
24494 * util/grub-emu.c: Include signal.h.
24495 (main_env): New global variable.
24496 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
24497 catch C-c.
24498 (grub_machine_fini): New function.
24499 (main): Call grub_halt_init and grub_reboot_init before
24500 grub_main, and grub_reboot_fini and grub_halt_fini after it.
24501 Call setjmp with MAIN_ENV to go back afterwards.
24502 Call grub_machine_fini right before return.
24503
24504 * include/grub/util/misc.h: Include setjmp.h.
24505 (main_env): New prototype.
24506
24507 * include/grub/kernel.h (grub_machine_fini): New prototype.
24508 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
24509 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
24510
24511 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
24512 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
24513 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 24514
e6b92c8a 24515 * util/i386/pc/misc.c: New file.
f19dbdb7 24516
e6b92c8a 24517 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24518 util/i386/pc/misc.c, commands/i386/pc/halt.c and
24519 commands/i386/pc/reboot.c.
24520
c642636f 245212005-02-14 Guillem Jover <guillem@hadrons.org>
24522
24523 * include/grub/dl.h (grub_dl_check_header): New prototype.
24524 (grub_arch_dl_check_header): Change return type to grub_err_t,
24525 remove size parameter and export function. Update all callers.
24526 * kern/dl.c (grub_dl_check_header): New function.
24527 (grub_dl_load_core): Use `grub_dl_check_header' instead of
24528 `grub_arch_dl_check_header'. Check ELF type. Check if sections
24529 are inside the core.
24530 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
24531 independent ELF header checks.
24532 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24533 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
24534 `grub_dl_check_header' instead of explicit checks. Check for the
24535 ELF type.
24536 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
24537 `grub_dl_check_header' instead of explicit checks. Remove arch
24538 specific ELF header checks.
24539
e6b92c8a 24540 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
24541 argument SIZE.
24542
5eabe94b 245432005-02-13 Hollis Blanchard <hollis@penguinppc.org>
24544
24545 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
24546 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
24547
1b14a681 245482005-02-12 Hollis Blanchard <hollis@penguinppc.org>
24549
24550 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 24551 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 24552 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 24553 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 24554 * partmap/amiga.c (amiga_partition_map_iterate): Return
24555 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
24556 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24557
aca108aa 245582005-02-01 Guillem Jover <guillem@hadrons.org>
24559
24560 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
24561 help info.
24562
c9f9c556 245632005-01-31 Marco Gerards <metgerards@student.han.nl>
24564
24565 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
24566 Removed prototype.
24567 (grub_rescue_cmd_linux): New prototype.
24568 (grub_rescue_cmd_initrd): Likewise.
24569 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
24570 `bi_rec'.
24571 (grub_linux_release_mem): Release the memory for the initrd.
24572 (grub_load_linux): Renamed from this...
24573 (grub_rescue_cmd_linux): ...To this. Changed all callers.
24574 Changed `entry' not to be static. Loop over memory regions to
24575 find another one when the default fails.
24576 (grub_rescue_cmd_initrd): New function.
24577 (grub_linux_init): Remove function.
24578 (grub_linux_fini): Likewise.
24579 (GRUB_MOD_INIT): Register `initrd'.
24580 (GRUB_MOD_FINI): Unregister `initrd'.
24581 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
24582 Function removed.
24583 (grub_linux_normal_fini): Likewise.
24584 (GRUB_MOD_INIT): Register `initrd'.
24585 (GRUB_MOD_FINI): Unregister `initrd'.
24586
990cf3aa 245872005-01-31 Marco Gerards <metgerards@student.han.nl>
24588
24589 * commands/help.c: New file.
24590 * normal/arg.c (show_help): Renamed to...
24591 (grub_arg_show_help): ... this.
24592 * commands/i386/pc/halt.c: New file.
24593 * commands/i386/pc/reboot.c: Likewise.
24594 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
24595 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
24596 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
24597 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
24598 variables.
24599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24600 `commands/help.c'.
24601 (pkgdata_MODULES): Add `help.mod'.
24602 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
24603 * grub/i386/pc/init.h (grub_reboot): New prototype.
24604 (grub_halt): Likewise.
24605 * include/grub/normal.h (grub_arg_show_help): New prototype.
24606 (grub_help_init): Likewise.
24607 (grub_help_fini): Likewise.
24608 * util/grub-emu.c (main): Initialize and deinitialize the help
24609 command.
24610
24611 * normal/cmdline.c (grub_cmdline_get): Doc fix.
24612
24613 * normal/command.c (grub_command_init): Fixed the description of
24614 the `set' and `unset' commands.
24615
246162005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 24617
24618 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
24619 function.
24620 * commands/ieee1275/halt.c: New file.
24621 * commands/ieee1275/reboot.c: Likewise.
24622 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
24623 `__attribute__ ((unused))'. Some GCS related fixed.
24624 (grub_suspend_init) [GRUB_UTIL]: Function removed.
24625 (grub_suspend_fini): Likewise.
24626 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
24627 and `halt.mod'.
24628 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
24629 (halt_mod_CFLAGS): New variables.
24630 * include/grub/powerpc/ieee1275/ieee1275.h
24631 (grub_ieee1275_interpret): New prototype.
24632
1ab09cc7 246332005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
24634
24635 * include/grub/misc.h (memmove): New prototype.
24636 (memcpy): Likewise.
24637
8b8cbdb2 246382005-01-22 Hollis Blanchard <hollis@penguinppc.org>
24639
24640 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
24641 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
24642
e3741a27 246432005-01-22 Marco Gerards <metgerards@student.han.nl>
24644
24645 * kern/misc.c (grub_strndup): Function rewritten.
24646
776bd780 246472005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
24648
24649 * normal/menu.c (TERM_WIDTH): Macro redefined.
24650 (TERM_TOP_BORDER_Y): Likewise.
24651 (draw_border): Replaced while-loop by a for-loop. Make the number
24652 of lines consistent with the number of lines displayed in
24653 print_entries. Added a margin below the rectangle.
24654 (print_entry): Make the entry fit in the rectangle.
24655 (print_entries): Display the scroll arrows next to the right
24656 border.
24657
78026bce 246582005-01-21 Marco Gerards <metgerards@student.han.nl>
24659
24660 * fs/minix.c (grub_minix_find_file): Reserve more space for
24661 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
24662 `grub_strncpy' to copy `path' into it.
24663
67bbaf0f 246642005-01-21 Marco Gerards <metgerards@student.han.nl>
24665
24666 Add the loopback device, a device via which files can be accessed
24667 as devices.
f19dbdb7 24668
67bbaf0f 24669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
24670 (pkgdata_MODULES): Add loopback.mod.
24671 (loopback_mod_SOURCES): New variable.
24672 (loopback_mod_CFLAGS): Likewise.
24673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24674 `disk/loopback.c'.
24675 (pkgdata_MODULES): Add loopback.mod.
24676 (loopback_mod_SOURCES): New variable.
24677 (loopback_mod_CFLAGS): Likewise.
24678 * disk/loopback.c: new file.
24679 * include/grub/normal.h (grub_loop_init): New prototype.
24680 (grub_loop_fini): New prototype.
24681 * util/grub-emu.c (main): Initialize and de-initialize loopback
24682 support.
24683 * include/grub/disk.h (grub_disk_dev_id): Add
24684 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
24685
6f1c18bd 246862005-01-20 Hollis Blanchard <hollis@penguinppc.org>
24687
24688 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
24689 function.
24690 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
24691 (suspend_mod_SOURCES): New variable.
24692 (suspend_mod_CFLAGS): Likewise.
24693 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
24694 New prototype.
24695 * commands/ieee1275/suspend.c: New file.
24696
b38551da 246972005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24698
24699 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 24700 ((unused))' to `__attribute__ ((used))'.
b38551da 24701 (GRUB_MOD_FINI): Likewise.
24702 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
24703 * genmk.rb (PModule): Assign space to common symbols when linking
24704 modules.
24705
777aff39 247062005-01-20 Marco Gerards <metgerards@student.han.nl>
24707
24708 * include/grub/mm.h (grub_mm_init_region): Change the type of the
24709 `unsigned' arguments to `grub_size_t'.
24710 (grub_malloc): Likewise.
24711 (grub_realloc): Likewise.
24712 (grub_memalign): Likewise.
24713 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
24714 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24715 * util/misc.c (grub_malloc): Likewise.
24716 (grub_realloc): Likewise.
24717 * kern/mm.c (get_header_from_pointer): Change the casts to
24718 `unsigned' into a cast to `grub_size_t'.
24719
24720 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
24721 point to `currnode' when `currnode' is changed.
24722
24723 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
24724 Schottelius <nico-linux@schottelius.org>.
24725
d0ff18e1 247262005-01-09 Hollis Blanchard <hollis@penguinppc.org>
24727
24728 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
24729 (note_path): Remove variable.
24730 (GRUB_IEEE1275_NOTE_NAME): New macro.
24731 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
24732 (grub_ieee1275_note_hdr): New structure.
24733 (grub_ieee1275_note_desc): Likewise.
24734 (grub_ieee1275_note): Likewise.
24735 (load_note): Remove `dir' argument. All callers updated. Remove
24736 `note_img' and `path'. Do not load a file from `note_path'.
24737 Initialize a struct grub_ieee1275_note and write that to `out'.
24738 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
24739
4ca7004c 247402005-01-05 Marco Gerards <metgerards@student.han.nl>
24741
24742 * util/misc.c (grub_util_read_image): Revert last change. It
24743 called `grub_util_read_at', which seeks from the beginning of the
24744 file.
24745
0b412211 247462005-01-04 Hollis Blanchard <hollis@penguinppc.org>
24747
24748 * TODO: Add note about endianness in grub-mkimage.
24749 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
24750 section.
24751 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
24752 (grub_mkimage_SOURCES): New target.
24753 * include/grub/kernel.h (grub_start_addr): Remove variable.
24754 (grub_end_addr): Likewise.
24755 (grub_total_module_size): Likewise.
24756 (grub_kernel_image_size): Likewise.
24757 (GRUB_MODULE_MAGIC): New constant.
24758 (grub_module_info): New structure.
24759 (grub_arch_modules_addr): New prototype.
24760 (grub_get_end_addr): Remove prototype.
24761 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
24762 * include/grub/powerpc/ieee1275/kernel.h: New file.
24763 * include/grub/util/misc.h (grub_util_get_fp_size): New
24764 prototype.
24765 (grub_util_read_at): Likewise.
24766 (grub_util_write_image_at): Likewise.
24767 * kern/main.c (grub_get_end_addr): Remove function.
24768 (grub_load_modules): Call grub_arch_modules_addr instead of using
24769 grub_end_addr. Look for a grub_module_info struct in memory. Use
24770 the grub_module_info fields instead of calling grub_get_end_addr
24771 as loop conditions. Move grub_add_unused_region code here.
24772 (grub_add_unused_region): Remove function.
24773 * kern/i386/pc/init.c: Include grub/cache.h.
24774 (grub_machine_init): Remove call to grub_get_end_addr. Remove
24775 one call to add_mem_region.
24776 (grub_arch_modules_addr): New function.
24777 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
24778 (grub_total_module_size): Likewise.
24779 Include grub/machine/kernel.h.
24780 (grub_arch_modules_addr): New function.
24781 * util/grub-emu.c (grub_end_addr): Remove variable.
24782 (grub_total_module_size): Likewise.
24783 (grub_arch_modules_addr): New function.
24784 * util/misc.c: Include unistd.h.
24785 (grub_util_get_fp_size): New function.
24786 (grub_util_read_at): Likewise.
24787 (grub_util_write_image_at): Likewise.
24788 (grub_util_read_image): Call grub_util_read_at.
24789 (grub_util_write_image): Call grub_util_write_image_at.
24790 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24791 additional memory in kernel_img for a struct grub_module_info.
24792 Fill in that grub_module_info.
24793 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24794
458786f8 247952005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24796
24797 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24798 New function.
24799 * include/grub/powerpc/ieee1275/ieee1275.h
24800 (grub_ieee1275_milliseconds): New prototype.
24801 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24802 Change to 1000.
24803 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24804 grub_ieee1275_milliseconds.
24805
ac507d1b 248062005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24807
24808 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24809 variable.
24810 (find_options): New function.
24811 (cmain): Call find_options.
24812 * include/grub/powerpc/ieee1275/ieee1275.h
24813 (grub_ieee1275_realmode): New extern variable.
24814 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24815 grub_map if grub_ieee1275_realmode is false.
24816
6b8fd1c4 248172004-12-29 Marco Gerards <metgerards@student.han.nl>
24818
24819 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24820 lines are inserted and make it work like readline. Reported by
24821 Vincent Pelletier <subdino2004@yahoo.fr>.
24822
8514a1e0 248232004-12-28 Marco Gerards <metgerards@student.han.nl>
24824
24825 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24826
24827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24828 `kern/powerpc/cache.S'.
24829
924b6140 248302004-12-27 Marco Gerards <metgerards@student.han.nl>
24831
24832 * genmk.rb: Handle the `Program' class in the main loop. Written
24833 by Johan Rydberg <jrydberg@gnu.org>.
24834 (Program): New class.
24835 (programs): New variable.
24836 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24837 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24838 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24839 (help_arch): Function removed.
24840 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24841 `powerpc/libgcc.h' and `loader.h'.
24842 (pkgdata_PROGRAMS): New variable.
24843 (sbin_UTILITIES): Variable removed.
24844 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24845 (grubof_SOURCES): Variable re-defined so it only includes the
24846 core functionality.
24847 (grubof_CFLAGS): Remove `-DGRUBOF'.
24848 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24849 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24850 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24851 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24852 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24853 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24854 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24855 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24856 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24857 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24858 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24859 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24860 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24861 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24862 (pc_mod_CFLAGS): New variables.
24863 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24864 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24865 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24866 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24867 Moved from here...
24868 * include/grub/i386/pc/init.h (grub_os_area_addr)
24869 (rub_os_area_size): ... to here.
24870 * include/grub/powerpc/ieee1275/ieee1275.h
24871 (grub_ieee1275_entry_fn): Export symbol.
24872 * include/grub/powerpc/ieee1275/init.h: New file.
24873 * include/grub/powerpc/libgcc.h: Likewise.
24874 * include/grub/cache.h: Likewise.
24875 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24876 <hollis@penguinppc.org>.
24877 * kern/dl.c: Include <grub/cache.h>.
24878 (grub_dl_flush_cache): New function.
24879 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24880 for this module.
24881 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24882 (grub_console_init): Removed prototypes.
24883 (grub_machine_init): Don't initialize the modules anymore.
24884 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24885 static.
24886 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24887 Macro undef removed.
24888 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24889 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24890 relocation `R_PPC_REL32'. Return an error when the relocation is
24891 unknown.
24892 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24893 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24894 * util/misc.c (grub_arch_sync_caches): Likewise.
24895
e4b47e0c 248962004-12-19 Marco Gerards <metgerards@student.han.nl>
24897
24898 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24899 `symlist.c', add `grubof_symlist.c'.
24900 (symlist.c): Variable removed.
24901 (grubof_HEADERS): Variable added.
24902 (grubof_symlist.c): New target.
24903 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24904 `kernel_img_HEADERS'.
24905 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24906 * kern/powerpc/dl.c: New file.
24907 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24908 Function removed.
24909 (grub_arch_dl_relocate_symbols): Likewise.
24910 (grub_register_exported_symbols): Likewise.
24911
4ceb3636 249122004-12-13 Marco Gerards <metgerards@student.han.nl>
24913
24914 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24915 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24916 to fail instead. Reported by Vincent Pelletier
24917 <subdino2004@yahoo.fr>.
24918
24919 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24920 it is not allocated. Reported by Vincent Pelletier
24921 <subdino2004@yahoo.fr>.
24922
24923 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24924 output so the output looks better.
f19dbdb7 24925
3f1578fe 249262004-12-04 Marco Gerards <metgerards@student.han.nl>
24927
24928 Modulize the partition map support and add support for the amiga
24929 partition map.
f19dbdb7 24930
3f1578fe 24931 * commands/ls.c: Include <grub/partition.h> instead of
24932 <grub/machine/partition.h>.
24933 * kern/disk.c: Likewise.
24934 * kern/rescue.c: Likewise.
24935 * loader/i386/pc/chainloader.c: Likewise.
24936 * normal/cmdline.c: Likewise.
24937 * kern/powerpc/ieee1275/init.c: Likewise.
24938 (grub_machine_init): Call `grub_pc_partition_map_init',
24939 `grub_amiga_partition_map_init' and
24940 `grub_apple_partition_map_init'.
24941 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24942 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24943 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24944 `partition.h' and `pc_partition.h'.
24945 (grub_setup_SOURCES): Remove
24946 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24947 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24948 (grub_emu_SOURCES): Likewise.
24949 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24950 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24951 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24953 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24954 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24955 (grubof_SOURCES): Likewise.
24956 * disk/i386/pc/partition.c: File removed.
24957 * disk/powerpc/ieee1275/partition.c: Likewise.
24958 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24959 * include/grub/i386/pc/partition.h: Likewise.
24960 * kern/partition.c: New file.
24961 * partmap/amiga.c: Likewise.
24962 * partmap/apple.c: Likewise.
24963 * partmap/pc.c: Likewise.
24964 * include/grub/partition.h: Likewise..
24965 * include/grub/pc_partition.h: Likewise.
24966 * util/grub-emu.c: Include <grub/partition.h> instead of
24967 <grub/machine/partition.h>.
24968 (main): Call `grub_pc_partition_map_init',
24969 `grub_amiga_partition_map_init' and
24970 `grub_apple_partition_map_init' and deinitialize afterwards.
24971 * util/i386/pc/biosdisk.c: Include `#include
24972 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24973 `<grub/machine/partition.h>'.
24974 * util/i386/pc/grub-setup.c: Likewise.
24975 * util/i386/pc/biosdisk.c: Likewise.
24976 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24977 partition information in case of a PC partition.
24978 * util/i386/pc/grub-setup.c: Include `#include
24979 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24980 `<grub/machine/partition.h>'.
24981 (setup): Only access the PC specific partition information in case
24982 of a PC partition.
24983
0ef4ced9 249842004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24985
0ef4ced9 24986 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24987 (grub_longjmp): Likewise.
24988 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24989 20.
24990 * normal/powerpc/setjmp.S: New file.
24991 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24992 `normal/powerpc/setjmp.S'.
24993 (grubof_CFLAGS): Add `-DGRUBOF'.
24994 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24995 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24996
19950e29 249972004-11-16 Marco Gerards <metgerards@student.han.nl>
24998
24999 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
25000 property named `name'. Correctly handle the error returned by
25001 `grub_ieee1275_finddevice' if a device can not be opened.
25002
a2fea427 250032004-11-02 Hollis Blanchard <hollis@penguinppc.org>
25004
25005 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
25006 `actual' for negativity.
25007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25008 kern/fshelp.c.
25009
41ea0ea3 250102004-11-01 Marco Gerards <metgerards@student.han.nl>
25011
25012 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
25013 (PAGE_OFFSET): New macro.
25014 (CRTC_ADDR_PORT): Likewise.
25015 (CRTC_DATA_PORT): Likewise.
25016 (START_ADDR_HIGH_REGISTER): Likewise.
25017 (START_ADDR_LOW_REGISTER): Likewise.
25018 (GRAPHICS_ADDR_PORT): Likewise.
25019 (GRAPHICS_DATA_PORT): Likewise.
25020 (READ_MAP_REGISTER): Likewise.
25021 (INPUT_STATUS1_REGISTER): Likewise.
25022 (INPUT_STATUS1_VERTR_BIT): Likewise.
25023 (page): New variable.
25024 (wait_vretrace): New function.
25025 (set_read_map): Likewise.
25026 (set_start_address): Likewise.
25027 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
25028 the right page.
25029 (check_vga_mem): Take the page into account.
25030 (write_char): Likewise.
25031 (write_cursor): Likewise.
25032 (scroll_up): Likewise. Copy the page to the page that is not
25033 shown and switch between both pages.
25034 (grub_vga_putchar): Fix off by one error.
25035 (grub_vga_cls): Wait for the vertical retrace. Take the page into
25036 account.
25037
ad0bd20b 250382004-11-01 Marco Gerards <metgerards@student.han.nl>
25039
25040 Add support for iso9660 (including rockridge).
f19dbdb7 25041
ad0bd20b 25042 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25043 (iso9660_mod_SOURCES): New variable.
25044 (iso9660_mod_CFLAGS): Likewise.
25045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25046 * include/grub/fs.h (grub_iso9660_init): New prototype.
25047 * util/grub-emu.c (main): Call `grub_iso9660_init'.
25048 * fs/iso9660.c: New file.
25049
25050 * include/grub/misc.h (grub_strncat): New prototype.
25051 * kern/misc.c (grub_strncat): New function.
f19dbdb7 25052
ad0bd20b 25053 * fs/hfs.c (grub_hfs_mount): Translate the error
25054 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
25055 * fs/jfs.c (grub_jfs_mount): Likewise.
25056 * fs/ufs.c (grub_ufs_mount): Likewise.
25057
a5477a59 250582004-10-28 Hollis Blanchard <hollis@penguinppc.org>
25059
25060 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
25061 which initialized BAT registers.
25062 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
25063 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25064 Move from here...
25065 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
25066 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25067 ... to here.
25068 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
25069 (grub_mapclaim): Likewise.
25070 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
25071 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
25072 hand.
25073
9304c1f8 250742004-10-19 Hollis Blanchard <hollis@penguinppc.org>
25075
25076 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
25077 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
25078 -ffreestanding and -msoft-float.
25079
86f4ae25 250802004-10-15 Hollis Blanchard <hollis@penguinppc.org>
25081
25082 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
25083 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
25084 set in grub_ieee1275_flags.
25085
38912228 250862004-10-14 Hollis Blanchard <hollis@penguinppc.org>
25087
25088 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
25089 prototype.
25090 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
25091 grub_console_init first.
25092 Change the memory range used for grub_ieee1275_claim and
25093 grub_mm_init_region.
25094 Print an error message if the claim fails.
25095 Include <grub/misc.h>.
25096
d1923dc8 250972004-10-13 Hollis Blanchard <hollis@penguinppc.org>
25098
25099 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
25100 Call grub_children_iterate for device nodes of type `scsi',
25101 `ide', or `ata'.
25102 (grub_ofdisk_open): Remove manual device alias resolution.
25103 Fix memory leak when device cannot be opened.
f19dbdb7 25104 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 25105 (grub_children_iterate): New prototype.
25106 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
25107 New function.
25108 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25109 Return -1 if args.size was -1.
25110
4512e4f3 251112004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25112
25113 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
25114 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
25115 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
25116 Open Firmware's memory for it; claim memory from _start to _end.
25117 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
25118 (_end): New extern.
25119 (_start): Zero BSS from __bss_start to _end.
25120 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25121 New extern.
25122 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
25123
4d61feb0 251242004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25125
ad0bd20b 25126 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
25127 -1 if args.base was -1.
4d61feb0 25128
026fa2f9 251292004-10-08 Hollis Blanchard <hollis@penguinppc.org>
25130
25131 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
25132 escape sequence instead of a literal ^L. Also call
25133 grub_ofconsole_gotoxy.
25134
9f2220ef 251352004-10-03 Hollis Blanchard <hollis@penguinppc.org>
25136
25137 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
25138 void * arguments to grub_addr_t. All callers updated. Also make
25139 the `result' argument optional.
25140 (grub_ieee1275_release): change void * arguments to grub_addr_t.
25141 All callers updated.
25142
8a572cd7 251432004-09-22 Hollis Blanchard <hollis@penguinppc.org>
25144
25145 * commands/ls.c (grub_ls_list_files): Use the string following the
25146 initial ')', if present, as the filesystem path.
25147 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
25148
25149 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
25150
18aa81f2 251512004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
25152
25153 Make the source code of the menu interface more readable.
f19dbdb7 25154
18aa81f2 25155 * normal/menu.c: Include grub/mm.h.
25156 (TERM_WIDTH): New macro.
25157 (TERM_HEIGHT): Likewise.
25158 (TERM_INFO_HEIGHT): Likewise.
25159 (TERM_MARGIN): Likewise.
25160 (TERM_SCROLL_WIDTH): Likewise.
25161 (TERM_TOP_BORDER_Y): Likewise.
25162 (TERM_LEFT_BORDER_X): Likewise.
25163 (TERM_BORDER_WIDTH): Likewise.
25164 (TERM_MESSAGE_HEIGHT): Likewise.
25165 (TERM_BORDER_HEIGHT): Likewise.
25166 (TERM_NUM_ENTRIES): Likewise.
25167 (TERM_FIRST_ENTRY_Y): Likewise.
25168 (TERM_ENTRY_WIDTH): Likewise.
25169 (TERM_CURSOR_X): Likewise.
25170 (draw_border): Use macros instead of magic numbers.
25171 (print_entry): Likewise.
25172 (print_entries): Likewise.
25173 (run_menu): Likewise. Also, handle the key 'e'.
25174 (run_menu_entry): Ignore empty command lines.
25175 (print_message): Added a new argument EDIT. If EDIT is true,
25176 print a different message.
25177 (init_page): Likewise.
25178 (edit_menu_entry): New function. Not implemented yet.
25179
b47efe30 251802004-09-17 Marco Gerards <metgerards@student.han.nl>
25181
25182 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
25183 can be loaded from normal mode.
f19dbdb7 25184
b47efe30 25185 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
25186 `multiboot.mod'.
25187 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
25188 (multiboot_mod_CFLAGS): New variables.
25189 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 25190 * loader/i386/pc/multiboot_normal.c: Likewise.
25191
b47efe30 25192 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
25193 attribute `unused'.
f19dbdb7 25194
b47efe30 25195 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
25196 `fdiro' to read the mode information from instead of `diro'.
25197
25198 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
25199 looking up a symlink.
25200
25201 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
25202 macro.
25203 * normal/command.c (grub_command_execute): Don't parse the
25204 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
25205 flags of the command.
25206
25207 * normal/menu.c (grub_menu_run): Fix typo.
25208
da75ac71 252092004-09-14 Hollis Blanchard <hollis@penguinppc.org>
25210
25211 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
25212
25213 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
25214 `y + 1' instead of `y - 1'.
25215
25216 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 25217
062b24c2 252182004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
25219
25220 From Hollis Blanchard <hollis@penguinppc.org>:
25221 * kern/misc.c (memmove): New alias for grub_memmove.
25222 (memcmp): New alias for grub_memcmp.
25223 (memset): New alias for grub_memset.
f19dbdb7 25224 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 25225 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 25226 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 25227 (grub_ieee1275_get_property): Likewise.
f19dbdb7 25228
8ddad845 252292004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
25230
25231 Added normal mode command `chainloader' as module chain.mod, which
25232 depends on normal.mod and _chain.mod.
f19dbdb7 25233
8ddad845 25234 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
25235 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
25236 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
25237 Deleted prototype.
25238 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
25239 but arguments parsing moved to ...
25240 (grub_chainloader_cmd): ... here. New function.
25241 * include/grub/i386/pc/chainloader.h: New file.
25242 * loader/i386/pc/chainloader_normal.c: Likewise.
25243
2c1f4ce3 252442004-09-11 Marco Gerards <metgerards@student.han.nl>
25245
25246 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
25247 (grub_mkimage_LDFLAGS): Likewise.
25248 (grub_emu_SOURCES): Likewise.
25249 (kernel_img_HEADERS): Added fshelp.h.
25250 * fs/ext2.c: Include <grub/fshelp.h>.
25251 (FILETYPE_REG): New macro.
25252 (FILETYPE_INO_REG): Likewise.
25253 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
25254 Changed all users.
25255 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
25256 all users.
25257 (grub_fshelp_node): New struct.
25258 (grub_ext2_data): Added member `diropen'. Changed member `inode'
25259 to a pointer.
25260 (grub_ext2_get_file_block): Removed function.
25261 (grub_ext2_read_block): New function.
25262 (grub_ext2_read_file): Replaced parameter `data' by `node'.
25263 This function was written.
25264 (grub_ext2_mount): Read the root inode. Create a diropen struct.
25265 (grub_ext2_find_file): Removed function.
25266 (grub_ext2_read_symlink): New function.
25267 (grub_ext2_iterate_dir): Likewise.
25268 (grub_ext2_open): Rewritten.
25269 (grub_ext2_dir): Rewritten.
25270 * include/grub/fshelp.h: New file.
25271 * fs/fshelp.c: Likewise.
25272
3c52136a 252732004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
25274
25275 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
25276 (print_message): Add a missing newline.
25277 (run_menu): Added timeout support.
25278 (run_menu_entry): New local function.
25279 (grub_menu_run): Added support for booting.
25280
25281 * kern/loader.c (grub_loader_is_loaded): New function.
25282
25283 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
25284 (grub_get_rtc): Exported.
25285
25286 * include/grub/i386/pc/time.h: Include grub/symbol.h.
25287 (grub_get_rtc): Exported.
25288
25289 * include/grub/normal.h (struct grub_command_list): Remove
25290 constant from the member `command'.
25291
25292 * include/grub/loader.h (grub_loader_is_loaded): Declared.
25293
25294 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
25295
25296 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
25297
aa033560 252982004-08-28 Marco Gerards <metgerards@student.han.nl>
25299
25300 Add support for the JFS filesystem.
25301
25302 * fs/jfs.c: New file.
25303 * include/grub/fs.h (grub_jfs_init): New prototype.
25304 (grub_jfs_fini): New prototype.
25305 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
25306 (grub_emu_SOURCES): Likewise.
25307 (pkgdata_MODULES): Add jfs.mod.
25308 (jfs_mod_SOURCES): New variable.
25309 (jfs_mod_CFLAGS): Likewise.
25310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
25311 (grubof_SOURCES): Likewise.
25312 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
25313
25314 * fs/fat.c (grub_fat_find_dir): Convert the filename little
25315 endian to the host endian.
25316 (grub_fat_utf16_to_utf8): Move function from there...
25317 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 25318 the endianness of the source string anymore.
aa033560 25319 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
25320
94bc45af 253212004-08-24 Marco Gerards <metgerards@student.han.nl>
25322
25323 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
25324 (grub_boot_fini) [GRUB_UTIL]: Likewise.
25325 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
25326 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 25327
94bc45af 25328 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
25329 (grub_hfs_iterate_dir): Make the function static. Add prototypes
25330 for `node_found' and `it_dir'.
25331 (grub_hfs_dir): Add prototype for `dir_hook'.
25332
25333 * fs/minix.c (grub_minix_get_file_block): Add prototype for
25334 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
25335 and `indir32' to silence a gcc warning.
25336
25337 * include/grub/fs.h (grub_hfs_init): New prototype.
25338 (grub_hfs_fini): Likewise.
f19dbdb7 25339
25340
97543f08 253412004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25342
25343 Each disk device has its own id now. This is useful to make use
25344 of multiple disk devices.
f19dbdb7 25345
97543f08 25346 * include/grub/disk.h (grub_disk_dev_id): New enum.
25347 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
25348 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
25349
25350 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
25351 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25352
25353 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
25354 GRUB_DISK_DEVICE_OFDISK_ID as an id.
25355
25356 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
25357 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25358
25359 * include/grub/disk.h (struct grub_disk_dev): Added a new member
25360 "id" which is used by the cache manager.
25361
25362 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
25363 of just "GRUB".
25364
64372eb4 253652004-08-18 Marco Gerards <metgerards@student.han.nl>
25366
25367 * fs/hfs.c: New file.
25368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
25369 (grub_emu_SOURCES): Likewise.
25370 (pkgdata_MODULES): Add hfs.mod.
25371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
25372 (grubof_SOURCES): Likewise.
25373 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
25374
25375 * include/grub/misc.h (grub_strncasecmp): Add prototype.
25376 * kern/misc.c (grub_strncasecmp): Add function.
25377
cc61b58f 253782004-08-14 Marco Gerards <metgerards@student.han.nl>
25379
25380 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
25381 with parentheses.
25382
25383 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
25384 (grub_ext2_dir): In case the directory entry type is unknown, read
25385 it from the inode.
25386
0ef123f6 253872004-08-02 Peter Bruin <pjbruin@dds.nl>
25388
25389 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
25390 grub_load_linux instead of grub_rescue_cmd_linux as second
25391 argument of grub_rescue_register_command.
25392
25393 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
25394
a447c5df 253952004-07-27 Marco Gerards <metgerards@student.han.nl>
25396
25397 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
25398 function.
25399 * commands/boot.c: Remove the check for `GRUB_UTIL'.
25400 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25401 `loader/powerpc/ieee1275/linux.c',
25402 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
25403 * include/grub/powerpc/ieee1275/ieee1275.h
25404 (grub_ieee1275_release): New prototype.
25405 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
25406 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
25407 normal, boot, linux and linux_normal.
25408 * loader/powerpc/ieee1275/linux.c: New file.
25409 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25410
5a9e3546 254112004-07-12 Marco Gerards <metgerards@student.han.nl>
25412
25413 * normal/arg.c (grub_arg_parse): Correct error handling after
25414 reallocating the argumentlist (check if `argl' is not null instead
25415 of checking if `args' is not null).
25416 * kern/mm.c (grub_realloc): Return the same pointer when using the
25417 same region, instead of returning the header address.
25418
e15199cb 254192004-07-11 Marco Gerards <metgerards@student.han.nl>
25420
25421 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
25422 one block instead of two when looking for the initial partition.
25423 (grub_partition_probe): Initialize the local variable `p' with 0.
25424 Use base 10 for the grub_strtoul call.
25425 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
25426 need for one local variable.
25427 (grub_strtoul): Don't add the new value to `num', instead of that
25428 just assign it.
25429
020616c2 254302004-07-11 Marco Gerards <metgerards@student.han.nl>
25431
25432 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
25433 (pxeboot_img_SOURCES): New variable.
25434 (pxeboot_img_ASFLAGS): Likewise.
25435 (pxeboot_img_LDFLAGS): Likewise.
25436 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
25437 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
25438 <lode_leroy@hotmail.com>.
25439
6c51eb64 254402004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25441
25442 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
25443 there was no input.
25444
cfb12aff 254452004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25446
25447 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
25448 the history buffer logic.
25449
6eabba74 254502004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25451
25452 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
25453 (FILETYPE_INO_SYMLINK): New macros.
25454 (grub_ext2_find_file): Check if the node is a directory using the
25455 inode stat information instead of using the filetype in the
25456 dirent. Exclude the first character of an absolute symlink.
25457 (grub_ext2_dir): Mask out the filetype part of the mode member of
25458 the inode.
25459
66e19ef8 254602004-05-24 Marco Gerards <metgerards@student.han.nl>
25461
25462 Add support for UFS version 1 and 2. Add support for the minix
25463 filesystem version 1 and 2, both the variants with 14 and 30 long
25464 filenames.
f19dbdb7 25465
66e19ef8 25466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
25467 fs/minix.c.
25468 (grub_emu_SOURCES): Likewise.
25469 (pkgdata_MODULES): Add ufs.mod and minix.mod.
25470 (ufs_mod_SOURCES): New variable.
25471 (ufs_mod_CFLAGS): Likewise.
25472 (minix_mod_SOURCES): Likewise.
25473 (minix_mod_CFLAGS): Likewise.
25474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
25475 fs/minix.c.
25476 (grubof_SOURCES): Likewise.
25477 * fs/ufs.c: New file.
25478 * fs/minix.c: New file.
25479 * include/grub/fs.h (grub_ufs_init): New prototype.
25480 (grub_ufs_fini): Likewise.
25481 (grub_minix_init): Likewise.
25482 (grub_minix_fini): Likewise.
25483 * util/grub-emu.c (main): Initialize and deinitialize UFS and
25484 minix fs.
25485
cc2e748a 254862004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
25487
25488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
25489 commands/ls.c, commands/terminal.c, commands/boot.c,
25490 commands/cmp.c and commands/cat.c.
25491 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
25492
25493 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
25494 "env.h"
25495
4b13b216 254962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25497
25498 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
25499 and grub_, respectively. Because the conversion is trivial and
25500 mechanical, I omit the details here. Please refer to the CVS
25501 if you need more information.
25502
6a142551 255032004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25504
25505 * include/pupa: Renamed to ...
25506 * include/grub: ... this.
25507 * util/i386/pc/pupa-mkimage.c: Renamed to ...
25508 * util/i386/pc/grub-mkimage.c: ... this.
25509 * util/i386/pc/pupa-setup.c: Renamed to ...
25510 * util/i386/pc/grub-setup.c: ... this.
25511 * util/pupa-emu.c: Renamed to ...
25512 * util/grub-emu.c: ... this.
25513
e56cdf21 255142004-03-29 Marco Gerards <metgerards@student.han.nl>
25515
25516 Add support for the newworld apple macintosh (PPC). This has been
25517 tested on the powerbook 2000 only. It only adds support for
25518 generic ieee1275 functions, console and disk support. This should
25519 be easy to port to other architectures with support for Open
25520 Firmware.
f19dbdb7 25521
e56cdf21 25522 * configure.ac: Accept the powerpc as host_cpu. In the case of
25523 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
25524 specific tests are only executed while building for the i386.
25525 Inverse test for crosscompile.
25526 * genmk.rb (Utility): Allow assembler files.
25527 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
25528 * conf/powerpc-ieee1275.rmk: New file.
25529 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
25530 * disk/powerpc/ieee1275/partition.c: Likewise.
25531 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
25532 * include/pupa/powerpc/ieee1275/console.h: Likewise.
25533 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
25534 * include/pupa/powerpc/ieee1275/time.h: Likewise.
25535 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
25536 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
25537 * include/pupa/powerpc/ieee1275/loader.h
25538 * include/pupa/powerpc/setjmp.h: Likewise.
25539 * include/pupa/powerpc/types.h: Likewise.
25540 * kern/powerpc/ieee1275/init.c: Likewise.
25541 * kern/powerpc/ieee1275/openfw.c: Likewise.
25542 * term/powerpc/ieee1275/ofconsole.c: Likewise.
25543
25544 These files were written by Johan Rydberg
25545 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 25546
e56cdf21 25547 * boot/powerpc/ieee1275/cmain.c: New file.
25548 * boot/powerpc/ieee1275/crt0.S: Likewise.
25549 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
25550 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
25551
8c8cc205 255522004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
25553
25554 * Makefile.in: Update copyright.
25555 * genmodsrc.sh: Likewise.
25556 * gensymlist.sh: Likewise.
25557 * term/i386/pc/vga.c: Indent correctly.
25558
25559 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
25560 bugreporting address.
25561 * util/i386/pc/pupa-setup.c (usage): Likewise,
25562 (main): Call pupa_ext2_init and pupa_ext2_fini.
25563
f19dbdb7 25564 * fs/fat.c (log2): Renamed to ...
8c8cc205 25565 (fat_log2): ... this.
25566 All callers changed.
25567 * kern/misc.c (memcpy): Alias to pupa_memmove.
25568 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
25569 lvalue cast.
25570 * util/console.c (pupa_ncurses_fini): Return 0.
25571
25572 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
25573 Move fail label here.
25574 [__GNU__]: Don't warn when using stat.
25575 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
25576 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
25577 long int. Use strtol instead of strtoul.
f19dbdb7 25578
db1771cf 255792004-03-14 Marco Gerards <metgerards@student.han.nl>
25580
25581 * commands/boot.c: New file.
25582 * commands/cat.c: Likewise.
25583 * commands/cmp.c: Likewise.
25584 * commands/ls.c: Likewise.
25585 * commands/terminal.c: Likewise.
25586 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
25587 (pupa_register_command): Changed interface to match the new
25588 argument parser.
25589 (pupa_command_execute): Changed (almost rewritten) so it uses
25590 pupa_split_command. Added support for setting variables using the
25591 syntax `foo=bar'.
25592 (rescue_command): Changed to work with the new argument parser.
25593 (terminal_command): Moved from here to commands/terminal.c.
25594 (set_command): New function.
25595 (unset_command): New function.
25596 (insmod_command): New function.
25597 (rmmod_command): New function.
25598 (lsmod_command): New function.
25599 (pupa_command_init): Don't initialize the command terminal
25600 anymore. Initialize the commands set, unset, insmod, rmmod and
25601 lsmod.
25602 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
25603 (kernel_img_HEADERS): Add arg.h and env.h.
25604 (pupa_mkimage_LDFLAGS): Add kern/env.c.
25605 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
25606 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
25607 normal/arg.c.
25608 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
25609 terminal.mod.
25610 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
25611 (boot_mod_SOURCES): New variable.
25612 (terminal_mod_SOURCES): Likewise.
25613 (ls_mod_SOURCES): Likewise.
25614 (cmp_mod_SOURCES): Likewise.
25615 (cat_mod_SOURCES): Likewise.
25616
25617 * normal/arg.c: New file.
25618 * kern/env.c: Likewise.
25619 * include/pupa/arg.h: Likewise.
25620 * include/pupa/env.h: Likewise.
25621 * font/manager.c (font_command): Changed to match argument parsing
25622 interface changes.
25623 (PUPA_MOD_INIT): Likewise.
25624 * hello/hello.c (pupa_cmd_hello): Likewise.
25625 (PUPA_MOD_INIT): Likewise.
25626 * include/pupa/disk.h: Include <pupa/device.h>.
25627 (pupa_print_partinfo): New prototype.
25628 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
25629 (pupa_dl_get_prefix): Likewise.
25630 * include/pupa/misc.h: Include <pupa/err.h>.
25631 (pupa_isgraph): New prototype.
25632 (pupa_isdigit): Likewise.
25633 (pupa_split_cmdline): Likewise.
25634 * include/pupa/normal.h: Include <pupa/arg.h>.
25635 (pupa_command): Changed the prototype of the member `func' to
25636 match the argument parsing interface. Added member `options'.
25637 (pupa_register_command): Updated to match function.
25638 (pupa_arg_parse): New prototype.
25639 (pupa_hello_init) [PUPA_UTIL]: New prototype.
25640 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
25641 (pupa_ls_init) [PUPA_UTIL]: Likewise.
25642 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
25643 (pupa_cat_init) [PUPA_UTIL]: Likewise.
25644 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
25645 (pupa_boot_init) [PUPA_UTIL]: Likewise.
25646 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
25647 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
25648 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
25649 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
25650 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
25651 * kern/disk.c: Include <pupa/file.h>.
25652 (pupa_print_partinfo): New function.
25653 * kern/dl.c: Include <pupa/env.h>.
25654 (pupa_dl_dir): Variable removed.
25655 (pupa_dl_load): Use the environment variable `prefix' instead of
25656 the variable pupa_dl_dir.
25657 (pupa_dl_set_prefix): Function removed.
25658 (pupa_dl_get_prefix): Likewise.
25659 * kern/i386/pc/init.c: Include <pupa/env.h>.
25660 (pupa_machine_init): Use the environment variable `prefix' instead of
25661 using pupa_dl_set_prefix to set the prefix.
25662 * kern/main.c: Include <pupa/env.h>.
25663 (pupa_set_root_dev): Use the environment variable `prefix' instead of
25664 using pupa_dl_get_prefix to get the prefix.
25665 * kern/misc.c: Include <pupa/env.h>.
25666 (pupa_isdigit): New function.
25667 (pupa_isgraph): Likewise.
25668 (pupa_ftoa): Likewise.
25669 (pupa_vsprintf): Added support for printing values of the type
25670 `double'. Make it possible to format variable output when using
25671 formatting like `%1.2%f'.
25672 (pupa_split_cmdline): New function.
25673 * kern/rescue.c: Include <pupa/env.h>.
25674 (next_word): Removed function.
25675 (pupa_rescue_cmd_prefix): Likewise.
25676 (pupa_rescue_cmd_set): New function.
25677 (pupa_rescue_cmd_unset): New function.
25678 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
25679 split the command line instead of splitting it here. Added
25680 support for setting variables using the syntax `foo=bar'. Don't
25681 initialize the prefix command anymore. Initialized the set and
25682 unset commands.
25683 * normal/cmdline.c: Include <pupa/env.h>.
25684 (pupa_tab_complete): Added prototypes for print_simple_completion,
25685 print_partition_completion, add_completion, iterate_commands,
25686 iterate_dev, iterate_part and iterate_dir. Moved code to print
25687 partition information from here to kern/disk.c.
fe6b695a 25688 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 25689 * normal/main.c: Include <pupa/env.h>.
25690 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
25691 instead of using pupa_dl_get_prefix to get the prefix.
25692 * term/i386/pc/vga.c: Include <pupa/arg.h>.
25693 (check_vga_mem): Cast pointers to `void *' to silence a gcc
25694 warning.
25695 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
25696 (pupa_vga_setcolor): Declare unused variables with `__attribute__
25697 ((unused))' to silence a gcc warning.
25698 (pupa_vga_setcolor): Likewise.
25699 (debug_command): Changed to match argument parsing
25700 interface changes.
25701 * util/pupa-emu.c: Include <pupa/env.h>.
25702 (options): Added 0's for unused fields to silence a gcc warning.
25703 (argp): Likewise.
25704 (main): Use the environment variable `prefix' instead of using
25705 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
25706 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
25707 and terminal.
25708
25709 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
25710 * util/misc.c: Include <malloc.h>.
25711 (pupa_malloc): Rewritten so errors are correctly reported.
25712 (pupa_realloc): Likewise.
25713 (pupa_memalign): Likewise.
25714 (pupa_mm_init_region): Declare unused variables with
25715 `__attribute__ ((unused))' to silence a gcc warning.
25716 * normal/i386/setjmp.S: Remove tab at the end of the file to
25717 silence a gcc warning.
25718 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
25719 variables with `__attribute__ ((unused))' to silence a gcc
25720 warning.
25721 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
25722 local variable i unsigned to silence a gcc warning.
25723
25724 * kern/term.c: Include <pupa/misc.h>.
25725 (pupa_more_lines): New variable.
25726 (pupa_more): Likewise.
25727 (pupa_putcode): When the pager is active pause at the end of every
25728 screen.
25729 (pupa_set_more): New function.
25730 * include/pupa/term.h (pupa_set_more): New prototype.
25731
25732
3b1139cb 257332004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
25734
25735 Now this project is GRUB 2 rather than PUPA. The location of
25736 the CVS repository was moved to GRUB's.
f19dbdb7 25737
3b1139cb 25738 * configure.ac: Use bug-grub as the reporting address.
25739 Use GRUB instead of PUPA.
25740 Change the version number to 1.90.
25741
8367695c 257422004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
25743
25744 * genkernsyms.sh: Updated copyright information.
25745 * genmk.rb: Likewise.
25746 * genmodsrc.sh: Likewise.
25747 * gensymlist.sh: Likewise.
25748 * boot/i386/pc/boot.S: Likewise.
25749 * boot/i386/pc/diskboot.S: Likewise.
25750 * disk/i386/pc/biosdisk.c: Likewise.
25751 * disk/i386/pc/partition.c: Likewise.
25752 * font/manager.c: Likewise.
25753 * fs/ext2.c: Likewise.
25754 * fs/fat.c: Likewise.
25755 * include/pupa/boot.h: Likewise.
25756 * include/pupa/device.h: Likewise.
25757 * include/pupa/disk.h: Likewise.
25758 * include/pupa/dl.h: Likewise.
25759 * include/pupa/elf.h: Likewise.
25760 * include/pupa/err.h: Likewise.
25761 * include/pupa/file.h: Likewise.
25762 * include/pupa/font.h: Likewise.
25763 * include/pupa/fs.h: Likewise.
25764 * include/pupa/kernel.h: Likewise.
25765 * include/pupa/loader.h: Likewise.
25766 * include/pupa/misc.h: Likewise.
25767 * include/pupa/mm.h: Likewise.
25768 * include/pupa/net.h: Likewise.
25769 * include/pupa/normal.h: Likewise.
25770 * include/pupa/rescue.h: Likewise.
25771 * include/pupa/setjmp.h: Likewise.
25772 * include/pupa/symbol.h: Likewise.
25773 * include/pupa/term.h: Likewise.
25774 * include/pupa/types.h: Likewise.
25775 * include/pupa/i386/setjmp.h: Likewise.
25776 * include/pupa/i386/types.h: Likewise.
25777 * include/pupa/i386/pc/biosdisk.h: Likewise.
25778 * include/pupa/i386/pc/boot.h: Likewise.
25779 * include/pupa/i386/pc/console.h: Likewise.
25780 * include/pupa/i386/pc/init.h: Likewise.
25781 * include/pupa/i386/pc/kernel.h: Likewise.
25782 * include/pupa/i386/pc/linux.h: Likewise.
25783 * include/pupa/i386/pc/loader.h: Likewise.
25784 * include/pupa/i386/pc/memory.h: Likewise.
25785 * include/pupa/i386/pc/multiboot.h: Likewise.
25786 * include/pupa/i386/pc/partition.h: Likewise.
25787 * include/pupa/i386/pc/time.h: Likewise.
25788 * include/pupa/i386/pc/vga.h: Likewise.
25789 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25790 * include/pupa/util/getroot.h: Likewise.
25791 * include/pupa/util/misc.h: Likewise.
25792 * include/pupa/util/resolve.h: Likewise.
25793 * kern/device.c: Likewise.
25794 * kern/disk.c: Likewise.
25795 * kern/dl.c: Likewise.
25796 * kern/err.c: Likewise.
25797 * kern/file.c: Likewise.
25798 * kern/fs.c: Likewise.
25799 * kern/loader.c: Likewise.
25800 * kern/main.c: Likewise.
25801 * kern/misc.c: Likewise.
25802 * kern/mm.c: Likewise.
25803 * kern/rescue.c: Likewise.
25804 * kern/term.c: Likewise.
25805 * kern/i386/dl.c: Likewise.
25806 * kern/i386/pc/init.c: Likewise.
25807 * kern/i386/pc/lzo1x.S: Likewise.
25808 * kern/i386/pc/startup.S: Likewise.
25809 * loader/i386/pc/chainloader.c: Likewise.
25810 * loader/i386/pc/linux.c: Likewise.
25811 * loader/i386/pc/multiboot.c: Likewise.
25812 * normal/cmdline.c: Likewise.
25813 * normal/command.c: Likewise.
25814 * normal/main.c: Likewise.
25815 * normal/menu.c: Likewise.
25816 * normal/i386/setjmp.S: Likewise.
25817 * term/i386/pc/console.c: Likewise.
25818 * term/i386/pc/vga.c: Likewise.
25819 * util/console.c: Likewise.
25820 * util/genmoddep.c: Likewise.
25821 * util/misc.c: Likewise.
25822 * util/pupa-emu.c: Likewise.
25823 * util/resolve.c: Likewise.
25824 * util/unifont2pff.rb: Likewise.
25825 * util/i386/pc/biosdisk.c: Likewise.
25826 * util/i386/pc/getroot.c: Likewise.
25827 * util/i386/pc/pupa-mkimage.c: Likewise.
25828 * util/i386/pc/pupa-setup.c: Likewise.
25829
e6eced71 258302004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25831
25832 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25833 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25834 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25835 reading and reset it after reading.
25836 (pupa_ext2_close): Return PUPA_ERR_NONE.
25837
25838 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25839 Correct value.
25840 (struct linux_kernel_header): Add kernel_version and
25841 initrd_addr_max.
25842 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25843 pupa_file_read succeeds.
25844 (pupa_rescue_cmd_initrd): Implement.
25845
5aded270 258462003-12-03 Marco Gerards <metgerards@student.han.nl>
25847
25848 * fs/ext2.c (pupa_ext2_label): New function.
25849 (pupa_ext2_fs): Added label.
25850 * fs/fat.c (pupa_fat_label): New function.
25851 (pupa_fat_fs): Added label.
25852 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25853
25854 * kern/misc.c (pupa_strndup): New function.
25855 * include/pupa/misc.h (pupa_strndup): New prototype.
25856
25857 * include/pupa/normal.h: Include <pupa/err.h>.
25858 (pupa_set_history): New prototype.
25859 (pupa_iterate_commands): New prototype.
25860 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25861 <pupa/disk.h>, <pupa/file.h>.
25862 (hist_size): New variable.
25863 (hist_lines): Likewise.
25864 (hist_end): Likewise.
25865 (hist_used): Likewise.
25866 (pupa_set_history): New function.
25867 (pupa_history_get): Likewise.
25868 (pupa_history_add): Likewise.
25869 (pupa_history_replace): Likewise.
25870 (pupa_tab_complete): Likewise.
25871 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25872 completion shows partitionnames while completing partitions, this
25873 feature was suggested by Jeff Bailey.
25874 * normal/command.c (pupa_iterate_commands): New function.
25875 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25876 (pupa_normal_init): Initialize history buffer.
25877 (PUPA_MOD_INIT): Likewise.
25878 (pupa_normal_fini): Free the history buffer.
25879 (PUPA_MOD_FINI): Likewise.
25880
25881 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25882 key.
25883
25884 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25885 * configure.ac [i386]: Check for regparam bug.
25886 (NESTED_FUNC_ATTR) [! i386]: Defined.
25887
1f7315a3 258882003-11-17 Marco Gerards <metgerards@student.han.nl>
25889
25890 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25891 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25892 (pupa_emu_SOURCES): New variable.
25893 (pupa_emu_LDFLAGS): Likewise.
25894 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25895 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25896 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25897 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25898 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25899 (pupa_jmp_buf): New typedef.
25900 (pupa_setjmp) [PUPA_UTIL]: New macro.
25901 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25902 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25903 (pupa_refresh): New prototype.
25904 * include/pupa/util/getroot.h: New file.
25905 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25906 it.
25907 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25908 (pupa_rescue_cmd_cat): Likewise.
25909 (pupa_rescue_cmd_ls): Likewise.
25910 (pupa_rescue_cmd_testload): Likewise.
25911 (pupa_rescue_cmd_lsmod): Likewise.
25912 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25913 * normal/menu.c (run_menu): Likewise.
25914 * kern/term.c (pupa_cls): Likewise.
25915 (pupa_refresh): New function.
25916 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25917 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25918 * util/console.c: New file.
f19dbdb7 25919
1f7315a3 25920 * util/i386/pc/getroot.c: New file.
25921 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25922 (pupa_putchar): New function.
25923 (pupa_refresh): Likewise.
25924 (xgetcwd): Function moved to ...
25925 (strip_extra_slashes): Likewise.
25926 (get_prefix): Likewise.
f19dbdb7 25927 * util/i386/pc/getroot.c: ... here.
1f7315a3 25928 (find_root_device): Function moved and renamed to...
25929 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25930 Changed all callers.
25931 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25932 and renamed to...
25933 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25934 Changed all callers.
25935 * util/misc.c (pupa_memalign): New function.
25936 (pupa_mm_init_region): Likewise.
25937 (pupa_register_exported_symbols): Likewise.
25938 (pupa_putchar): Function removed.
25939 * util/pupa-emu.c: New file.
25940
9a5c1ade 259412003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25942
25943 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25944 (_multiboot_mod_SOURCES): New variable.
25945 (_multiboot_mod_CFLAGS): Likewise.
25946 * loader/i386/pc/multiboot.c: New file.
25947 * include/pupa/i386/pc/multiboot.h: Likewise.
25948 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25949 (pupa_multiboot_real_boot): New function.
25950 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25951 (pupa_multiboot_real_boot): New prototype.
25952 (pupa_rescue_cmd_multiboot): Likewise
25953 (pupa_rescue_cmd_module): Likewise.
25954
25955 * kern/loader.c (pupa_loader_set): Continue when
25956 pupa_loader_unload_func() fails.
25957 (pupa_loader_unset): New function.
25958 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25959
25960 * kern/misc.c (pupa_stpcpy): New function.
25961 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25962
8e72a9c0 259632003-11-12 Marco Gerards <metgerards@student.han.nl>
25964
25965 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25966 for available extensions.
25967
25968 * include/pupa/i386/pc/time.h: New file.
25969 * kern/disk.c: Include <pupa/machine/time.h>.
25970 (PUPA_CACHE_TIMEOUT): New macro.
25971 (pupa_last_time): New variable.
25972 (pupa_disk_open): Flush the cache when there was a timeout.
25973 (pupa_disk_close): Reset the timer.
25974 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25975 pupa_currticks.
25976 * util/misc.c: Include <sys/times.h>
25977 (pupa_get_rtc): New function.
25978
c4adbd32 259792003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25980
25981 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25982 as blocks.
25983 (pupa_ext2_get_file_block): Use blocks member.
25984
25985 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25986 first block. Return -1 instead of pupa_errno on error.
25987
bfd30f06 259882003-10-27 Marco Gerards <metgerards@student.han.nl>
25989
25990 * README: In the pupa-mkimage example use _chain instead of chain
25991 and ext2 instead of fat.
25992 * TODO: Replace ext2fs with jfs as an example. Add an item for
25993 adding journal playback for ext2fs.
25994 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25995 (pkgdata_MODULES): Added ext2.mod.
25996 (ext2_mod_SOURCES): New variable.
25997 (ext2_mod_CFLAGS): Likewise.
25998 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25999 * include/pupa/misc.h (pupa_strncpy): New prototype.
26000 (pupa_strcat): Likewise.
26001 (pupa_strncmp): Likewise.
26002 * kern/misc.c (pupa_strcat): Enable function.
26003 (pupa_strncpy): New function.
26004 (pupa_strncmp): Likewise.
26005 * fs/ext2.c: New file.
f19dbdb7 26006
bfd30f06 26007 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
26008 when the read failed before retrying.
26009 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
26010 (_FILE_OFFSET_BITS): Likewise.
26011 * configure.ac: Added AC_SYS_LARGEFILE.
26012
98d15063 260132003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26014
26015 * genmk.rb (PModule#rule): Make sure to get only symbol names
26016 from the output of nm.
59cad637 26017 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 26018
18d9c7cd 260192003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26020
26021 I forgot to check in these changes for a long time. This adds
26022 incomplete support for VGA console, and this is still very
26023 buggy. Also, a lot of consideration is required for I18N,
26024 UNICODE, and VGA font issues. Therefore, assume that this is
26025 such that "better than nothing".
f19dbdb7 26026
18d9c7cd 26027 * font/manager.c: New file.
26028 * include/pupa/font.h: Likewise.
26029 * include/pupa/i386/pc/vga.h: Likewise.
26030 * term/i386/pc/vga.c: Likewise.
26031 * util/unifont2pff.rb: Likewise.
26032
26033 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
26034 (pkgdata_MODULES): Added vga.mod and font.mod.
26035 (vga_mod_SOURCES): New variables.
26036 (vga_mod_CFLAGS): Likewise.
26037 (font_mod_SOURCES): Likewise.
26038 (font_mod_CFLAGS): Likewise.
26039
26040 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
26041
26042 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 26043 (struct pupa_term): Added init and fini.
18d9c7cd 26044 Changed the argument of putchar to pupa_uint32_t.
26045
26046 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
26047 (pupa_console_real_putchar): New prototype.
26048 (pupa_console_putchar): Removed.
26049 (pupa_console_checkkey): Exported.
26050 (pupa_console_getkey): Likewise.
26051
26052 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
26053 characters.
26054
26055 * kern/term.c (pupa_term_set_current): Rewritten.
26056 (pupa_putchar): Likewise.
26057 (pupa_putcode): New function.
26058
26059 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
26060 (pupa_console_real_putchar): ... this.
26061 (pupa_vga_set_mode): New function.
26062 (pupa_vga_get_font): Likewise.
26063
26064 * normal/command.c: Include pupa/term.h.
26065 (terminal_command): New function.
26066 (pupa_command_init): Register the command "terminal".
26067
26068 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
26069 (DISP_UP): Likewise.
26070 (DISP_RIGHT): Likewise.
26071 (DISP_DOWN): Likewise.
26072 (DISP_HLINE): Likewise.
26073 (DISP_VLINE): Likewise.
26074 (DISP_UL): Likewise.
26075 (DISP_UR): Likewise.
26076 (DISP_LL): Likewise.
26077 (DISP_LR): Likewise.
26078
26079 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 26080
977329f5 260812003-02-08 NIIBE Yutaka <gniibe@m17n.org>
26082
26083 * util/resolve.c (pupa_util_resolve_dependencies): BUG
26084 FIX. Reverse the path_list.
26085
26086 * include/pupa/normal.h: Export pupa_register_command and
26087 pupa_unregister_command.
26088
26089 * hello/hello.c (pupa_cmd_hello): New module.
26090 * conf/i386-pc.rmk: Added hello.mod.
26091
1f5ab428 260922003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
26093
26094 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 26095
1f5ab428 26096 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
26097 (compress_kernel): New variable.
26098 (generate_image): Heavily modified to support compressing a
26099 large part of the core image.
26100
26101 * util/misc.c (pupa_util_read_image): Fix a file descriptor
26102 leak.
26103 (pupa_util_load_image): New function.
26104
26105 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
26106 (pupa_compressed_size): New variable.
26107 (codestart): Enable Gate A20 here.
26108 Decompress the compressed part of the core image.
26109 Rearrange the code to put functions and variables which are
26110 required for initialization in the non-compressed part.
26111 Include lzo1x.S.
26112
26113 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
26114 here.
26115
26116 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
26117
f19dbdb7 26118 * include/pupa/i386/pc/kernel.h
1f5ab428 26119 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
26120 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
26121 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26122 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26123 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
26124
26125 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
26126
26127 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
26128 (Utility#rule): Likewise.
26129
26130 * configure.ac: Check if LZO is available.
26131
ce5bf700 261322003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
26133
26134 * include/pupa/normal.h: New file.
26135 * include/pupa/setjmp.h: Likewise.
26136 * include/pupa/i386/setjmp.h: Likewise.
26137 * normal/cmdline.c: Likewise.
26138 * normal/command.c: Likewise.
26139 * normal/main.c: Likewise.
26140 * normal/menu.c: Likewise.
26141 * normal/i386/setjmp.S: Likewise.
f19dbdb7 26142
ce5bf700 26143 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
26144 (pupa_rescue_cmd_initrd): Likewise.
26145
26146 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
26147 Likewise.
26148
26149 * kern/i386/pc/startup.S (translation_table): New variable.
26150 (translate_keycode): New function.
26151 (pupa_console_getkey): Call translate_keycode.
26152
26153 * kern/rescue.c (attempt_normal_mode): New function.
26154 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
26155 it failed, print a message.
26156
26157 * kern/mm.c (pupa_real_malloc): Print more information when a
26158 free magic is broken.
26159 (pupa_free): If the first free header is not free actually, set
26160 it to P.
26161
26162 * kern/main.c (pupa_load_normal_mode): Just load the module
26163 "normal".
26164 (pupa_main): Don't print the message
26165 "Entering into rescue mode..." here.
26166
26167 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
26168 Declared.
26169 (pupa_rescue_cmd_initrd): Likewise.
26170 (pupa_rescue_cmd_initrd): Likewise.
26171
26172 * include/pupa/symbol.h (FUNCTION): Specify the type.
26173 (VARIABLE): Likewise.
26174
26175 * include/pupa/err.h (pupa_err_t): Added
26176 PUPA_ERR_UNKNOWN_COMMAND.
26177
26178 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
26179 (pupa_dl_get_prefix): Likewise.
26180
26181 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
26182 Added _chain.mod and _linux.mod instead of chain.mod and
26183 linux.mod.
26184 (chain_mod_SOURCES): Renamed to ...
26185 (_chain_mod_SOURCES): ... this.
26186 (chain_mod_CFLAGS): Renamed to ...
26187 (_chain_mod_CFLAGS): ... this.
26188 (linux_mod_SOURCES): Renamed to ...
26189 (_linux_mod_SOURCES): ... this.
26190 (linux_mod_CFLAGS): Renamed to ...
26191 (_linux_mod_CFLAGS): ... this.
26192 (normal_mod_SOURCES): New variable.
26193 (normal_mod_CFLAGS): Likewise.
26194 (normal_mod_ASFLAGS): Likewise.
26195
261962003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
26197
26198 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
26199 possible.
26200
fe6b695a 26201 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 26202 recursively.
26203 (pupa_dl_unref): Unrefer depending modules recursively.
26204 Don't call pupa_dl_unload implicitly, because PUPA can crash if
26205 a module is unloaded before one depending on that module is
26206 unloaded.
26207 (pupa_dl_unload): Unload depending modules explicitly,
26208 if possible.
26209
c04da074 262102003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
26211
26212 * include/pupa/i386/pc/linux.h: New file.
26213 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 26214
c04da074 26215 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
26216 Removed.
26217 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
26218 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
26219 of PUPA_CHAINLOADER_BOOT_SECTOR.
26220
26221 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
26222 (pupa_linux_prot_size): New variable.
26223 (pupa_linux_tmp_addr): Likewise.
26224 (pupa_linux_real_addr): Likewise.
26225 (pupa_linux_boot_zimage): New function.
26226 (pupa_linux_boot_bzimage): Likewise.
26227
26228 * kern/i386/pc/init.c (struct mem_region): New structure.
26229 (MAX_REGIONS): New macro.
26230 (mem_regions): New variable.
26231 (num_regions): Likewise.
26232 (pupa_os_area_addr): Likewise.
26233 (pupa_os_area_size): Likewise.
26234 (pupa_lower_mem): Likewise.
26235 (pupa_upper_mem): Likewise.
26236 (add_mem_region): New function.
26237 (compact_mem_regions): Likewise.
26238 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
26239 the size of the conventional memory and that of so-called upper
26240 memory (before the first memory hole).
26241 Instead of adding each found region to free memory, use
26242 add_mem_region and add them after removing overlaps.
26243 Also, add only 1/4 of the upper memory to free memory. The rest
26244 is used for loading OS images. Maybe this is ad hoc, but this
26245 makes it much easier to relocate OS images when booting.
26246
26247 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
26248 (pupa_enter_rescue_mode): Don't register initrd and module.
26249
26250 * kern/mm.c: Include pupa/dl.h.
26251
26252 * kern/main.c: Include pupa/file.h and pupa/device.h.
26253
26254 * kern/loader.c (pupa_loader_load_module_func): Removed.
26255 (pupa_loader_load_module): Likewise.
26256
26257 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
26258 ``.o''.
26259
26260 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
26261 (pupa_linux_tmp_addr): Likewise.
26262 (pupa_linux_real_addr): Likewise.
26263 (pupa_linux_boot_zimage): Likewise.
26264 (pupa_linux_boot_bzimage): Likewise.
26265
26266 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
26267 (pupa_upper_mem): Likewise.
26268 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
26269 module is too dangerous.
26270
26271 * include/pupa/loader.h (pupa_os_area_addr): Declared.
26272 (pupa_os_area_size): Likewise.
26273 (pupa_loader_set): Remove the first argument. Loader doesn't
26274 manage modules or initrd any longer.
26275 (pupa_loader_load_module): Removed.
26276
26277 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
26278 (linux_mod_SOURCES): New variable.
26279 (linux_mod_CFLAGS): Likewise.
26280
a13f9237 262812003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
26282
26283 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
26284 the length of a blocklist correctly.
26285
26286 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
26287 Use ioctl only if the OS file is a block device.
26288 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
26289 not very useful for normal files.
26290
26291 * kern/main.c (pupa_set_root_dev): New function.
26292 (pupa_load_normal_mode): Likewise.
26293 (pupa_main): Call those above.
26294
26295 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
26296 pupa_uint16_t.
26297
26298 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
26299
a5ffe966 263002003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26301
26302 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
26303 (setup): Configure the installed partition information and the
26304 dl prefix.
26305
26306 * loader/i386/pc/chainloader.c (my_mod): New variable.
26307 (pupa_chainloader_unload): New function.
26308 (pupa_rescue_cmd_chainloader): Refer itself.
26309 (PUPA_MOD_INIT): Save its own module in MY_MOD.
26310
26311 * kern/i386/pc/startup.S (install_partition): Removed.
26312 (version_string): Likewise.
26313 (config_file): Likewise.
26314 (pupa_install_dos_part): New variable.
26315 (pupa_install_bsd_part): Likewise.
26316 (pupa_prefix): Likewise.
26317 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
26318
26319 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
26320 and pupa/misc.h.
26321 (make_install_device): New function.
26322 (pupa_machine_init): Set the dl prefix.
26323
26324 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
26325 (buf): Renamed to ...
26326 (linebuf): ... this.
26327 (pupa_rescue_cmd_prefix): New function.
26328 (pupa_rescue_cmd_insmod): Likewise.
26329 (pupa_rescue_cmd_rmmod): Likewise.
26330 (pupa_rescue_cmd_lsmod): Likewise.
26331 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
26332 rmmod and lsmod.
26333
26334 * kern/mm.c (pupa_memalign): If failed even after invalidating
26335 disk caches, unload unneeded modules and retry.
26336
26337 * kern/misc.c (pupa_memmove): New function.
26338 (pupa_memcpy): Removed.
26339 (pupa_strcpy): New function.
26340 (pupa_itoa): Made static.
26341
26342 * kern/dl.c (pupa_dl_iterate): New function.
26343 (pupa_dl_ref): Likewise.
26344 (pupa_dl_unref): Likewise.
26345 (pupa_dl_unload): Return if succeeded or not.
26346 (pupa_dl_unload_unneeded): New function.
26347 (pupa_dl_unload_all): Likewise.
26348 (pupa_dl_init): Renamed to ...
26349 (pupa_dl_set_prefix): ... this.
26350 (pupa_dl_get_prefix): New function.
26351
26352 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
26353 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
26354 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26355 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26356 (pupa_install_dos_part): Declared.
26357 (pupa_install_bsd_part): Likewise.
26358 (pupa_prefix): Likewise.
26359 (pupa_boot_drive): Likewise.
26360
26361 * include/pupa/types.h: Fix a typo.
26362
26363 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
26364 pupa_memmove.
26365 (pupa_memmove): Declared.
26366 (pupa_strcpy): Likewise.
26367
26368 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
26369 pupa_mod_init takes one argument, its own module.
26370 (pupa_dl_unload_unneeded): Declared.
26371 (pupa_dl_unload_all): Likewise.
26372 (pupa_dl_ref): Likewise.
26373 (pupa_dl_unref): Likewise.
26374 (pupa_dl_iterate): Likewise.
26375 (pupa_dl_init): Renamed to ...
26376 (pupa_dl_set_prefix): ... this.
26377 (pupa_dl_get_prefix): Declared.
26378
26379 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 26380 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 26381 unloaded.
26382 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
26383 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
26384
26385 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
26386 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
26387
012d7999 263882003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26389
26390 * util/i386/pc/pupa-setup.c (setup): Define the internal
26391 function find_first_partition_start at the top level, because GCC
26392 3.0.x cannot compile internal functions in deeper scopes
26393 correctly.
26394 (find_root_device): Use lstat instead of stat.
26395 Don't follow symbolic links.
26396 Fix the path-constructing code.
26397
26398 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
26399 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
26400 by a BLKGETSIZE ioctl first, because block devices don't fill
26401 the member st_mode of the structure stat on Linux.
26402 [__linux__] (linux_find_partition): Use a temporary buffer
26403 REAL_DEV for the working space. Copy it to DEV before returning.
26404 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
26405 buffer cache consistent.
26406 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
26407 strncmp. The previous value was merely wrong.
26408 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
26409
26410 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
26411 FAT size is 12. The previous value was merely wrong.
26412
26413 * kern/main.c (pupa_main): Don't split the starting message from
26414 newlines.
26415
26416 * kern/term.c (pupa_putchar): Put CR after LF instead of before
26417 LF, because BIOS goes crazy about character attributes in this
26418 case.
26419
1cc73a62 264202003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26421
26422 * include/i386/pc/util/biosdisk.h: New file.
26423 * util/i386/pc/biosdisk.c: Likewise.
26424 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 26425
1cc73a62 26426 * Makefile.in (INCLUDE_DISTFILES): Added
26427 include/pupa/i386/pc/util/biosdisk.h.
26428 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
26429 directory util/i386/pc.
26430 (install-local): Added a rule for sbin_UTILITIES.
26431 (uninstall): Likewise.
26432
26433 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
26434
26435 * util/misc.c (xrealloc): New function.
26436 (pupa_malloc): Likewise.
26437 (pupa_free): Likewise.
26438 (pupa_realloc): Likewise.
26439 (pupa_stop): Likewise.
26440 (pupa_putchar): Likewise.
26441
26442 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
26443
26444 * include/pupa/util/misc.h (xrealloc): Declared.
26445
26446 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
26447 macro.
26448 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
26449 (PUPA_BOOT_MACHINE_BPB_END): ... this.
26450
26451 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
26452 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26453
26454 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
26455 way should be implemented.
26456 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26457
26458 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
26459 the size of NAME for safety.
26460 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
26461 0x88.
26462
26463 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
26464 (pupa_setup_SOURCES): Likewise.
26465
26466 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
26467
08b70fe8 264682002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26469
26470 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
26471 bunch of pushl's from pusha, because this destroys the return
26472 value.
26473
62ddcc8f 264742002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26475
26476 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
26477 This means that any missing prototypes could be fatal. Also, you
26478 must take care when writing assembly code. See the comments at
26479 the beginning of startup.S, for more details.
f19dbdb7 26480
62ddcc8f 26481 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
26482 compilation mechanism.
26483 (pupa_chainloader_real_boot): Likewise.
26484 (pupa_biosdisk_rw_int13_extensions): Likewise.
26485 (pupa_biosdisk_rw_standard): Likewise.
26486 (pupa_biosdisk_check_int13_extensions): Likewise.
26487 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
26488 (pupa_biosdisk_get_diskinfo_standard): Likewise.
26489 (pupa_get_memsize): Likewise.
26490 (pupa_get_mmap_entry): Likewise.
26491 (pupa_console_putchar): Likewise.
26492 (pupa_console_setcursor): Likewise.
26493 (pupa_getrtsecs): Use pushl instead of push.
26494
26495 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
26496 memory instead of the stack for a mmap entry, because some
26497 BIOSes may ignore the maximum size and overflow.
26498
26499 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
26500
26501 * genmk.rb (PModule#rule): Compile automatically generated
26502 sources with module-specific CFLAGS as well as other sources.
26503
9962ed99 265042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26505
26506 * configure.ac: Check ld.
26507 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
26508 respectively, before checking endianness and sizes.
26509
26510 * Makefile.in (LD): New variable.
f19dbdb7 26511
abdfc3c5 265122002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26513
26514 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
26515
6a161fa9 265162002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26517
26518 * Changelog: New file.
26519