]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
[grub2.git] / ChangeLog
CommitLineData
92ab12b0
RM
12010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2
3 * util/misc.c (canonicalize_file_name): New function.
4 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5 instead of realpath().
6
a788afb6
CW
72010-01-11 Colin Watson <cjwatson@ubuntu.com>
8
9 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10 and make it clearer that it's optional. Based on confusion
11 witnessed on IRC.
12
ffa8e3d2
VS
132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16 in premature implicit newline.
17
e9060a9d
VS
182010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21 which resulted in garbled command line at the end of screen.
22
f0d0c0b7
RM
232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24
25 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26 initialization with similar approach as with other Linux loaders.
27
0e60bae7
RM
282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29
30 Fix i386-ieee1275 build.
31
32 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
33 and grub_term_height() for video_{width,height} initialization.
34
352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
36
37 Fix grub-emu build.
38
39 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
40
cdb3f378
RM
412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
43
44 Support for multiple terminals.
45
46 * Makefile.in (pkglib_DATA): terminal.lst.
47 (terminal.lst): New target.
48 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
49 (GRUB_MOD_INIT(handler)): Likewise.
50 (GRUB_MOD_FINI(handler)): Likewise.
51 * commands/help.c (grub_cmd_help): Handle multiple terminals.
52 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
53 * commands/sleep.c (do_print): Use grub_term_restore_pos.
54 (grub_cmd_sleep): Use grub_term_save_pos.
55 * commands/terminal.c: New file.
56 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
57 commands/terminal.c and lib/charset.c.
58 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
59 (pkglib_MODULES): Add terminal.mod.
60 (terminal_mod_SOURCES): New variable.
61 (terminal_mod_CFLAGS): Likewise.
62 (terminal_mod_LDFLAGS): Likewise.
63 * genhandlerlist.sh: Don't handle terminals.
64 * genmk.rb: Generate terminal-*.lst.
65 * genterminallist.sh: New file.
66 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
67 (grub_is_valid_utf8): Likewise.
68 (grub_utf8_to_ucs4_alloc): Likewise.
69 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
70 (grub_menu_register_viewer): Changed argument.
71 (grub_menu_try_text): New proto.
72 (grub_gfxmenu_try_hook): New declaration.
73 * include/grub/normal.h (grub_normal_exit_level): New declaration.
74 (grub_menu_init_page): Additional argument term.
75 (grub_normal_init_page): Likewise.
76 (grub_cmdline_get): Arguments simplified.
77 (grub_utf8_to_ucs4_alloc): Removed.
78 (grub_print_ucs4): Additional argument term.
79 (grub_getstringwidth): Likewise.
80 (grub_print_message_indented): Likewise.
81 (grub_menu_text_register_instances): New proto.
82 (grub_show_menu): Likewise.
83 (read_terminal_list): Likewise.
84 (grub_set_more): Likewise.
85 * include/grub/parser.h: Include handler.h.
86 * include/grub/reader.h: Rewritten.
87 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
88 (GRUB_TERM_WIDTH): Changed to function.
89 (GRUB_TERM_HEIGHT): Likewise.
90 (GRUB_TERM_BORDER_WIDTH): Likewise.
91 (GRUB_TERM_BORDER_HEIGHT): Likewise.
92 (GRUB_TERM_NUM_ENTRIES): Likewise.
93 (GRUB_TERM_ENTRY_WIDTH): Likewise.
94 (GRUB_TERM_CURSOR_X): Likewise.
95 (grub_term_input_class): Likewise.
96 (grub_term_output_class): Likewise.
97 (grub_term_outputs_disabled): New declaration.
98 (grub_term_inputs_disabled): Likewise.
99 (grub_term_outputs): Likewise.
100 (grub_term_inputs): Likewise.
101 (grub_term_register_input): Rewritten.
102 (grub_term_register_output): Likewise.
103 (grub_term_unregister_input): Likewise.
104 (grub_term_unregister_output): Likewise.
105 (FOR_ACTIVE_TERM_INPUTS): New macro.
106 (FOR_DISABLED_TERM_INPUTS): Likewise.
107 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
108 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
109 * include/grub/terminfo.h: Add oterm argument to all protypes.
110 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
111 Use grub_rescue_run.
112 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
113 All users updated.
114 * kern/reader.c: Removed. All users updated.
115 * kern/rescue_reader.c (grub_rescue_init): Removed.
116 (grub_rescue_reader): Likewise.
117 (grub_register_rescue_reader): Likewise.
118 (grub_rescue_run): New function based on kern/reader.c.
119 * kern/term.c: Adapted for multiterm.
120 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
121 (grub_is_valid_utf8): Likewise.
122 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
123 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
124 right terminal.
125 * loader/i386/linux.c (grub_linux_boot): Likewise.
126 * normal/auth.c (grub_username_get): New function.
127 (grub_auth_check_authentication): Use grub_username_get.
128 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
129 * normal/color.c: Adapt for multiterm.
130 * normal/main.c (read_config_file): Don't use grub_reader_loop.
131 (grub_normal_init_page): Additional argument term.
132 (read_lists): Call read_terminal_lists.
133 (grub_enter_normal_mode): Call grub_cmdline_run.
134 Handle grub_normal_exit_level.
135 (grub_cmd_normal): Make reentrant.
136 (grub_cmd_normal_exit): New function.
137 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
138 * normal/menu.c: Adapt for multiterm.
139 * normal/menu_entry.c: Likewise.
140 * normal/menu_text.c: Likewise.
141 * normal/menu_viewer.c: Removed. All users updated.
142 * normal/term.c: New file.
143 * util/console.c: Change order of includes to workaround a bug in
144 ncurses headers.
145 * term/terminfo.c: New argument oterm on all exported functions.
146 All users updated.
147 * util/grub-editenv.c (grub_term_input_class): Removed.
148 (grub_term_output_class): Likewise.
149
1a064917
RM
1502010-01-09 Robert Millan <rmh.grub@aybabtu.com>
151
152 Make loader output a bit more user-friendly.
153
154 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
155 is being loaded. Likewise for the Hurd.
156
157 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
158 that kernel of FreeBSD ${version} is being loaded.
159
160 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
161 grub_dprintf().
162 (grub_cmd_initrd): Likewise.
163 * util/grub.d/10_linux.in (linux_entry): Print message indicating
164 that Linux ${version} is being loaded. Likewise for initrd.
165
5ce0a83a 1662010-01-09 Carles Pina i Estany <carles@pina.cat>
167
168 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
169
809bbfeb 1702010-01-08 Carles Pina i Estany <carles@pina.cat>
171
172 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
173 (GRUB_MOD_INIT): Gettextizze.
174 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
175 (GRUB_MOD_INIT): Gettextizze.
176 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
177 (grub_cmd_linux): Capitalise Linux.
178 (GRUB_MOD_INIT): Gettextizze.
179 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
180 (grub_cmd_linux): Capitalise Linux.
181 (GRUB_MOD_INIT): Gettextizze.
182 * loader/i386/linux.c: Include `<grub/i18n.h>'.
183 (grub_cmd_linux): Capitalise Linux.
184 (GRUB_MOD_INIT): Gettextizze.
185 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
186 (GRUB_MOD_INIT): Gettextizze.
187 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
188 (grub_cmd_linux): Capitalise Linux.
189 (GRUB_MOD_INIT): Gettextizze.
190 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
191 (grub_cpu_xnu_init): Gettextizze.
192 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
193 (GRUB_MOD_INIT): Gettextizze.
194 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
195 (GRUB_MOD_INIT): Gettextizze.
196 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
197 (grub_linux_load64): Capitalise Linux.
198 (GRUB_MOD_INIT): Gettextizze.
199 * loader/xnu.c: Include `<grub/i18n.h>'.
200 (GRUB_MOD_INIT): Gettextizze.
201 * po/POTFILES: Add `loader/efi/appleloader.c',
202 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
203 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
204 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
205 `loader/i386/xnu.c', `loader/multiboot_loader.c',
206 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
207 and `loader/xnu.c'.
208
b394b2ca
RM
2092010-01-08 Robert Millan <rmh.grub@aybabtu.com>
210
211 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
212
2132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
214
215 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
216 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
217 * util/mkisofs/mkisofs.c (main): Readjust --version output.
218
bc8b32b3
RM
2192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
220
221 Reset Multiboot 2 support. New loader implements the draft in
222 /branches/multiboot2 and shares as much code as possible with the
223 production Multiboot 1 implementation.
224
225 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
226 * loader/multiboot2.c: Likewise.
227 * loader/i386/multiboot_helper.S: Likewise.
228 * include/multiboot2.h: Replace with latest version from the draft
229 in /branches/multiboot2.
230
231 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
232 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
233 and `loader/multiboot2.c'.
234 (pkglib_MODULES): Add `multiboot2.mod'.
235 (multiboot2_mod_SOURCES): New variable.
236 (multiboot2_mod_LDFLAGS): Likewise.
237 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
238
239 * conf/i386-pc.rmk: Likewise.
240
241 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
242 (multiboot_mod_SOURCES): Remove variable.
243 (multiboot_mod_LDFLAGS): Likewise.
244 (multiboot_mod_CFLAGS): Likewise.
245
246 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
247 `<multiboot2.h>' instead of `<multiboot.h>'.
248 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
249 (MULTIBOOT_HEADER_MAGIC): New macros.
250
251 * loader/multiboot_loader.c (module_version_status): Remove variable.
252 (find_multi_boot2_header): Remove function.
253 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
254 logic. Always check for the Multiboot version we're compiling for.
255 (grub_cmd_module_loader): Likewise.
256 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
257 command instead of `multiboot'.
258
5d2c52b8
RM
2592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
260
261 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
262 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
263 all users.
264
53108d92
RM
2652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
267
268 Fix breakage introduced with previous commit.
269
270 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
271 commands.
272 * normal/handler.c (read_handler_list): Revert part of previous commit
273 affecting this file.
274 * normal/main.c (read_lists): Move read_handler_list() call back to ...
275 (grub_normal_execute): ... here.
276
e2e936b2
RM
2772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
278
279 Merge prefix-redefinition-fix branch.
280
281 * normal/autofs.c (read_fs_list): Make function capable of being
282 run multiple times, gracefuly replacing the previous data
283 structures.
284 * normal/dyncmd.c (read_command_list): Likewise.
285 * normal/handler.c (read_handler_list): Likewise.
286 * normal/main.c (read_lists): New function. Calls all the
287 list reading functions.
288 (grub_normal_execute): Use read_lists() instead of calling all
289 list reading functions explicitly. Register read_lists() as a
290 variable hook attached to ${prefix}.
291
607a3701
VS
2922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Merge crypto branch.
295
296 * Makefile.in (pkglib_DATA): Add crypto.lst.
297 (crypto.lst): New target.
298 * commands/hashsum.c: New file.
299 * commands/password.c (check_password): Use grub_crypto_memcmp.
300 * commands/password_pbkdf2.c: New file.
301 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
302 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
303 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
304 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
305 -I$(srcdir)/lib/libgcrypt_wrap.
306 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
307 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
308 password_pbkdf2.mod.
309 (crypto_mod_SOURCES): New variable.
310 (crypto_mod_CFLAGS): Likewise.
311 (crypto_mod_LDFLAGS): Likewise.
312 (hashsum_mod_SOURCES): New variable.
313 (hashsum_mod_CFLAGS): Likewise.
314 (hashsum_mod_LDFLAGS): Likewise.
315 (pbkdf2_mod_SOURCES): New variable.
316 (pbkdf2_mod_CFLAGS): Likewise.
317 (pbkdf2_mod_LDFLAGS): Likewise.
318 (password_pbkdf2_mod_SOURCES): New variable.
319 (password_pbkdf2_mod_CFLAGS): Likewise.
320 (password_pbkdf2_mod_LDFLAGS): Likewise.
321 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
322 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
323 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
324 Include conf/gcry.rmk.
325 * include/grub/auth.h: Rewritten.
326 * include/grub/crypto.h: New file.
327 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
328 * include/grub/normal.h (read_crypto_list): New prototype.
329 * lib/crypto.c: New file.
330 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
331 * lib/pbkdf2.c: Likewise.
332 * normal/auth.c (grub_auth_strcmp): Removed.
333 (grub_iswordseparator): Likewise.
334 (grub_auth_strword): Likewise.
335 (is_authenticated): Use grub_strword.
336 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
337 and grub_strword. Pass entered password to authentication callback.
338 * normal/crypto.c: New file.
339 * normal/main.c: Call read_crypto_list.
340 * util/grub-mkpasswd-pbkdf2.c: New file.
341 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
342
42841caa
VS
3432010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
344
345 Fix descent and ascent calculation.
346
347 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
348 (options): New option "asce".
349 (usage): Likewise.
350 (add_char): Ignore invalid glyphs for descent calculation.
351 Calculate ascent from actual content.
352 (print_glyphs): Use 'asce'.
353 (write_font): Likewise. Allow ascent override.
354 (main): Handle "asce" option.
355
e7730de7 3562010-01-06 Carles Pina i Estany <carles@pina.cat>
357
358 * kern/err.c: Include `<grub/i18n.h>'.
359 (grub_print_error): Add full stop. Gettextizze.
360 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
361 (grub_bsd_load_elf): Capitalise ELF.
362 (grub_cmd_freebsd_loadenv): Add `s' in error string.
363 (grub_cmd_freebsd_module): Likewise.
364 (grub_cmd_freebsd_module_elf): Likewise.
365 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
366
40e3a41f 3672010-01-06 Carles Pina i Estany <carles@pina.cat>
368
369 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
370 * commands/search_file.c (HELP_MESSAGE): New macro.
371 * commands/search_label.c (HELP_MESSAGE): Likewise.
372 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
373 * po/POTFILES: Add `commands/search_file.c',
374 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
375 `commands/search.c'.
376
83507e68
RM
3772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
378
379 * config.rpath: Update from Gnulib.
380
465c787b
YB
3812010-01-05 Yves Blusseau <blusseau@zetam.org>
382
383 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
384
6581dd3a
YB
3852010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
386
387 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
388
3bff18c5
CW
3892010-01-05 Colin Watson <cjwatson@ubuntu.com>
390
391 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
392 arguments to fread so that we get a return value in bytes, rather
393 than something that will normally be rounded down to 0.
394 Adjust error handling to avoid producing garbage when size_t is not
395 the same size as long long.
396
a1368118
CW
3972010-01-05 Colin Watson <cjwatson@ubuntu.com>
398
399 * util/mkisofs/write.c (padblock_write): Check return value of
400 fread.
401
7c302978
RM
4022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
403
404 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
405 floppy images now.
406
407 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
408
e33ace06
RM
4092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
410
411 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
412 instead of manual alignment.
413 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
414 verbose). Avoid attempts to read past end of the device
415 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
416 but GRUB_DISK_CACHE_SIZE may exceed that).
417
4b856776
RM
4182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
419
420 * commands/crc.c (grub_cmd_crc): Abort on read errors.
421 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
422 it to upper layer.
423
52c2d97f
VS
4242010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
427 New constant.
428 (grub_efi_piwg_device_path): New structure
429 (grub_efi_piwg_device_path_t): New type.
430 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
431 (devpath_1): Transform to a structure. All users updated.
432 (devpath_2): Likewise.
433 (devpath_3): Likewise.
434 (devpath_4): Likewise.
435 (devpath_5): Likewise.
436
98ff6a54
VS
4372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * loader/efi/appleloader.c: Restored. Update all users.
440
3a73dcb6
RM
4412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
442
443 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
444
445 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
446 (struct boot_blocklist): Move from here ...
447 * include/grub/i386/pc/boot.h [ASM_FILE]
448 (struct grub_boot_blocklist): ... to here. Update all users.
449 (setup): Only initialize `start' member of `first_block'
450 structure. Add assert() calls to verify the other members.
451
452 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
453 (generate_image): Fix broken blocklist length initialization.
454 Add assert() call to verify blocklist `segment' field.
455
ab0eeb0c
RM
4562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
457
458 * loader/efi/appleloader.c: Remove. Update all users.
459
58bc8bd5
RM
4602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
461
462 * boot/i386/pc/boot.S: Update copyright year.
463 * boot/i386/pc/cdboot.S: Likewise.
464 * boot/i386/pc/diskboot.S: Likewise.
465 * boot/i386/pc/lnxboot.S: Likewise.
466 * boot/i386/pc/pxeboot.S: Likewise.
467 * bus/pci.c: Likewise.
468 * commands/cmp.c: Likewise.
469 * commands/help.c: Likewise.
470 * commands/hexdump.c: Likewise.
471 * commands/i386/pc/halt.c: Likewise.
472 * commands/i386/pc/play.c: Likewise.
473 * commands/i386/pc/vbeinfo.c: Likewise.
474 * commands/ls.c: Likewise.
475 * commands/test.c: Likewise.
476 * disk/dmraid_nvidia.c: Likewise.
477 * disk/i386/pc/biosdisk.c: Likewise.
478 * disk/ieee1275/nand.c: Likewise.
479 * disk/ieee1275/ofdisk.c: Likewise.
480 * disk/lvm.c: Likewise.
481 * disk/raid.c: Likewise.
482 * disk/raid6_recover.c: Likewise.
483 * disk/scsi.c: Likewise.
484 * fs/affs.c: Likewise.
485 * fs/cpio.c: Likewise.
486 * fs/ext2.c: Likewise.
487 * fs/hfs.c: Likewise.
488 * fs/iso9660.c: Likewise.
489 * fs/ntfs.c: Likewise.
490 * fs/sfs.c: Likewise.
491 * fs/udf.c: Likewise.
492 * fs/ufs.c: Likewise.
493 * fs/xfs.c: Likewise.
494 * gencmdlist.sh: Likewise.
495 * genmk.rb: Likewise.
496 * include/grub/disk.h: Likewise.
497 * include/grub/efi/api.h: Likewise.
498 * include/grub/efi/efi.h: Likewise.
499 * include/grub/efi/pe32.h: Likewise.
500 * include/grub/elf.h: Likewise.
501 * include/grub/fs.h: Likewise.
502 * include/grub/i386/at_keyboard.h: Likewise.
503 * include/grub/i386/pc/memory.h: Likewise.
504 * include/grub/i386/pc/vbe.h: Likewise.
505 * include/grub/i386/pci.h: Likewise.
506 * include/grub/i386/tsc.h: Likewise.
507 * include/grub/ieee1275/ieee1275.h: Likewise.
508 * include/grub/ntfs.h: Likewise.
509 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
510 * include/grub/sparc64/libgcc.h: Likewise.
511 * include/grub/symbol.h: Likewise.
512 * include/grub/types.h: Likewise.
513 * include/multiboot2.h: Likewise.
514 * io/gzio.c: Likewise.
515 * kern/device.c: Likewise.
516 * kern/disk.c: Likewise.
517 * kern/efi/efi.c: Likewise.
518 * kern/efi/mm.c: Likewise.
519 * kern/elf.c: Likewise.
520 * kern/file.c: Likewise.
521 * kern/i386/dl.c: Likewise.
522 * kern/i386/pc/init.c: Likewise.
523 * kern/i386/pc/startup.S: Likewise.
524 * kern/ieee1275/ieee1275.c: Likewise.
525 * kern/ieee1275/init.c: Likewise.
526 * kern/main.c: Likewise.
527 * kern/mm.c: Likewise.
528 * kern/powerpc/dl.c: Likewise.
529 * kern/sparc64/dl.c: Likewise.
530 * kern/x86_64/dl.c: Likewise.
531 * lib/hexdump.c: Likewise.
532 * loader/efi/appleloader.c: Likewise.
533 * loader/i386/ieee1275/linux.c: Likewise.
534 * loader/i386/pc/chainloader.c: Likewise.
535 * loader/i386/pc/linux.c: Likewise.
536 * loader/i386/pc/multiboot2.c: Likewise.
537 * loader/ieee1275/multiboot2.c: Likewise.
538 * loader/multiboot2.c: Likewise.
539 * loader/multiboot_loader.c: Likewise.
540 * loader/powerpc/ieee1275/linux.c: Likewise.
541 * normal/completion.c: Likewise.
542 * normal/menu_entry.c: Likewise.
543 * partmap/apple.c: Likewise.
544 * util/grub.d/10_hurd.in: Likewise.
545 * util/hostfs.c: Likewise.
546 * video/readers/png.c: Likewise.
547
e2d70b5c
CW
5482010-01-03 Colin Watson <cjwatson@ubuntu.com>
549
550 * include/grub/misc.h (GNUC_PREREQ): New macro.
551 (ATTRIBUTE_ERROR): New macro.
552 * include/grub/list.h (grub_bad_type_cast_real): Use
553 ATTRIBUTE_ERROR.
554
a173283f 5552010-01-03 Carles Pina i Estany <carles@pina.cat>
556
557 * normal/menu_text.c (print_message): Change messages.
558
7fa7ff74 5592010-01-03 Carles Pina i Estany <carles@pina.cat>
560
561 * normal/menu_entry.c (store_completion): Gettextizze.
562
136d24f6 5632010-01-03 Carles Pina i Estany <carles@pina.cat>
564
565 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
566
f936862e 5672010-01-03 Carles Pina i Estany <carles@pina.cat>
568
569 * po/POTFILES: Sort correctly.
570
29c44ad1 5712010-01-03 Carles Pina i Estany <carles@pina.cat>
572
573 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
574 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
575 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
576 full stop.
577 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
578 summary. Gettextizze the strings.
579 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
580 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
581 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
582 full stop.
583 (GRUB_MOD_INIT): Remove command name from summary.
584 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
585 summary.
586 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
587 * term/i386/pc/serial.c (options): Add full stops.
588 (GRUB_MOD_INIT): Remove command name from the summary.
589
77a79592 5902010-01-03 Carles Pina i Estany <carles@pina.cat>
591
592 * commands/acpi.c: Gettextizze help strings and/or options. Include
593 `grub/i18n.h' if needed.
594 * commands/blocklist.c: Likewise.
595 * commands/boot.c: Likewise.
596 * commands/cat.c: Likewise.
597 * commands/cmp.c: Likewise.
598 * commands/configfile.c: Likewise.
599 * commands/crc.c: Likewise.
600 * commands/date.c: Likewise.
601 * commands/echo.c: Likewise.
602 * commands/efi/fixvideo.c: Likewise.
603 * commands/efi/loadbios.c: Likewise.
604 * commands/gptsync.c: Likewise.
605 * commands/halt.c: Likewise.
606 * commands/handler.c: Likewise.
607 * commands/hdparm.c: Likewise.
608 * commands/hexdump.c: Likewise.
609 * commands/i386/cpuid.c: Likewise.
610 * commands/i386/pc/drivemap.c: Likewise.
611 * commands/i386/pc/halt.c: Likewise.
612 * commands/i386/pc/pxecmd.c: Likewise.
613 * commands/i386/pc/vbeinfo.c: Likewise.
614 * commands/i386/pc/vbetest.c: Likewise.
615 * commands/ieee1275/suspend.c: Likewise.
616 * commands/keystatus.c: Likewise.
617 * commands/loadenv.c: Likewise.
618 * commands/ls.c: Likewise.
619 * commands/lsmmap.c: Likewise.
620 * commands/lspci.c: Likewise.
621 * commands/memrw.c: Likewise.
622 * commands/minicmd.c: Likewise.
623 * commands/parttool.c: Likewise.
624 * commands/password.c: Likewise.
625 * commands/probe.c: Likewise.
626 * commands/read.c: Likewise.
627 * commands/reboot.c: Likewise.
628 * commands/search.c: Likewise.
629 * commands/sleep.c: Likewise.
630 * commands/test.c: Likewise.
631 * commands/true.c: Likewise.
632 * commands/usbtest.c: Likewise.
633 * commands/videotest.c: Likewise.
634 * commands/xnu_uuid.c: Likewise.
635 * disk/loopback.c: Likewise.
636 * hello/hello.c: Likewise.
637 * loader/i386/bsd.c: Likewise.
638 * term/i386/pc/serial.c: Likewise.
639 * po/POTFILES: Add new files.
640
da8d5c53
CW
6412010-01-02 Colin Watson <cjwatson@ubuntu.com>
642
643 * term/i386/pc/at_keyboard.c
644 (keyboard_controller_wait_untill_ready): Rename to ...
645 (keyboard_controller_wait_until_ready): ... this. Update all users.
646
33937904 6472010-01-01 Carles Pina i Estany <carles@pina.cat>
648
649 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
650 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
651 string using string width.
652 * normal/menu_text.c (grub_print_message_indented): Use
653 grub_print_spaces and not print_spaces.
654 (print_timeout): Likewise.
655 (print_spaces): Move to...
656 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
657
3fd3b8d8
RM
6582010-01-01 Robert Millan <rmh.grub@aybabtu.com>
659
660 Import from Gnulib.
661
662 * gnulib/getdelim.c: New file.
663 * gnulib/getline.c: Likewise.
664
33433555
VS
6652009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
666
667 * include/grub/list.h (grub_assert_fail): Removed.
668 (grub_bad_type_cast_real): New function.
669 (grub_bad_type_cast): New macro.
670 (GRUB_AS_LIST): Use grub_bad_type_cast.
671 (GRUB_AS_LIST_P): Likewise.
e44721e8 672 (GRUB_AS_NAMED_LIST): Likewise.
33433555 673 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 674 (GRUB_AS_PRIO_LIST): Likewise.
33433555 675 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 676 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 677
f5a51306
VS
6782009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
681 Fix syntax error.
682
90d1e879
RM
6832009-12-29 Robert Millan <rmh.grub@aybabtu.com>
684
685 * configure.ac: Check for TARGET_CFLAGS initialization before we
686 initialize it ourselves (sigh).
687 Move a few modifications to TARGET_CFLAGS to be unconditional
688 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
689 eh_frame)
690
691 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
692 * term/i386/pc/at_keyboard.c
693 (keyboard_controller_wait_untill_ready): Likewise.
694 (keyboard_controller_led): Rename `led_status' paramter to avoid
695 name conflict.
696
465b5a81 6972009-12-28 Carles Pina i Estany <carles@pina.cat>
698
699 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
700 quotes.
701
c181849b
VS
7022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
705
9c8739a4
VS
7062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * normal/menu_text.c (grub_print_message_indented): Prevent
709 past-the-end-of-array dereference.
710
3e74249c
VS
7112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
714 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
715
64fd18ed 7162009-12-27 Carles Pina i Estany <carles@pina.cat>
717
718 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
719 * normal/main.c (grub_normal_read_line): Remove a space from the
720 default prompt.
721
714af9b9 7222009-12-27 Carles Pina i Estany <carles@pina.cat>
723
724 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
725 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
726 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
727 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
728 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
729 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
730 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
731
82f3e412 7322009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 733
734 * video/readers/jpeg.c (cmd): Declare.
735 (grub_cmd_jpegtest): Use `grub_command_t' type.
736 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
737 Assign to `cmd'.
738 (GRUB_MOD_FINI): Use `cmd' to unregister.
739 * video/readers/png.c (cmd): Declare.
740 (grub_cmd_pngtest): Use `grub_command_t' type.
741 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
742 Assign to `cmd'.
743 (GRUB_MOD_FINI): Use `cmd' to unregister.
744 * video/readers/tga.c (cmd): Declare.
745 (grub_cmd_tgatest): Use `grub_command_t' type.
746 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
747 Assign to `cmd'.
748 (GRUB_MOD_FINI): Use `cmd' to unregister.
749
82f3e412 7502009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 751
752 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
753 stops.
754 * kern/corecmd.c (grub_register_core_commands): Likewise.
755 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
756 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
757 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
758 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
759 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
760 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
761 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
762 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
763 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
764 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
765 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
766 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
767 * normal/handler.c (insert_handler): Likewise.
768 * normal/main.c (GRUB_MOD_INIT): Likewise.
769 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
770
fdcdbb66 7712009-12-26 Carles Pina i Estany <carles@pina.cat>
772
773 * commands/help.c (grub_cmd_help): Print the command name before the
774 summary.
775 (GRUB_MOD_INIT): Remove command name from the summary.
776 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 777 string as summary.
fdcdbb66 778 * lib/arg.c (find_long): Print the command name before the summary.
779 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
780 summary.
781 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
782 * commands/cat.c (GRUB_MOD_INIT): Likewise.
783 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
784 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
785 * commands/crc.c (GRUB_MOD_INIT): Likewise.
786 * commands/date.c (GRUB_MOD_INIT): Likewise.
787 * commands/echo.c (GRUB_MOD_INIT): Likewise.
788 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
789 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
790 * commands/handler.c (GRUB_MOD_INIT): Likewise.
791 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
792 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
793 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
794 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
795 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
796 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
797 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
798 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
799 * commands/ls.c (GRUB_MOD_INIT): Likewise.
800 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
801 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
802 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
803 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
804 * commands/password.c (GRUB_MOD_INIT): Likewise.
805 * commands/probe.c (GRUB_MOD_INIT): Likewise.
806 * commands/read.c (GRUB_MOD_INIT): Likewise.
807 * commands/search.c (GRUB_MOD_INIT): Likewise.
808 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
809 * commands/test.c (GRUB_MOD_INIT): Likewise.
810 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
811 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
812 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
813 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
814 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
815 * lib/arg.c (GRUB_MOD_INIT): Likewise.
816 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
817 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
818 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
819 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
820 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
821 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
822 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
823 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
824
9c288be2
VS
8252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Use search command for preliminar UUID search.
828
829 * commands/search.c: Split into ...
830 * commands/search_wrap.c: ...this
831 * commands/search.c: ...and this.
832 * commands/search_file.c: New file.
833 * commands/search_label.c: New file.
834 * commands/search_uuid.c: New file.
835 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
836 Add commands/search_wrap.c, commands/search_file.c,
837 commands/search_label.c and commands/search_uuid.c.
838 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
839 (search_mod_SOURCES): Set to commands/search_wrap.c.
840 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
841 search_label.mod.
842 (search_fs_file_mod_SOURCES): New variable.
843 (search_fs_file_mod_CFLAGS): Likewise.
844 (search_fs_file_mod_LDFLAGS): Likewise.
845 (search_label_mod_SOURCES): Likewise.
846 (search_label_mod_CFLAGS): Likewise.
847 (search_label_mod_LDFLAGS): Likewise.
848 (search_fs_uuid_mod_SOURCES): New variable.
849 (search_fs_uuid_mod_CFLAGS): Likewise.
850 (search_fs_uuid_mod_LDFLAGS): Likewise.
851 (fs_file_mod_SOURCES): Removed.
852 (fs_file_mod_CFLAGS): Likewise.
853 (fs_file_mod_LDFLAGS): Likewise.
854 (fs_uuid_mod_SOURCES): Removed.
855 (fs_uuid_mod_CFLAGS): Likewise.
856 (fs_uuid_mod_LDFLAGS): Likewise.
857 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
858 Set to util/grub-install.in.
859 * disk/fs_file.c: Removed.
860 * disk/fs_uuid.c: Likewise.
861 * include/grub/search.h: New file.
862 * util/grub-install.in: Handle sparc64.
863 Create and use load.cfg.
864 * util/sparc64/ieee1275/grub-install.in: Removed.
865
db943399
VS
8662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
869 Ignore return status if CF is cleared.
870 (grub_biosdisk_get_diskinfo_standard): Likewise.
871
3fdae612
RM
8722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
873
874 * term/i386/pc/at_keyboard.c
875 (keyboard_controller_wait_untill_ready): New function.
876 (grub_keyboard_controller_write, grub_keyboard_controller_read)
877 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
878 for keyboard polling, rather than duplicate the same loop. This
879 saves a few bytes in code size.
880
7ebaa2b4
VS
8812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Support for (pxe[:server[:gateway]]) syntax and
884 use environment variable for PXE.
885
886 * commands/i386/pc/pxecmd.c (options): Removed.
887 (print_ip): Removed.
888 (grub_cmd_pxe): Removed
889 (grub_cmd_pxe_unload): New function.
890 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
891 (grub_pxe_your_ip): Made static.
892 (grub_pxe_default_server_ip): Likewise.
893 (grub_pxe_default_gateway_ip): Likewise.
894 (grub_pxe_blksize): Likewise.
895 (parse_ip): New function.
896 (grub_pxe_open): Support server and gateway specification.
897 (grub_pxe_close): Free disk->data.
898 (grub_pxefs_open): Use disk->data.
899 (grub_pxefs_read): Likewise.
900 (grub_env_write_readonly): New function.
901 (set_mac_env): Likewise.
902 (set_env_limn_ro): Likewise.
903 (parse_dhcp_vendor): Likewise.
904 (grub_pxe_detect): Set the environment variables.
905 (set_ip_env): New function.
906 (write_ip_env): Likewise.
907 (grub_env_write_pxe_default_server): Likewise.
908 (grub_env_write_pxe_default_gateway): Likewise.
909 (grub_env_write_pxe_blocksize): Likewise.
910 (GRUB_MOD_INIT(pxe)): Set environment variables.
911 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
912 (grub_pxe_mac_addr_t): ... this. All users updated.
913 (grub_pxe_your_ip): Removed.
914 (grub_pxe_server_ip): Likewise.
915 (grub_pxe_gateway_ip): Likewise.
916 (grub_pxe_blksize): Likewise.
917
ec5f98ab 9182009-12-25 Carles Pina i Estany <carles@pina.cat>
919
920 * commands/help.c: Include `<grub/i18n.h>'.
921 (grub_cmd_help): Gettextizze.
922 (GRUB_MOD_INIT): Likewise.
923 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
924 (GRUB_MOD_INIT): Gettextizze.
925 * commands/search.c: Include `<grub/i18n.h>'.
926 (options): Gettextizze.
927 (GRUB_MOD_INIT): Gettextizze.
928 * lib/arg.c: Include `<grub/i18n.h>'.
929 (help_options): Gettextizze.
930 (find_long): Likewise.
931 (grub_arg_show_help): Likewise.
932 * normal/dyncmd.c: Include `<grub/i18n.h>'.
933 (read_command_list): Gettextizze.
934 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 935 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 936
22815526
RM
9372009-12-25 Robert Millan <rmh.grub@aybabtu.com>
938
939 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
940 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
941 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
942 (led_status): New variable.
943 (keyboard_controller_led): New function.
944 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
945 update led status for caps lock, num lock and scroll lock.
946
0ad46fd7
FZ
9472009-12-25 Felix Zielcke <fzielcke@z-51.de>
948
949 * util/hostdisk.c (open_device): Fix a comment.
950
d0e158c2
RM
9512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
952
953 * util/grub-install.in (host_os): New variable.
954 * util/i386/efi/grub-install.in (host_os): Likewise.
955
401c0ad6
RM
9562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
957
958 * util/mkisofs/write.c (padblock_write): Abort when given an
959 excedingly large embed image, instead of silently truncating it.
960
d14d3370
RM
9612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
962
963 * include/multiboot.h: Indentation fixes.
964
eeed10b4
RM
9652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
966
967 * include/multiboot.h (struct multiboot_aout_symbol_table)
968 (struct multiboot_elf_section_header_table): New structure
969 declarations (stolen from GRUB Legacy).
970 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
971 table information.
972
973 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
974 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
975 type aliases.
976
681c70ab
RM
9772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
978
979 * include/multiboot.h: Make comments src2texi-friendly.
980
e4d47d8d
RM
9812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
982
983 For consistency with [multiboot]/docs/boot.S.
984
985 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
986 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
987 (MULTIBOOT_MAGIC2): Rename from this ...
988 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
989
a0b70bda
RM
9902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
991
992 * include/multiboot.h: Remove `<grub/types.h>'.
993 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
994 types. Update all users.
995
61ba42be 9962009-12-25 Carles Pina i Estany <carles@pina.cat>
997
998 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
999 `couldn't' and `can not' by `cannot'.
1000 * commands/i386/pc/drivemap.c: Likewise.
1001 * disk/ata.c: Likewise.
1002 * disk/ieee1275/nand.c: Likewise.
1003 * fs/affs.c: Likewise.
1004 * fs/fat.c: Likewise.
1005 * fs/hfs.c: Likewise.
1006 * fs/hfsplus.c: Likewise.
1007 * fs/iso9660.c: Likewise.
1008 * fs/jfs.c: Likewise.
1009 * fs/minix.c: Likewise.
1010 * fs/reiserfs.c: Likewise.
1011 * fs/sfs.c: Likewise.
1012 * fs/udf.c: Likewise.
1013 * fs/ufs.c: Likewise.
1014 * fs/xfs.c: Likewise.
1015 * loader/powerpc/ieee1275/linux.c: Likewise.
1016 * loader/sparc64/ieee1275/linux.c: Likewise.
1017 * util/grub-probe.c: Likewise.
1018 * util/misc.c: Likewise.
1019
7fd0baee 10202009-12-24 Carles Pina i Estany <carles@pina.cat>
1021
1022 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1023 grub_errno calls.
1024 * commands/acpi.c: Likewise.
1025 * commands/blocklist.c: Likewise.
1026 * commands/efi/loadbios.c: Likewise.
1027 * commands/i386/pc/drivemap.c: Likewise.
1028 * commands/loadenv.c: Likewise.
1029 * commands/memrw.c: Likewise.
1030 * commands/password.c: Likewise.
1031 * commands/videotest.c: Likewise.
1032 * disk/ata.c: Likewise.
1033 * disk/ata_pthru.c: Likewise.
1034 * disk/dmraid_nvidia.c: Likewise.
1035 * disk/ieee1275/nand.c: Likewise.
1036 * disk/ieee1275/ofdisk.c: Likewise.
1037 * disk/loopback.c: Likewise.
1038 * disk/lvm.c: Likewise.
1039 * disk/mdraid_linux.c: Likewise.
1040 * disk/raid.c: Likewise.
1041 * disk/raid6_recover.c: Likewise.
1042 * disk/scsi.c: Likewise.
1043 * efiemu/main.c: Likewise.
1044 * efiemu/mm.c: Likewise.
1045 * efiemu/pnvram.c: Likewise.
1046 * efiemu/symbols.c: Likewise.
1047 * font/font.c: Likewise.
1048 * fs/cpio.c: Likewise.
1049 * fs/hfsplus.c: Likewise.
1050 * fs/iso9660.c: Likewise.
1051 * fs/jfs.c: Likewise.
1052 * fs/minix.c: Likewise.
1053 * fs/ntfs.c: Likewise.
1054 * fs/ntfscomp.c: Likewise.
1055 * fs/reiserfs.c: Likewise.
1056 * fs/ufs.c: Likewise.
1057 * fs/xfs.c: Likewise.
1058 * gettext/gettext.c: Likewise.
1059 * include/grub/auth.h: Likewise.
1060 * kern/elf.c: Likewise.
1061 * kern/file.c: Likewise.
1062 * kern/ieee1275/init.c: Likewise.
1063 * kern/ieee1275/mmap.c: Likewise.
1064 * kern/ieee1275/openfw.c: Likewise.
1065 * kern/powerpc/dl.c: Likewise.
1066 * kern/sparc64/dl.c: Likewise.
1067 * lib/arg.c: Likewise.
1068 * loader/i386/bsd.c: Likewise.
1069 * loader/i386/bsdXX.c: Likewise.
1070 * loader/i386/efi/linux.c: Likewise.
1071 * loader/i386/efi/xnu.c: Likewise.
1072 * loader/i386/ieee1275/linux.c: Likewise.
1073 * loader/i386/linux.c: Likewise.
1074 * loader/i386/multiboot.c: Likewise.
1075 * loader/i386/pc/linux.c: Likewise.
1076 * loader/i386/pc/multiboot2.c: Likewise.
1077 * loader/i386/xnu.c: Likewise.
1078 * loader/ieee1275/multiboot2.c: Likewise.
1079 * loader/macho.c: Likewise.
1080 * loader/machoXX.c: Likewise.
1081 * loader/multiboot2.c: Likewise.
1082 * loader/multiboot_loader.c: Likewise.
1083 * loader/powerpc/ieee1275/linux.c: Likewise.
1084 * loader/sparc64/ieee1275/linux.c: Likewise.
1085 * loader/xnu.c: Likewise.
1086 * loader/xnu_resume.c: Likewise.
1087 * mmap/i386/pc/mmap.c: Likewise.
1088 * normal/menu_viewer.c: Likewise.
1089 * partmap/acorn.c: Likewise.
1090 * partmap/amiga.c: Likewise.
1091 * partmap/apple.c: Likewise.
1092 * script/lexer.c: Likewise.
1093 * term/gfxterm.c: Likewise.
1094 * term/i386/pc/serial.c: Likewise.
1095 * term/i386/pc/vga.c: Likewise.
1096 * term/ieee1275/ofconsole.c: Likewise.
1097 * term/terminfo.c: Likewise.
1098 * video/bitmap.c: Likewise.
1099 * video/efi_gop.c: Likewise.
1100 * video/efi_uga.c: Likewise.
1101 * video/fb/video_fb.c: Likewise.
1102 * video/i386/pc/vbe.c: Likewise.
1103 * video/readers/tga.c: Likewise.
1104 * video/video.c: Likewise.
1105
0ad46fd7 11062009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
1107
1108 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
1109 * commands/lspci.c: Likewise.
1110 * commands/probe.c: Likewise.
1111 * commands/xnu_uuid.c: Likewise.
1112 * conf/i386-coreboot.rmk: Likewise.
1113 * conf/i386-efi.rmk: Likewise.
1114 * conf/i386-ieee1275.rmk: Likewise.
1115 * conf/i386-pc.rmk: Likewise.
1116 * conf/powerpc-ieee1275.rmk: Likewise.
1117 * conf/sparc64-ieee1275.rmk: Likewise.
1118 * conf/x86_64-efi.rmk: Likewise.
1119 * fs/i386/pc/pxe.c: Likewise.
1120 * gettext/gettext.c: Likewise.
1121 * include/grub/efi/graphics_output.h: Likewise.
1122 * include/grub/i386/pc/memory.h: Likewise.
1123 * kern/env.c: Likewise.
1124 * kern/i386/qemu/startup.S: Likewise.
1125 * lib/i386/pc/biosnum.c: Likewise.
1126 * lib/i386/relocator.c: Likewise.
1127 * lib/i386/relocator_asm.S: Likewise.
1128 * lib/relocator.c: Likewise.
1129 * loader/i386/bsd.c: Likewise.
1130 * loader/i386/multiboot.c: Likewise.
1131 * loader/i386/pc/chainloader.c: Likewise.
1132 * loader/i386/xnu.c: Likewise.
1133 * loader/xnu.c: Likewise.
1134 * normal/main.c: Likewise.
1135 * normal/menu_text.c: Likewise.
1136 * util/getroot.c: Likewise.
1137 * util/grub-mkconfig_lib.in: Likewise.
1138 * util/grub.d/00_header.in: Likewise.
1139 * util/i386/pc/grub-mkimage.c: Likewise.
1140 * util/mkisofs/eltorito.c: Likewise.
1141 * util/mkisofs/exclude.h: Likewise.
1142 * util/mkisofs/hash.c: Likewise.
1143 * util/mkisofs/iso9660.h: Likewise.
1144 * util/mkisofs/joliet.c: Likewise.
1145 * util/mkisofs/mkisofs.c: Likewise.
1146 * util/mkisofs/mkisofs.h: Likewise.
1147 * util/mkisofs/multi.c: Likewise.
1148 * util/mkisofs/name.c: Likewise.
1149 * util/mkisofs/rock.c: Likewise.
1150 * util/mkisofs/tree.c: Likewise.
1151 * util/mkisofs/write.c: Likewise.
1152 * video/efi_gop.c: Likewise.
1153
009ec743
VS
11542009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
1157 size counting.
1158
0ad46fd7 11592009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
1160
1161 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
1162 * genmk.rb (class SCRIPT): Modify the target file instead of source.
1163
d3d30ea0
VS
11642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
1167 (GRUB_MOD_INIT(memrw)): Update help line.
1168
a34f5c70
VS
11692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
1172 Use grub_extcmd_t. All users updated.
1173 (options): New variable.
1174 (grub_cmd_read): Restructure for readability. Support "-v" option.
1175 (grub_cmd_write): Restructure for readability.
1176
0ad46fd7 11772009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
1178
1179 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
1180
0ad46fd7 11812009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
1182
1183 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
1184 with the actual contents of the correspondending make variable.
1185 * util/grub-mkrescue.in (pkglib_DATA): New variable.
1186 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
1187 specifying `*.lst' and `efiemu??.o'
1188
0ad46fd7 11892009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
1190
1191 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
1192 after function name.
1193 Noticed by Rene Engelhard <rene@debian.org>.
1194
dc77a799
VS
11952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
1198 (options): New variable.
1199 (iospace): Likewise.
1200 (grub_lspci_iter): List IO spaces if "-i" was given.
1201 (grub_cmd_lspci): Parse options.
1202 (GRUB_MOD_INIT(lspci)): Use extcmd.
1203 (GRUB_MOD_FINI(lspci)): Likewise.
1204
0ad46fd7 12052009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
1206
1207 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
1208 `function' keyword.
1209 Patch by Tony Mancill <tmancill@debian.org>.
1210
b5d5993b
VS
12112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
1214 (grub_uhci_portstatus): Likewise.
1215 (grub_uhci_portstatus): Add necessary delay.
11d18281 1216 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 1217
941903f2 12182009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 1219
941903f2 1220 * commands/acpi.c (options): Fix capitalizations and/or full stops.
1221 (GRUB_MOD_INIT): Likewise.
1222 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 1223 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
1224 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 1225 * commands/efi/loadbios.c (enable_rom_area): Likewise.
1226 (enable_rom_area): Likewise.
1227 (GRUB_MOD_INIT): Likewise.
1228 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1229 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
1230 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1231 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
1232 * commands/hexdump.c (options): Likewise.
1233 * commands/i386/cpuid.c (options): Likewise.
1234 (GRUB_MOD_INIT): Likewise.
1235 * commands/i386/pc/drivemap.c (options): Likewise.
1236 (GRUB_MOD_INIT): Likewise.
1237 * commands/i386/pc/halt (options): Likewise.
1238 (GRUB_MOD_INIT): Likewise.
1239 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1240 * commands/i386/pc/pxecmd.c (options): Likewise.
1241 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
1242 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
1243 * commands/keystatus.c (options): Likewise.
1244 (GRUB_MOD_INIT): Likewise.
1245 * commands/loadenv.c (options): Likewise.
1246 * commands/ls.c (options): Likewise.
1247 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1248 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1249 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1250 * commands/parttool.c (helpmsg): Likewise.
1251 * commands/probe.c (options): Likewise.
1252 * commands/read.c (GRUB_MOD_INIT): Likewise.
1253 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
1254 * commands/search.c (options): Likewise.
1255 * commands/sleep.c (options): Likewise.
1256 * commands/test.c (GRUB_MOD_INIT): Likewise.
1257 * commands/true.c (GRUB_MOD_INIT): Likewise.
1258 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
1259 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
1260 * lib/arg.c (help_options): Likewise.
e9bbb4e7 1261 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
1262 `$(XGETTEXT)'.
98a50553 1263 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 1264
0ad46fd7 12652009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 1266
ef3c2c3a 1267 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
1268 instead of specifying them explicit.
1269
7922f68b
RM
12702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1271
1272 * NEWS: Add grub-probe support for GNU/Hurd.
1273
537ce47f
RM
12742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1275
1276 * NEWS: gettext was added after 1.97.
1277
9b214e3a
RM
12782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1279
1280 * util/mkisofs/msdos_partition.h: New file (based on
1281 include/grub/msdos_partition.h).
1282 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
1283 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
1284 (ld_options, main): Recognize --protective-msdos-label.
1285 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
1286 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
1287 (padblock_write): If `use_protective_msdos_label' is set, patch a
1288 protective DOS-style label in the output image.
1289
1290 * util/grub-mkrescue.in: Use --protective-msdos-label.
1291
e9309813
RM
12922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1293
1294 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
1295 boot.
1296
0ae56929
RM
12972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1298
1299 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
1300 variables.
1301 (ld_options, main): Recognize `--embedded-boot'.
1302 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
1303 declarations.
1304 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
1305 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
1306 (padblock_write): Likewise. Rewrite to support embedded boot image.
1307
1308 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
1309 for BIOS-based disk boot instead of only ElTorito.
1310
b15937b1
RM
13112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1312
1313 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
1314 build (not needed for bootstrap).
1315
52cc3ce0
RM
13162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1317
1318 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
1319 from i386-pc build (not needed for bootstrap).
1320 Rewrite a pair of strings.
1321
36f5ff04
RM
13222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1323
1324 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
1325
973c6c85 13262009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
1327
1328 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
1329
05d21547
AB
13302009-12-21 Andreas Born <futur.andy@googlemail.com>
1331
1332 * kern/env.c (grub_env_context_open): Mark exported variable for
1333 reexport.
1334
0175d51f
AB
13352009-12-21 Andreas Born <futur.andy@googlemail.com>
1336
1337 * kern/env.c (grub_env_export): Create nonexistent variables before
1338 exporting.
1339
7f39d92f 13402009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 1341
7f39d92f 1342 * include/grub/auth.h: Include `<grub/i18n.h>'.
1343 (GRUB_GET_PASSWORD): Gettextizze string.
1344 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
1345 menu_text.c.
1346 (grub_utf8_to_ucs4_alloc): Fix indentation.
1347 (grub_print_ucs4): Likewise.
1348 (grub_getstringwidth): Likewise.
1349 (print_message_indented): New declaration.
1350 * normal/auth.c: Include `<grub/i18n.h>'.
1351 (grub_auth_check_authentication): Gettexttize string.
1352 * normal/cmdline.c: Include `<grub/i18n.h>'.
1353 (grub_cmdline_get): Gettextizze.
1354 * normal/color.c: Include `<grub/i18n.h>'.
1355 (grub_parse_color_name_pair): Gettexttize strings.
1356 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
1357 string (use `print_message_indented').
1358 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
1359 `include/grub/normal.h'.
1360 (print_message_indented): Renamed to ...
1361 (grub_print_message_indented): ... this. Remove `static' qualifer (now
1362 used in normal/main.c).
1363 (print_message): Use `grub_print_message_indented' instead of
1364 `print_message_indented'.
1365 (print_timeout): Likewise.
1366 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
1367 (grub_normal_print_device_info): Gettexttize strings.
1368 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
1369
3041d898
VS
13702009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
1373 of arguments. Return number of tokens and not arguments. All users
1374 updated.
1375
de15bf8e
VS
13762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
1379 non-MSDOS paritions.
1380
e0a6ca52
VS
13812009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * include/grub/types.h (UNUSED): Removed since it conflicts with
1384 NetBSD headers. All users changed to direct __attribute__ ((unused)).
1385 Reported by Grégoire Sutre.
1386
b99518d1 13872009-12-19 Carles Pina i Estany <carles@pina.cat>
1388
1389 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
1390 (grub_print_ucs4_alloc): Likewise.
1391 (grub_getstringwidth): Likewise.
1392 * normal/main.c (grub_normal_init_page): Gettextize version string.
1393 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
1394 (getstringwidth): Renamed to ...
1395 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
1396 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
1397 (grub_print_ucs4): Remove `static' qualifer (now used in
1398 normal/main.c).
1399 * po/POTFILES: Add normal/main.c.
1400
bfd5e52b 14012009-12-19 Carles Pina i Estany <carles@pina.cat>
1402
1403 * normal/menu_text.c (STANDARD_MARGIN): New macro.
1404 (print_message_indented): Add `margin_left' and `margin_right'
1405 parameters.
1406 (print_message): Update `print_message_indented' calls. Adds '\n' to the
1407 strings.
1408 (print_timeout): Use `print_message_indented' to print the message.
1409 Deletes `second_stage' parameter.
1410 (run_menu): Update `print_timeout' calls.
1411
5a1ad2b9
VS
14122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Fix console palette on OpenFirmware.
1415
1416 * term/ieee1275/ofconsole.c (MAX): Removed.
1417 (colors): Redone based on VGA palette.
1418 (grub_ofconsole_setcolor): Discard brightness bit since only 8
1419 colors are supported.
1420 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
1421
b045f00a
VS
14222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Fix potential EfiEmu double prepare.
1425
1426 * efiemu/main.c (prepared): New variable
1427 (grub_efiemu_unload): Set prepare to '0'.
1428 (grub_efiemu_prepare): Return if already prepared. Set prepared.
1429
1430 set_virtual_address_map support.
1431
1432 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
1433 prototype.
1434 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
1435 prototype.
1436 (grub_efiemu_crc32): Likewise.
1437 (grub_efiemu_crc64): Likewise.
1438 (grub_efiemu_set_virtual_address_map): Likewise.
1439 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
1440 New definition.
1441 (grub_autoefi_set_virtual_address_map): Likewise.
1442 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
1443 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
1444 Restructure flow to accomodate it.
1445 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
1446 (grub_efiemu_crc): Recompute CRC32.
1447 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
1448 (efiemu_ptv_relocated): ... this. Made global. All users updated.
1449 * efiemu/symbols.c (relocated_handle): New variable.
1450 (grub_efiemu_free_syms): Free relocated_handle.
1451 (grub_efiemu_alloc_syms): Allocate relocated_handle.
1452 (grub_efiemu_write_sym_markers): New function.
1453 (grub_efiemu_set_virtual_address_map): Likewise.
1454
1455 Newer XNU parameters.
1456
1457 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
1458 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
1459 (grub_xnu_fill_devicetree): New prototype.
1460 (grub_xnu_heap_real_start): New variable.
1461 * loader/xnu.c (get_name_ptr): New function.
1462 (grub_xnu_load_driver): Fill namelen and name.
1463
1464 64-bit xnu support.
1465
1466 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
1467 and 'loader/macho64.c'.
1468 * conf/i386-pc.rmk: Likewise.
1469 * conf/x86_64-efi.rmk: Likewise.
1470 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
1471 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
1472 * include/grub/macho.h (grub_macho_segment64): New structure.
1473 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
1474 (grub_macho_size32): ... to this.
1475 (grub_macho32_get_entry_point): Renamed from ...
1476 (grub_macho_get_entry_point32): ... to this.
1477 (grub_macho_contains_macho64): New prototype.
1478 (grub_macho_size64): Likewise.
1479 (grub_macho_get_entry_point64): Likewise.
1480 (grub_macho32_load): Renamed from ...
1481 (grub_macho_load32): ... to this.
1482 (grub_macho32_filesize): Renamed from ...
1483 (grub_macho_filesize32): ... to this.
1484 (grub_macho32_readfile): Renamed from ...
1485 (grub_macho_readfile32): ... to this.
1486 (grub_macho_filesize64): New prototype.
1487 (grub_macho_readfile64): Likewise.
1488 (grub_macho_parse32): Likewise.
1489 (grub_macho_parse64): Likewise.
1490 * loader/macho.c: Split into ...
1491 * loader/machoXX.c: ... and this. Replace 32 with XX.
1492 * loader/macho32.c: New file.
1493 * loader/macho64.c: Likewise.
1494 * loader/xnu.c (grub_xnu_is_64bit): New variable.
1495 (grub_cmd_xnu_kernel): Make 32-bit only.
1496 (grub_cmd_xnu_kernel64): New function.
1497 (grub_xnu_load_driver): Support Mach-O 64.
1498 (grub_cmd_xnu_mkext): Likewise.
1499 * util/grub.d/30_os-prober.in (osx_entry): New function.
1500 Generate entries for 64-bit boot too.
1501
1502 Eliminate ad-hoc tree format in XNU and EfiEmu.
1503
1504 * efiemu/main.c (grub_efiemu_prepare): Update comment.
1505 * efiemu/pnvram.c: Rewritten to use environment variables.
1506 All users updated.
1507
1508 Inline utf16_to_utf8.
1509
1510 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
1511 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
1512 All users updated.
1513 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
1514
1515 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
1516 * commands/usbtest.c (grub_usb_get_string): ... move here.
1517 (usb_print_str): Fix error handling.
1518 * include/grub/usb.h (grub_usb_get_string): Remove.
1519
1520 UTF-8 to UTF-16 transformation.
1521
1522 * conf/common.rmk (pkglib_MODULES): Add charset.mod
1523 (charset_mod_SOURCES): New variable.
1524 (charset_mod_CFLAGS): Likewise.
1525 (charset_mod_LDFLAGS): Likewise.
1526 * include/grub/utf.h: New file.
1527 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
1528
1529 Support for device properties.
1530
1531 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
1532 (grub_xnu_devprop_device_header): Likewise.
1533 (grub_xnu_devprop_device_descriptor): Likewise.
1534 (grub_xnu_devprop_add_device): New prototype.
1535 (grub_xnu_devprop_remove_device): Likewise.
1536 (grub_xnu_devprop_remove_property): Likewise.
1537 (grub_xnu_devprop_add_property_utf8): Likewise.
1538 (grub_xnu_devprop_add_property_utf16): Likewise.
1539 (grub_cpu_xnu_init): Likewise.
1540 (grub_cpu_xnu_fini): Likewise.
1541 (grub_cpu_xnu_unload): Likewise.
1542 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
1543 (property_descriptor): Likewise.
1544 (devices): New variable.
1545 (grub_xnu_devprop_remove_property): New function.
1546 (grub_xnu_devprop_add_device): Likewise.
1547 (grub_xnu_devprop_remove_device): Likewise.
1548 (grub_xnu_devprop_add_property): Likewise.
1549 (grub_xnu_devprop_add_property_utf8): Likewise.
1550 (grub_xnu_devprop_add_property_utf16): Likewise.
1551 (hextoval): Likewise.
1552 (grub_cpu_xnu_fill_devprop): Likewise.
1553 (grub_cmd_devprop_load): Likewise.
1554 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
1555 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
1556 (cmd_devprop_load): New variable.
1557 (grub_cpu_xnu_init): New function.
1558 (grub_cpu_xnu_fini): Likewise.
1559 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
1560 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
1561 (grub_cmd_xnu_devtree): Likewise.
1562 (hextoval): New function.
1563 (unescape): Likewise.
1564 (grub_xnu_fill_devicetree): Likewise.
1565
1566 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
1567 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
1568
0945f181
VS
15692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 Workaround for broken ATI VBE.
1572
1573 * video/i386/pc/vbe.c (last_set_mode): New variable.
1574 (grub_vbe_set_video_mode): Set 'last_set_mode'.
1575 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
1576 (grub_video_vbe_setup): Don't check for reserved flag.
1577
0ad46fd7 15782009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
1579
1580 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
1581 the `find' command.
1582
c179ebe4
VS
15832009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 UUID support for HFS.
1586
1587 * fs/hfs.c (grub_hfs_uuid): New function.
1588 (grub_hfs_fs): New value .uuid.
1589 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
1590
0ad46fd7 15912009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
1592
1593 Fix a segfault with parsing unknown long options.
1594
1595 * util/grub-mkrelpath.c (options): Zero terminate it.
1596
c4a3e41a
CPE
15972009-12-13 Carles Pina i Estany <carles@pina.cat>
1598
1599 * include/grub/misc.h (grub_puts): New declaration.
1600 (grub_puts_): Likewise.
a22008a6 1601 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
1602 (grub_puts_): Likewise.
1603
2e8a7602
RM
16042009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1605
1606 * util/grub-probe.c (probe): Improve error message.
1607
b50b77b9
RM
16082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1609
1610 * loader/i386/multiboot_elfxx.c
1611 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
1612 initialization.
1613
16142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 Relocator framework
1617
1618 * loader/i386/xnu_helper.S: Removed. All users updated.
1619 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
1620 (relocator_mod_SOURCES): New variable.
1621 (relocator_mod_CFLAGS): Likewise.
1622 (relocator_mod_LDFLAGS): Likewise.
1623 (relocator_mod_ASFLAGS): Likewise.
1624 * conf/x86_64.rmk: Likewise.
1625 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
1626 (grub_multiboot_payload_entry_offset): Likewise.
1627 (grub_multiboot_forward_relocator): Likewise.
1628 (grub_multiboot_forward_relocator_end): Likewise.
1629 (grub_multiboot_backward_relocator): Likewise.
1630 (grub_multiboot_backward_relocator_end): Likewise.
1631 (grub_multiboot_payload_eip): New variable.
1632 (grub_multiboot_payload_orig): Likewise.
1633 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
1634 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
1635 * include/grub/i386/memory.h
1636 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
1637 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
1638 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
1639 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
1640 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
1641 * include/grub/i386/relocator.h: New file.
1642 * include/grub/x86_64/relocator.h: Likewise.
1643 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
1644 (XNU_RELOCATOR): New macro.
1645 (grub_xnu_launcher_start): Remove.
1646 (grub_xnu_launcher_end): Likewise.
1647 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
1648 (grub_xnu_heap_real_start): Remove.
1649 (grub_xnu_heap_start): Change to void *. All users updated.
1650 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
1651 * lib/i386/relocator.c: New file.
1652 * lib/i386/relocator_asm.S: Likewise.
1653 * lib/i386/relocator_backward.S: Likewise.
1654 * lib/mips/relocator.c: Likewise.
1655 * lib/mips/relocator_asm.S: Likewise.
1656 * lib/relocator.c: Likewise.
1657 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
1658 (entry): Removed.
1659 (playground): Likewise.
1660 (grub_multiboot_payload_orig): New variable.
1661 (grub_multiboot_payload_dest): Likewise.
1662 (grub_multiboot_payload_size): Likewise.
1663 (grub_multiboot_payload_eip): Likewise.
1664 (grub_multiboot_payload_esp): Likewise.
1665 (grub_multiboot_boot): Use grub_relocator32_boot.
1666 (grub_multiboot_unload): Free relocators.
1667 (grub_multiboot): Setup stack. Use relocators.
1668 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
1669 (grub_multiboot_load_elfXX): Use relocators.
1670 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
1671 (grub_multiboot_payload_size): Likewise.
1672 (grub_multiboot_payload_dest): Likewise.
1673 (grub_multiboot_payload_entry_offset): Likewise.
1674 (grub_multiboot_forward_relocator): Likewise.
1675 (grub_multiboot_backward_relocator): Likewise.
1676 (grub_multiboot_real_boot): Likewise.
1677 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
1678 (grub_xnu_entry_point): Likewise.
1679 (grub_xnu_arg1): Likewise.
1680 (grub_xnu_stack): Likewise.
1681 (grub_xnu_launch): Removed.
1682 (grub_xnu_boot_resume): New function.
1683 (grub_xnu_boot): Use relocators.
1684 * loader/i386/xnu_helper.S: Removed.
1685 * loader/xnu.c (grub_xnu_heap_start): New variable.
1686 (grub_xnu_heap_size): Likewise.
1687 (grub_xnu_heap_malloc): Use relocators.
1688 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
1689
29eb90c6
VS
16902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
1693 anything.
1694
31027430
CPE
16952009-12-13 Carles Pina i Estany <carles@pina.cat>
1696
1697 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
1698 GRUB_ERR_NONE before calling grub_env_set.
1699
dc0c71d9
RM
17002009-12-12 Robert Millan <rmh@aybabtu.com>
1701
1702 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
1703 * genmk.rb (video): New variable.
1704 (CLEANFILES, VIDEOFILES): Add #{video}.
1705 (#{video}): New target rule.
1706 * genvideolist.sh: New file.
1707 * Makefile.in (pkglib_DATA): Add video.lst.
1708 (video.lst): New target rule.
1709 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
1710 `video.lst'.
1711 * util/grub.d/30_os-prober.in: Replace `vbe' with
1712 ${GRUB_VIDEO_BACKEND}.
1713
2a4bfcf0
RM
17142009-12-11 Robert Millan <rmh.grub@aybabtu.com>
1715
1716 * THANKS: Add David Miller.
1717
2a3aa4d5
RM
17182009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 libpciaccess support.
1721
1722 * Makefile.in (LIBPCIACCESS): New variable.
1723 (enable_grub_emu_pci): Likewise.
1724 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
1725 util/pci.c and commands/lspci.c.
1726 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
1727 * configure.ac (grub-emu-pci): New option.
1728 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
1729 (grub_pci_device_unmap_range): Likewise.
1730 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
1731 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
1732 (grub_pci_address_t) [!GRUB_UTIL]: New type.
1733 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
1734 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
1735 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
1736 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
1737 * include/grub/pciutils.h: New file.
1738 * util/pci.c: Likewise.
1739
0ad46fd7 17402009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
1741
1742 * util/misc.c: Don't include <errno.h> twice.
1743
0ad46fd7 17442009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
1745
1746 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
1747 name in an error message.
1748 (grub_biosdisk_rw): Likewise.
1749
2e59983c
VS
17502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Eliminate NTFS 4Gib barrier.
1753
1754 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
1755 (read_run_data): Likewise.
1756 (grub_ntfs_read_run_list): Likewise.
1757 (grub_ntfs_read_block): Likewise.
1758 (grub_ntfs_iterate_dir): Likewise.
1759 (read_mft): Likewise.
1760 (read_data): Likewise.
1761 Use COM_LOG_LEN.
1762 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
1763 to avoid 64-bit division
1764 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
1765 (grub_ntfs_rlst): Use grub_disk_addr_t.
1766
71ee178a
VS
17672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 Eliminate grub-fstest 4Gib barrier.
1770
1771 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
1772 (read_file): Fix error reporting.
1773
2520d4b8
VS
17742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Eliminate hexdump 4Gib barrier.
1777
1778 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
1779 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
1780
e1f27065
VS
17812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
1784 Fixes amarsh bug.
1785
1a0f7f45
RM
17862009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
1787
1788 Remove miscellaneous files in distclean target.
1789
1790 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
1791
c631d9fb
CW
17922009-12-09 Colin Watson <cjwatson@ubuntu.com>
1793
1794 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
1795 if they're already set. This resolves the conflict between my
1796 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
1797 fixing the --grub-probe option again.
1798 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
1799 change on 2009-10-06, so that we now once again source
1800 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1801
7c7b6106
RM
18022009-12-08 Robert Millan <rmh.grub@aybabtu.com>
1803
1804 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
1805 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
1806 `util/devicemap.c'.
1807
e3069ec1
CPE
18082009-12-08 Carles Pina i Estany <carles@pina.cat>
1809
1810 * include/grub/misc.h (grub_printf_): New declaration.
1811 * kern/misc.c (grub_printf_): New definition.
1812 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
1813 instead of `grub_printf' and `_'.
1814 * normal/menu_entry.c (store_completion): Likewise.
1815 (run): Likewise.
1816 (grub_menu_entry_run): Likewise.
1817 * normal/menu_text.c (grub_wait_after_message): Likewise.
1818 (notify_booting): Likewise.
1819 (notify_fallback): Likewise.
1820 (notify_execution_failure): Likewise.
1821
d6ceebf1
CW
18222009-12-07 Colin Watson <cjwatson@ubuntu.com>
1823
1824 * configure.ac: Check for vasprintf.
1825 * util/misc.c (asprintf): Move allocation from here ...
1826 (vasprintf): ... to here. New function.
1827 (xasprintf): New function.
1828 * include/grub/util/misc.h (vasprintf, xasprintf): Add
1829 prototypes.
1830 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1831 * util/grub-mkfont.c (write_font): Likewise.
1832 * util/grub-probe.c (probe): Likewise.
1833 * util/hostdisk.c (make_device_name): Likewise.
1834
de6daa8b
DM
18352009-12-06 David S. Miller <davem@sunset.davemloft.net>
1836
1837 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
1838 anything even prefixed with 'cdrom' as a cdrom.
1839
0ad46fd7 18402009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
1841
1842 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
1843 mount points.
1844
98d3dc02
CPE
18452009-12-05 Carles Pina i Estany <carles@pina.cat>
1846
1847 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
1848 grub_gettext_msg_list.
1849 (grub_gettext_gettranslation_from_position): Return const char *
1850 and not char *.
a2c1332b 1851 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
1852 returns from the list if existing there.
1853 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
1854 (grub_gettext_delete_list): Delete the list.
1855 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
1856 lang environment variable is changed.
1857 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
1858
b283f108
VS
18592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 Rename kernel.mod to kernel.img.
1862
1863 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
1864 (kernel_mod_EXPORTS): Rename to ...
1865 (kernel_img_EXPORTS): ... this.
1866 (kernel_mod_SOURCES): Rename to ...
1867 (kernel_img_SOURCES): ... this.
1868 (kernel_mod_HEADERS): Rename to ...
1869 (kernel_img_HEADERS): ... this. All users updated.
1870 (kernel_mod_CFLAGS): Rename to ...
1871 (kernel_img_CFLAGS): ... this.
1872 (kernel_mod_ASFLAGS): Rename to ...
1873 (kernel_img_ASFLAGS): ... this.
1874 (kernel_mod_LDFLAGS): Rename to ...
1875 (kernel_img_LDFLAGS): ... this.
1876 * conf/x86_64-efi.rmk: Likewise.
1877 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
1878 (read_kernel_image): ... this. All users updated.
1879 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
1880
69055f8a
CPE
18812009-12-05 Carles Pina i Estany <carles@pina.cat>
1882
1883 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
1884 (print_spaces): New function.
1885 (grub_print_ucs4): New function.
1886 (getstringwidth): New function.
1887 (print_message_indented): New function.
1888 (print_message): Gettexttize strings using print_message_indented.
1889 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
1890 width.
1891 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 1892 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
1893 Gettextize.
1894 * normal/menu_entry.c (store_completion): Cleanup the gettextized
1895 string.
1896 (run): Likewise.
1897 (grub_menu_entry_run): Likewise.
1898 * PO/POTFILES: Add normal/menu_entry.c.
1899
f616f51c
VS
19002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
1903
57bbe3be
CPE
19042009-12-05 Carles Pina i Estany <carles@pina.cat>
1905
1906 * util/grub-install.in: Install gettext .mo files.
1907 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
1908
013d67a1
CPE
19092009-12-05 Carles Pina i Estany <carles@pina.cat>
1910
1911 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
1912 grub_dprintf.
1913
fb954db0
RM
19142009-12-05 Robert Millan <rmh.grub@aybabtu.com>
1915
1916 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
1917 non-firmware-dependant one in realmode.S takes precedence.
1918
6b8474f8
RM
19192009-12-04 Robert Millan <rmh.grub@aybabtu.com>
1920
1921 * commands/halt.c: Replace misc arch-specific headers with
1922 `<grub/misc.h>'.
1923 * commands/reboot.c: Likewise.
1924 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
1925 `<grub/misc.h>'.
1926 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
1927 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
1928 (kernel_img_SOURCES): ... to here.
1929
1930 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
1931 * include/grub/i386/pc/init.h: Likewise.
1932 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1933 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1934
1935 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1936
1937 * include/grub/i386/halt.h: Remove.
1938 * include/grub/i386/reboot.h: Likewise.
1939
1940 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1941
4b2e6ca2
DM
19422009-12-03 David S. Miller <davem@sunset.davemloft.net>
1943
1944 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1945 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1946 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1947 "progname.h"
1948 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1949 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1950 (usage): Add missing comma in printf.
1951
5239348f
RM
19522009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1953
1954 Use the same reboot approach on i386 coreboot and qemu as we do on
1955 BIOS.
1956
1957 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1958 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1959 * kern/i386/reboot.c: Remove.
1960 * include/grub/i386/reboot.h (grub_reboot): Export function.
1961 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1962 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1963 0xf000:0xfff0 instead of 0xffff:0x0000.
1964 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1965 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1966
ef34cbd4
RM
19672009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1968
1969 Fix $srcdir != $objdir build.
1970
1971 * Makefile.in (po/%.po): Rewrite as ...
1972 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1973
dc9837ea
ST
19742009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1975
1976 Fix GNU/Hurd grub-install crash.
1977 * util/grub-probe.c (probe): Try to access `path' only when it is not
1978 NULL.
1979
2f857f98
VS
19802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 Correct module naming.
1983
1984 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1985 (GRUB_MOD_INIT(efi_uga)): ... to this
1986 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1987 (GRUB_MOD_FINI(efi_uga)): ... to this
1988 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1989 (GRUB_MOD_INIT(efi_gop)): ... to this
1990 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1991 (GRUB_MOD_FINI(efi_gop)): ... to this
1992
c5448046
RM
19932009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1994
1995 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
1996 translatable.
1997 (usage): Translate `arg' strings using gettext().
1998 Thanks to Jordi Mallach for the suggestion.
1999
c85184ad
VS
20002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 GOP support. Based on patch from Bean
2003 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2004
2005 * video/efi_gop.c: New file.
2006 * include/grub/efi/graphics_output.h: Likewise.
2007 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
2008 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2009 variables.
2010 * conf/x86_64-efi.rmk: Likewise.
2011
8a4c48d8
VS
20122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Rename efi_fb to efi_uga.
2015
2016 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2017 'efi_uga.mod'.
2018 (efi_fb_mod_SOURCES): Rename this ...
2019 (efi_uga_mod_SOURCES): ... to this.
2020 (efi_fb_mod_CFLAGS): Rename this ...
2021 (efi_uga_mod_CFLAGS): ... to this.
2022 (efi_fb_mod_LDFLAGS): Rename this ...
2023 (efi_uga_mod_LDFLAGS): ... to this.
2024 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2025 'efi_uga.mod'.
2026 (efi_fb_mod_SOURCES): Rename this ...
2027 (efi_uga_mod_SOURCES): ... to this.
2028 (efi_fb_mod_CFLAGS): Rename this ...
2029 (efi_uga_mod_CFLAGS): ... to this.
2030 (efi_fb_mod_LDFLAGS): Rename this ...
2031 (efi_uga_mod_LDFLAGS): ... to this.
2032 * video/efi_fb.c: Move this ...
2033 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2034
fb6c1a7b
RM
20352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2036
2037 * po/README: New file. Explain our PO file workflow.
2038
3bc7896c
RM
20392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2040
2041 * po/ChangeLog: Remove. Move relevant entries back to ...
2042 * ChangeLog: ... here.
2043 * po/ca.po: Remove (now handled by TLP).
2044 * po/id.po: Likewise.
2045 * po/zh_CN.po: Likewise.
2046 * Makefile.in (LINGUAS): Initialize in a way that supports
2047 empty set.
2048
9ed4841d
RM
20492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2050
2051 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2052 reliing on po/LINGUAS.
2053 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2054 (po/%.po): ... this.
2055
0ad46fd7 20562009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2057
2058 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2059 (main): Use `program_name' instead of nonexistent `progname'.
2060
e30dd392
FZ
20612009-11-26 Felix Zielcke <fzielcke@z-51.de>
2062
2063 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2064 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2065
7656de4f
RM
20662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2067
2068 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2069 commit.
2070 * conf/i386-efi.rmk: Likewise.
2071 * conf/i386-ieee1275.rmk: Likewise.
2072 * conf/powerpc-ieee1275.rmk: Likewise.
2073 * conf/sparc64-ieee1275.rmk: Likewise.
2074 * conf/x86_64-efi.rmk: Likewise.
2075
db77c4d4
FZ
20762009-11-26 Felix Zielcke <fzielcke@z-51.de>
2077
2078 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2079
a755bb04
FZ
20802009-11-26 Felix Zielcke <fzielcke@z-51.de>
2081
2082 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2083
8a4c07fd
RM
20842009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2085
2086 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2087 (grub_mkdevicemap_SOURCES): New variable.
2088 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2089 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2090 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2091 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2092 (grub_mkdevicemap_SOURCES): Remove.
2093 * conf/i386-efi.rmk: Likewise.
2094 * conf/i386-ieee1275.rmk: Likewise.
2095 * conf/i386-pc.rmk: Likewise.
2096 * conf/powerpc-ieee1275.rmk: Likewise.
2097 * conf/sparc64-ieee1275.rmk: Likewise.
2098 * conf/x86_64-efi.rmk: Likewise.
2099 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2100 (usage): Fix strings to use `program_name'.
2101 (main): Initialize gettext.
2102 * util/grub-editenv.c: Likewise.
2103 * util/grub-emu.c: Likewise.
2104 * util/grub-fstest.c: Likewise.
2105 * util/grub-mkdevicemap.c: Likewise.
2106 * util/grub-mkfont.c: Likewise.
2107 * util/grub-mkrelpath.c: Likewise.
2108 * util/grub-pe2elf.c: Likewise.
2109 * util/grub-probe.c: Likewise.
2110 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2111 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2112 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2113
2114 * util/misc.c: Include `"progname.h"'.
2115 (progname): Remove variable.
2116 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
2117
6f61ed55
FZ
21182009-11-25 Felix Zielcke <fzielcke@z-51.de>
2119
2120 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
2121 printf and print a newline after the menuentry header line.
2122 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2123
f022876b
FZ
21242009-11-25 Felix Zielcke <fzielcke@z-51.de>
2125
2126 autoconf >= 2.60 support $(localedir).
2127
2128 * INSTALL: Note that autoconf 2.60 is required.
2129 * configure.ac (AC_PREREQ): Bump to 2.60.
2130 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
2131 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2132
6717926e
YB
21332009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
2134
2135 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
2136 aclocal is run.
2137
08806a54
RM
21382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2139
2140 * normal/main.c (grub_normal_read_line): Fix off-by-one
2141 buffer overflow.
2142
13b33fba
RM
21432009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2144
2145 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
2146 "parser.grub" in grub_command_execute() call.
2147
4a8572e9
CPE
21482009-11-24 Carles Pina i Estany <carles@pina.cat>
2149
2150 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
2151 * conf/i386-efi.rmk: Likewise.
2152 * conf/i386-ieee1275.rmk: Likewise.
2153 * conf/i386-pc.rmk: Likewise.
2154 * conf/powerpc-ieee1275.rmk: Likewise.
2155 * conf/sparc64-ieee1275.rmk: Likewise.
2156 * conf/x86_64-efi.rmk: Likewise.
2157 * gettext/gettex.c: Include <grub/i18n.h>.
2158 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
2159 here ...
2160 * include/grub/i18n.h: ... to here
2161 * include/grub/i18n.h: ... to here.
2162 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 2163 (grub_gettext_dummy): Move above user.
4a8572e9 2164
bee48093
FZ
21652009-11-24 Felix Zielcke <fzielcke@z-51.de>
2166
2167 * util/Makefile.in (install-local): Convert a `for' into a normal
2168 shell expansion.
2169
a031e91c
RM
21702009-11-24 Robert Millan <rmh.grub@aybabtu.com>
2171
2172 * autogen.sh: Add automake call.
2173 * config.guess: Remove.
2174 * config.sub: Likewise.
2175 * install-sh: Likewise.
2176
26bec39d
FZ
21772009-11-24 Felix Zielcke <fzielcke@z-51.de>
2178
2179 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
2180
8e2532fd
FZ
21812009-11-24 Felix Zielcke <fzielcke@z-51.de>
2182
2183 * util/Makefile.in (install-local): Convert a make `$(foreach)'
2184 function to a normal shell `for'.
2185
fefa1b7d
FZ
21862009-11-24 Felix Zielcke <fzielcke@z-51.de>
2187
2188 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2189
4501250b
FZ
21902009-11-24 Felix Zielcke <fzielcke@z-51.de>
2191
2192 * util/grub-mkrelpath.c: New file.
2193 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
2194 (grub_mkrelpath_SOURCES): New variable.
2195 * include/grub/util/misc.h: New function prototype.
2196 * util/misc.c (make_system_path_relative_to_its_root): New function.
2197
2198 * util/grub-mkconfig_lib.in (bindir): New variable.
2199 (grub_mkrelpath): Likewise.
2200 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
2201
2202 * util/probe.c (probe): Make the file path relative to its root.
2203 Change a info message to use the GRUB path. Enable again the
2204 check if we can read the file with GRUB facilities.
2205
2206 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
2207 to its root.
2208
11d9778b
FZ
22092009-11-24 Felix Zielcke <fzielcke@z-51.de>
2210
2211 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
2212 platform.
2213
4465287d
FZ
22142009-11-24 Felix Zielcke <fzielcke@z-51.de>
2215
2216 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
2217 strncmp().
2218
62b47f22
FZ
22192009-11-24 Felix Zielcke <fzielcke@z-51.de>
2220
2221 * util/getroot.c (grub_util_is_dmraid): New function.
2222 (grub_util_get_dev_abstraction): Treat dmraid and multipath
2223 devices as normal ones, not as LVM.
2224
1eafb9b9 22252009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
2226
2227 * conf/common.rmk: Add grub-gettext_lib target and updates
2228 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
2229 LDFLAGS.
2230 * gettext/gettext.c: New file. (Reads mo files).
2231 * include/grub/file.h (grub_file_pread): New prototype.
2232 * include/grub/i18n.h (_): New prototype.
2233 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
2234 prototypes.
2235 * kern/misc.c (grub_gettext_dummy): New function.
2236 * normal/menu_text.c: Include <grub/i18n.h>.
2237 * normal/menu_text.c (print_timeout): Gettexttize string.
2238 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
2239 * po/POTFILES: Add `normal/menu_text.c'.
2240 * po/ca.po: Add new translations.
c3ea6bd4
CPE
2241 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
2242 gettext module and defines locale_dir and lang in grub.cfg.
2243 * NEWS: Add gettext support.
2244
0fdb2568
RM
22452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2246
2247 * util/hostdisk.c: Include `<grub/i18n.h>'.
2248 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
2249 (make_device_name): Rewrite using asprintf.
2250 (convert_system_partition_to_system_disk): Replace 0 with NULL.
2251 (find_system_device): If a device is not found, generate one just
2252 by reusing the OS path name.
2253 (read_device_map): Make it permissible for device.map not to exist.
2254
f515aa62
RM
22552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2256
2257 * script/sh/execute.c: Move from here ...
2258 * script/execute.c: ... to here. Update all users.
2259 * script/sh/function.c: Move from here ...
2260 * script/function.c: ... to here. Update all users.
2261 * script/sh/lexer.c: Move from here ...
2262 * script/lexer.c: ... to here. Update all users.
2263 * script/sh/main.c: Move from here ...
2264 * script/main.c: ... to here. Update all users.
2265 * script/sh/parser.y: Move from here ...
2266 * script/parser.y: ... to here. Update all users.
2267 * script/sh/script.c: Move from here ...
2268 * script/script.c: ... to here. Update all users.
2269
f84b481b
RM
22702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2271
2272 * configure.ac: Detect all `emu' platforms. Define
2273 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
2274 --enable-grub-emu logic. Disable include/grub/machine
2275 symlink on `emu' platforms.
2276
2277 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
2278 * gensymlist.sh.in: Likewise.
2279
2280 * include/grub/i386/coreboot/machine.h: Remove file.
2281 * include/grub/i386/efi/machine.h: Likewise.
2282 * include/grub/i386/ieee1275/machine.h: Likewise.
2283 * include/grub/i386/pc/machine.h: Likewise.
2284 * include/grub/i386/qemu/machine.h: Likewise.
2285 * include/grub/powerpc/ieee1275/machine.h: Likewise.
2286 * include/grub/sparc64/ieee1275/machine.h: Likewise.
2287 * include/grub/x86_64/efi/machine.h: Likewise.
2288
2289 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
2290 * commands/halt.c: Likewise.
2291 * commands/reboot.c: Likewise.
2292 * include/grub/autoefi.h: Likewise.
2293 * include/grub/i386/at_keyboard.h: Likewise.
2294 * include/grub/i386/kernel.h: Likewise.
2295 * include/grub/i386/loader.h: Likewise.
2296 * include/grub/i386/pc/memory.h: Likewise.
2297 * kern/dl.c: Likewise.
2298 * kern/i386/coreboot/init.c: Likewise.
2299 * loader/i386/bsd.c: Likewise.
2300 * loader/i386/linux.c: Likewise.
2301 * loader/multiboot_loader.c: Likewise.
2302 * term/i386/pc/serial.c: Likewise.
2303 * term/usb_keyboard.c: Likewise.
2304
2305 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
2306 `<grub/machine/machine.h>'
2307 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
2308 * util/misc.c: Remove `<grub/machine/machine.h>' and
2309 `<grub/machine/time.h>'.
2310
2311 * Makefile.in (enable_grub_emu): Remove variable.
2312 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
2313
2314 * conf/any-emu.rmk: New file.
2315 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
2316 (grub_emu_init.c): Move from here ...
2317 * conf/any-emu.rmk: ... to here.
2318
2319 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
2320 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
2321 * conf/any-emu.rmk: ... to here.
2322
4efeab03
RM
23232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2324
2325 * include/grub/parser.h (grub_parser_register): Document need
2326 of `name' parameter.
2327 * normal/main.c (grub_normal_read_line): Simplify prompt string.
2328 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
2329 "sh" to "grub".
2330
ea1dd8bf
RM
23312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2332
2333 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
2334 `$(XGETTEXT)'.
2335 * include/grub/i18n.h (N_): New macro.
2336 * util/mkisofs/mkisofs.h: Likewise.
2337 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
2338 around N_().
2339 (usage): Use gettext() to translate help strings when printing them.
2340
0c140626
RM
23412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2342
2343 Based on patch from Bean
2344 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2345
2346 * video/efi_fb.c: New file.
2347 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
2348 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2349 variables.
2350 * conf/x86_64-efi.rmk: Likewise.
2351
87d58298
RM
23522009-11-22 Robert Millan <rmh.grub@aybabtu.com>
2353
2354 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
2355 * util/i386/pc/grub-setup.c: Likewise.
2356
994cc3a3
ST
23572009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2358
2359 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
2360 <hurd/fs.h>
2361 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
2362 file_get_storage_info to implement grub_guess_root_device.
2363
26a61d6a
FZ
23642009-11-21 Felix Zielcke <fzielcke@z-51.de>
2365
2366 * Makefile.in (target): Use make's builtin $(shell) function
2367 instead of calling directly $(SHELL) to create the locale directories,
2368 inside the $(foreach) function.
2369
74ff1dd5
FZ
23702009-11-21 Felix Zielcke <fzielcke@z-51.de>
2371
2372 * util/grub-mkrescue.in: Print an error and usage if output option
2373 has not been given.
2374
0b787d0e
FZ
23752009-11-21 Felix Zielcke <fzielcke@z-51.de>
2376
2377 Patch from Loïc Minier <loic.minier@ubuntu.com>.
2378 * util/grub.d/30_os-prober.in: Cope with Linux entries where
2379 root and /boot are on different devices.
2380
1164b270
RM
23812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2382
2383 Fix build for srcdir != objdir.
2384
2385 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
2386 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
2387 $(srcdir).
2388 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
2389 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
2390 reference for input.
2391
13774a2f
RM
23922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2393
2394 * util/grub-mkrescue.in: Use source directory direcly (without copiing
2395 or hardlinking it). Remove -J option, Joliet is not compatible with
2396 multiple source directories.
2397
efda854e
RM
23982009-11-21 Carles Pina i Estany <carles@pina.cat>
23992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2400
2401 * util/grub-mkrescue.in: Recognize `--override-directory' option.
2402 (process_input_dir): New function. Process an arbitrary input
2403 directory.
2404 Misc adjustments to support both "override mode" and system-wide mode.
2405
6c09890c
FZ
24062009-11-20 Felix Zielcke <fzielcke@z-51.de>
2407
2408 * configure.ac (UNIFONT_BDF): Rename to ...
2409 (FONT_SOURCE): ... this. Update all users.
2410
a797824f
FZ
24112009-11-20 Felix Zielcke <fzielcke@z-51.de>
2412
2413 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
2414 to the list of unifont files to look for.
2415
cd4f42b0
RM
24162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2417
2418 Patch from Joe Auricchio <jauricchio@gmail.com>
2419 * commands/minicmd.c (grub_mini_cmd_clear): New function.
2420 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
2421 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
2422
393c783d
FZ
24232009-11-19 Felix Zielcke <fzielcke@z-51.de>
2424
2425 * Makefile.in (install-local): Add a missing backslash.
2426
b2f1e327
FZ
24272009-11-19 Felix Zielcke <fzielcke@z-51.de>
2428
2429 * include/grub/x86_64/io.h: New file.
2430
f577f7a0
RM
24312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2432
2433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
2434 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
2435 Include `"progname.h"'.
2436 (main): Initialize gettext.
2437 * util/i386/pc/grub-setup.c: Gettexttize.
2438 * util/i386/pc/grub-mkimage.c: Likewise.
2439
2440 * Makefile.in (po/*.po): Redefine as ...
2441 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
2442
3bc7896c
RM
2443 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
2444
c37943b6
RM
24452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2446
2447 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
2448 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
2449 (program_name): Remove.
2450 (main): Initialize gettext support.
6323f705
RM
2451 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
2452 Include `<libintl.h>'.
2453 (_): New macro.
c37943b6
RM
2454
2455 * util/mkisofs/eltorito.c: Gettexttize.
2456 * util/mkisofs/joliet.c: Likewise.
2457 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
2458 * util/mkisofs/multi.c: Likewise.
2459 * util/mkisofs/rock.c: Likewise.
2460 * util/mkisofs/tree.c: Likewise.
2461 * util/mkisofs/write.c: Likewise.
2462
3bc7896c
RM
2463 * po/POTFILES: Update with new files.
2464
5ce77c6e
RM
24652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2466
2467 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
2468 * util/mkisofs/iso9660.h: Likewise.
2469 * util/mkisofs/joliet.c: Likewise.
2470 * util/mkisofs/mkisofs.c: Likewise.
2471 * util/mkisofs/mkisofs.h: Likewise.
2472 * util/mkisofs/rock.c: Likewise.
2473 * util/mkisofs/tree.c: Likewise.
2474 * util/mkisofs/write.c: Likewise.
2475
2476 * util/mkisofs/eltorito.c (rcsid): Remove.
2477 * util/mkisofs/hash.c: Likewise.
2478 * util/mkisofs/joliet.c: Likewise.
2479 * util/mkisofs/name.c: Likewise.
2480 * util/mkisofs/rock.c: Likewise.
2481 * util/mkisofs/tree.c: Likewise.
2482 * util/mkisofs/write.c: Likewise.
2483
1dabbc77
RM
24842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2485
2486 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
2487 instead of static allocation.
2488 * util/mkisofs/match.h: Likewise.
2489
633877cb
RM
24902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2491
3bc7896c
RM
2492 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
2493 and `util/grub.d/10_linux.in'.
633877cb
RM
2494 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
2495 translatable Shell files.
2496
af1c0c85
RM
24972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2498
2499 * Makefile.in ($(srcdir)/aclocal.m4): New target.
2500
769ae37b
RM
25012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2502
2503 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 2504 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
2505 * util/grub.d/10_kfreebsd.in (bindir): New variable.
2506 Add gettext initialization.
2507 (kfreebsd_entry): Make menuentry output translatable.
2508
25092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2510
2511 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
2512 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
2513 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
2514 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
2515 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 2516 * po/LINGUAS: New file.
769ae37b
RM
2517
25182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2519
2520 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
2521 other things).
2522 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
2523 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
2524 bindtextdomain() calls for gettext initialization.
2525
25262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2527
2528 * gnulib/progname.c: New file (imported from Gnulib).
2529 * gnulib/progname.h: Likewise.
2530 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2531 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
2532 (usage): Replace `progname' with `program_name'.
2533 (main): Use set_program_name() for program name initialization.
2534
25352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2536
2537 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
2538 from here ...
2539 * Makefile.in (CPPFLAGS): ... to here.
2540
25412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2542
2543 * aclocal.m4: Move from here ...
2544 * acinclude.m4: ... to here.
2545 * autogen.sh: Add call to `aclocal'.
2546 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
2547
25482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2549
2550 * Makefile.in (CLEANFILES): Add `po/*.mo'.
2551 (LINGUAS): New variable.
2552 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
2553 (install-local): Install MO files.
2554 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
2555 * include/grub/i18n.h: New file.
3bc7896c
RM
2556 * po/POTFILES: New file.
2557 * po/ca.po: New file.
769ae37b
RM
2558 * util/grub.d/10_linux.in (bindir): New variable.
2559 Add gettext initialization.
2560 (linux_entry): Make menuentry output translatable.
2561 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
2562 (usage): Make --help output translatable.
2563 (main): Initialize gettext.
2564
02c0a6ad
RM
25652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2566
2567 * import_gcry.py: New file (written by Vladimir with minor
2568 adjustments).
2569 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
2570 ciphers.
2571 * INSTALL: Document that Python is required for bootstrap.
2572
25732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2574
2575 Import ciphers from libgcrypt 1.4.4.
2576
2577 * lib/libgcrypt/cipher/ChangeLog
2578 * lib/libgcrypt/cipher/ac.c
2579 * lib/libgcrypt/cipher/arcfour.c
2580 * lib/libgcrypt/cipher/bithelp.h
2581 * lib/libgcrypt/cipher/blowfish.c
2582 * lib/libgcrypt/cipher/camellia-glue.c
2583 * lib/libgcrypt/cipher/camellia.c
2584 * lib/libgcrypt/cipher/camellia.h
2585 * lib/libgcrypt/cipher/cast5.c
2586 * lib/libgcrypt/cipher/cipher.c
2587 * lib/libgcrypt/cipher/crc.c
2588 * lib/libgcrypt/cipher/des.c
2589 * lib/libgcrypt/cipher/dsa.c
2590 * lib/libgcrypt/cipher/ecc.c
2591 * lib/libgcrypt/cipher/elgamal.c
2592 * lib/libgcrypt/cipher/hash-common.c
2593 * lib/libgcrypt/cipher/hash-common.h
2594 * lib/libgcrypt/cipher/hmac-tests.c
2595 * lib/libgcrypt/cipher/md.c
2596 * lib/libgcrypt/cipher/md4.c
2597 * lib/libgcrypt/cipher/md5.c
2598 * lib/libgcrypt/cipher/primegen.c
2599 * lib/libgcrypt/cipher/pubkey.c
2600 * lib/libgcrypt/cipher/rfc2268.c
2601 * lib/libgcrypt/cipher/rijndael-tables.h
2602 * lib/libgcrypt/cipher/rijndael.c
2603 * lib/libgcrypt/cipher/rmd.h
2604 * lib/libgcrypt/cipher/rmd160.c
2605 * lib/libgcrypt/cipher/rsa.c
2606 * lib/libgcrypt/cipher/seed.c
2607 * lib/libgcrypt/cipher/serpent.c
2608 * lib/libgcrypt/cipher/sha1.c
2609 * lib/libgcrypt/cipher/sha256.c
2610 * lib/libgcrypt/cipher/sha512.c
2611 * lib/libgcrypt/cipher/tiger.c
2612 * lib/libgcrypt/cipher/twofish.c
2613 * lib/libgcrypt/cipher/whirlpool.c
2614
af2f93ac
RM
26152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2616
2617 Fix build for systems without error().
2618
2619 * gnulib/error.c: New file (imported from Gnulib).
2620 * gnulib/error.h: Likewise.
2621 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
2622 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
2623 (this variable is now used by error()).
2624
73fb3dd5
FZ
26252009-11-16 Felix Zielcke <fzielcke@z-51.de>
2626
814f5e96
FZ
2627 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
2628 instead of relying that char is signed.
73fb3dd5 2629
a691ca33
VS
26302009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
2633 blocksize different from specified.
2634 (grub_pxefs_read): Likewise.
2635
2af8f0f4
FZ
26362009-11-16 Felix Zielcke <fzielcke@z-51.de>
2637
2638 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
2639
2640 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
2641 (grub_ata_readwrite): Likewise. Update 2 format strings.
2642 (grub_atapi_read): Likewise.
2643
2644 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
2645 * conf/i386.rmk (pkglib_MODULES): ... to here ...
2646 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
2647 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
2648 (ata_mod_LDFLAGS): Move from here ...
2649 * conf/i386.rmk: ... to here ...
2650 * conf/x86_64-efi.rmk: ... and here.
2651 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
2652 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
2653
83bdecaf
RM
26542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2655
2656 Relicense multiboot.h, with RMS' blessing.
2657
2658 * include/multiboot.h: Change to X11 license.
2659
fd6fd3d7
RM
26602009-11-15 Robert Millan <rmh.grub@aybabtu.com>
2661
2662 Support --version in grub-mkisofs.
2663
2664 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
2665 (OPTION_VERSION): New macro.
2666 (ld_options): Recognize --version.
2667 (usage): Move `program_name' from here ...
2668 (program_name): ... to here. Add `static' qualifier.
2669 (main): Recognize `OPTION_VERSION'.
2670
16a88c49
FZ
26712009-11-15 Felix Zielcke <fzielcke@z-51.de>
2672
2673 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
2674 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
2675
a4158476
RM
26762009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2677
2678 Fix help2man generation for mkisofs.
2679
2680 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
2681 (usage): Send output to stdout (rather than stderr).
2682
fc2208b0
RM
26832009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2684
2685 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
2686 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2687 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
2688 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2689 (bin_SCRIPTS): Add `grub-mkfloppy'.
2690 (grub_mkfloppy_SOURCES): New variable.
2691
2692 * util/grub-mkrescue.in: New file.
2693 * util/i386/pc/grub-mkfloppy.in: New file.
2694
2695 * util/i386/coreboot/grub-mkrescue.in: Remove.
2696 * util/i386/pc/grub-mkrescue.in: Remove.
2697
8d0edf4a
RM
26982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2699
2700 * include/grub/multiboot.h (struct grub_multiboot_header): Move
2701 from here ...
2702 * include/multiboot.h (struct multiboot_header): ... to here. Update
2703 all users.
2704 * include/grub/multiboot.h (struct grub_multiboot_info): Move
2705 from here ...
2706 * include/multiboot.h (struct multiboot_info): ... to here. Update
2707 all users.
2708 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
2709 from here ...
2710 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
2711 Update all users.
2712 * include/grub/multiboot.h (struct grub_mod_list): Move
2713 from here ...
2714 * include/multiboot.h (struct multiboot_mod_list): ... to here.
2715 Update all users.
2716
a73f5969
RM
27172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2718
2719 * include/multiboot2.h (multiboot_word): Rename from this ...
2720 (multiboot2_word): ... to this. Update all users.
2721 (multiboot_header): Rename from this ...
2722 (multiboot2_header): ... to this. Update all users.
2723 (multiboot_tag_header): Rename from this ...
2724 (multiboot2_tag_header): ... to this. Update all users.
2725 (multiboot_tag_start): Rename from this ...
2726 (multiboot2_tag_start): ... to this. Update all users.
2727 (multiboot_tag_name): Rename from this ...
2728 (multiboot2_tag_name): ... to this. Update all users.
2729 (multiboot_tag_module): Rename from this ...
2730 (multiboot2_tag_module): ... to this. Update all users.
2731 (multiboot_tag_memory): Rename from this ...
2732 (multiboot2_tag_memory): ... to this. Update all users.
2733 (multiboot_tag_unused): Rename from this ...
2734 (multiboot2_tag_unused): ... to this. Update all users.
2735 (multiboot_tag_end): Rename from this ...
2736 (multiboot2_tag_end): ... to this. Update all users.
2737
1c8927f0
RM
27382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2739
2740 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
2741 this platform we should support Multiboot1 first.
2742
2743 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2744 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
2745 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
2746
6e1e0d89
RM
27472009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2748
2749 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
2750 of write calls (converting them to fwrite() if they aren't already).
2751 (get_torito_desc): Likewise.
2752 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
2753
7f2b34d8
RM
27542009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2755
2756 * util/i386/pc/grub-install.in: Move from here ...
2757 * util/grub-install.in: ... to here. Update all users.
2758
c0ef3311
CW
27592009-11-11 Colin Watson <cjwatson@ubuntu.com>
2760
2761 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
2762
e1f240ff
RM
27632009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2764
2765 Support for El Torito without floppy emulation.
2766
2767 * util/mkisofs/eltorito.c: Include `<errno.h>'.
2768 (init_boot_catalog): Improve error handling.
2769 (get_torito_desc): Don't use floppy emulation unless requested by
2770 user. Patch boot information table when requested via
2771 `-boot-info-table'.
2772 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
2773 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
2774 (use_boot_info_table): New variables.
2775 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
2776 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
2777 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
2778 `--eltorito-emul-floppy'.
2779 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
2780 and `OPTION_ELTORITO_EMUL_FLOPPY'.
2781 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
2782 (use_boot_info_table, get_731): New prototypes.
2783 * util/mkisofs/write.c (get_731): New function.
2784
af7d4de5
FZ
27852009-11-11 Felix Zielcke <fzielcke@z-51.de>
2786
2787 Fix the generation of the man page.
2788
2789 * util/pc/i386/grub-install.in: Source
2790 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2791
2c55dbc0
RM
27922009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2793
2794 Large file support for grub-mkisofs.
2795
2796 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
2797 * util/mkisofs/mkisofs.c (next_extent, last_extent)
2798 (session_start): Upgrade type to `uint64_t'. Update all users.
2799 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
2800 (struct directory_entry): Upgrade type of `starting_block' and
2801 `size' to `uint64_t'. Update all users.
2802 (struct deferred): Remove unused structure.
2803 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
2804 Update all users.
2805 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
2806 file is larger than `UINT32_MAX'.
2807 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
2808 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
2809 return value.
2810 (struct deferred_write): Upgrade type of `extent' and `size' to
2811 `uint64_t'. Update all users.
2812 (last_extent_written): Upgrade type to `uint64_t'. Update all
2813 users.
2814 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
2815 Update all users. Upgrade type of `remain' to `int64_t' and
2816 `use' to `size_t'. Use error() to handle fread() errors.
2817 (write_files): Rely on write_one_file() rather than calling
2818 xfwrite() directly.
2819
6a9cead5
FZ
28202009-11-09 Felix Zielcke <fzielcke@z-51.de>
2821
2822 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
2823
4825d790
RM
28242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2825
2826 * util/mkisofs/fnmatch.c: Remove.
2827 * util/mkisofs/getopt1.c: Likewise.
2828 * util/mkisofs/getopt.c: Likewise.
2829 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
2830 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
2831 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
2832 `gnulib/getopt1.c' and `gnulib/getopt.c'.
2833 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
2834
2835 * configure.ac: Detect `mingw32msvc' host_os.
2836 Check for lstat(), getuid() and getgid().
2837
2838 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
2839 instances of `u_char' with `uint8_t'.
2840
2841 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
2842 [!HAVE_GETUID] (getuid): New function (stub).
2843 [!HAVE_GETGID] (getgid): Likewise.
2844 [!HAVE_LSTAT] (lstat): Likewise.
2845 [!S_IROTH] (S_IROTH): New macro (dummy).
2846 [!S_IRGRP] (S_IRGRP): Likewise.
2847
84b860d8
RM
28482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2849
2850 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
2851 conditional expression).
2852
66e9b712
RM
28532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2854
2855 Import from Gnulib.
2856
2857 * gnulib/fnmatch.c: New file.
2858 * gnulib/fnmatch.h: Likewise.
2859 * gnulib/fnmatch_loop.c: Likewise.
2860 * gnulib/getopt.c: Likewise.
2861 * gnulib/getopt.h: Likewise.
2862 * gnulib/getopt1.c: Likewise.
2863 * gnulib/getopt_int.h: Likewise.
2864 * gnulib/gettext.h: Likewise.
2865
34f4a5b0
RM
28662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2867
2868 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
2869 * normal/handler.c (read_handler_list): Likewise.
2870
ac451143
RM
28712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2872
2873 Misc cleanup.
2874
2875 * kern/command.c (grub_register_command_prio): Use
2876 grub_zalloc() instead of explicitly zeroing data.
2877 * kern/list.c: Include `<grub/mm.h>'.
2878 (grub_named_list_find): Replace `0' with `NULL'.
2879 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
2880 (fs_module_list): Change type to `grub_named_list_t'. Update all
2881 users.
2882 * normal/dyncmd.c (read_command_list): Add space between function
2883 call and parenthesis.
2884 * normal/handler.c (read_handler_list): Likewise.
2885
4089b167
RM
28862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2887
2888 * normal/auth.c (punishment_delay): Moved from here ...
2889 (grub_auth_strcmp): ... to here (inside function).
2890
325f5037
RM
28912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2892
2893 * include/grub/list.h (struct grub_named_list): Remove `const'
2894 qualifier from `name'.
2895 (struct grub_prio_list): Likewise.
2896
7aea29a3
RM
28972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2898
2899 * normal/auth.c: Include `<grub/time.h>'.
2900 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2901
3fd6f044
RM
29022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2903
2904 * normal/auth.c (punishment_delay): New variable.
2905 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
2906 (grub_auth_check_authentication): Punish failed login attempts with
2907 an incremental (2^N) delay.
2908
a4cd68e4
RM
29092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2910
2911 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
2912 path with $(srcdir).
2913
7ad12f43
VS
29142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2917
c1129f03
RM
29182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2919
2920 * util/i386/coreboot/grub-mkrescue.in: New file.
2921 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
2922 variables.
2923
2924 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
2925 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
2926 * configure.ac: Add header and function checks to satisfy grub-mkisofs
2927 requirements.
2928 * util/mkisofs/defaults.h: New file.
2929 * util/mkisofs/eltorito.c: Likewise.
2930 * util/mkisofs/exclude.h: Likewise.
2931 * util/mkisofs/fnmatch.c: Likewise.
2932 * util/mkisofs/getopt.c: Likewise.
2933 * util/mkisofs/getopt1.c: Likewise.
2934 * util/mkisofs/hash.c: Likewise.
2935 * util/mkisofs/include/fctldefs.h: Likewise.
2936 * util/mkisofs/include/mconfig.h: Likewise.
2937 * util/mkisofs/include/prototyp.h: Likewise.
2938 * util/mkisofs/include/statdefs.h: Likewise.
2939 * util/mkisofs/iso9660.h: Likewise.
2940 * util/mkisofs/joliet.c: Likewise.
2941 * util/mkisofs/match.c: Likewise.
2942 * util/mkisofs/match.h: Likewise.
2943 * util/mkisofs/mkisofs.c: Likewise.
2944 * util/mkisofs/mkisofs.h: Likewise.
2945 * util/mkisofs/multi.c: Likewise.
2946 * util/mkisofs/name.c: Likewise.
2947 * util/mkisofs/rock.c: Likewise.
2948 * util/mkisofs/tree.c: Likewise.
2949 * util/mkisofs/write.c: Likewise.
2950
ec8bb77d
VS
29512009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2954 being insecure.
2955
3716b12c
RM
29562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2957
2958 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2959 `grub-mkimage' (and use $0 when possible).
2960
b97b7b91
RM
29612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2962
2963 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2964 error message for excessively large memory map.
2965
04114812
RM
29662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2967
2968 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2969 executable bit.
2970
e4eb2373
RM
29712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2972
2973 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2974 message for coreboot users.
2975
c926e1d5 29762009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2977
2978 Fix build with GNU gold.
2979
2980 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2981 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2982 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2983 link addresses.
2984 * aclocal.m4: Likewise.
2985
86e5b1db 29862009-11-04 Felix Zielcke <fzielcke@z-51.de>
2987
2988 * configure.ac (AC_PREREQ): Bump to 2.59d.
2989 * INSTALL: Make it more clear when Autoconf and Ruby are
2990 needed and when to run `./autogen.sh'.
2991
246cd78f 29922009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2993
2994 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
2995 OSes.
2996
4f9dfb37 29972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2998
2999 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
3000
b82bd5e1 30012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3002
3003 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
3004 giving it to GNU Mach.
3005
ff1a9bca 30062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3007
3008 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
3009 GNU partition number to get internal GRUB partition number.
3010
61697d9c 30112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3012
3013 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
3014 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
3015
a50569e1 30162009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3017
3018 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3019 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3020 case.
3021
5b153867 30222009-11-01 Felix Zielcke <fzielcke@z-51.de>
3023
3024 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3025
d9e2cd70 30262009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3027
3028 Fix build problem.
3029
3030 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3031 `-isystem=$(srcdir)/include'.
3032
805111a4 30332009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3034
3035 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3036 checked (grub-install doesn't currently rely on it).
3037
fa6e945f 30382009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3039
3040 Revert SVN r2660.
3041
3042 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3043 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3044 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3045 * conf/i386-ieee1275.rmk: Likewise.
3046 * conf/i386-pc.rmk: Likewise.
3047 * conf/powerpc-ieee1275.rmk: Likewise.
3048 * conf/sparc64-ieee1275.rmk: Likewise.
3049 * conf/x86_64-efi.rmk: Likewise.
3050
cee15086 30512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3052
3053 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3054
95b9239e 30552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3056
3057 * include/grub/misc.h: Stop checking for APPLE_CC.
3058
2ed19dfd 30592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3060
3061 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3062 doesn't cause an infinite call loop.
3063
fdcdde19 30642009-10-28 Felix Zielcke <fzielcke@z-51.de>
3065
3066 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3067 strings.
3068
cefabfe1 30692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3070
3071 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3072 variable.
3073 * Makefile.in: Likewise.
3074
ed96ab6d 30752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3076
3077 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3078
0579b753 30792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3080
3081 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3082
478df409 30832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3084
3085 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3086
083d1679 30872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3088
3089 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3090 from here ...
3091 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3092
5947ae32 30932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3094
3095 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3096 in $(MAKEINFO) invocation. This makes it clear in output that
3097 errors are being ignored.
3098
94180ff6 30992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3100
3101 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3102 from here ...
3103 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3104 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
3105 * conf/i386-ieee1275.rmk: Likewise.
3106 * conf/i386-pc.rmk: Likewise.
3107 * conf/powerpc-ieee1275.rmk: Likewise.
3108 * conf/sparc64-ieee1275.rmk: Likewise.
3109 * conf/x86_64-efi.rmk: Likewise.
3110
9031b03a 31112009-10-26 Colin Watson <cjwatson@ubuntu.com>
3112
3113 * util/grub-editenv.c (main): If only a command is given, use
3114 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
3115 (usage): FILENAME is now optional and has a default.
3116
e4f6809b 31172009-10-26 Colin Watson <cjwatson@ubuntu.com>
3118
3119 Improve grub-mkconfig performance when there are several menu
3120 entries on a single filesystem.
3121
3122 * util/grub.d/10_linux.in (linux_entry): Cache the output of
3123 prepare_grub_to_access_device.
3124 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3125 * util/grub.d/30_os-prober.in: Likewise.
3126
67937d4d 31272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3128
3129 * util/grub.d/10_freebsd.in: Remove.
3130 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
3131 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
3132
ee3756cc 31332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3134
5c35048e 3135 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 3136
4dea1c6f 31372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3138
3139 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
3140 grub_util_error() call.
3141
042484d7 31422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3143
3144 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
3145 `reserved_first_sector' member.
3146 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
3147 `reserved_first_sector' to 1.
3148 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
3149 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
3150 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
3151 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
3152 filesystems which begin at first sector.
3153 (options): New option --skip-fs-probe.
3154 (main): Handle --skip-fs-probe and pass it to setup().
3155
d64448a7 31562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3157
3158 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
3159 (memset): Fix function prototype.
3160
508d42ec 31612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31622009-10-25 Vasily Averin <vvs@parallels.com>
3163
3164 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
3165 `dirent.direntlen == 0'.
3166
b240e30c 31672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3168
3169 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
3170 `cpio'.
3171 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
3172
346e7fbe 31732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3174
3175 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
3176 `__trampoline_setup' and `__ucmpdi2'.
3177 * include/grub/powerpc/libgcc.h: Only export symbols for functions
3178 that libgcc provides.
3179
cdb308b0 31802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3181
3182 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
3183 * include/grub/sparc64/libgcc.h (memset): Likewise.
3184 * include/grub/misc.h (memset, memcmp): New function prototypes.
3185
fb26abc2 31862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3187
3188 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
3189 `cpio'.
3190 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
3191
f6693890 31922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3193
3194 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
3195 * docs/grub.cfg: Compensate for recent change in multiboot
3196 loader (since 2009-08-14 it won't pass filename to payload).
3197 * util/grub.d/10_hurd.in: Likewise.
3198
0933cdc0 31992009-10-21 Felix Zielcke <fzielcke@z-51.de>
3200
3201 * config.guess: Update to latest version from config git
3202 repository.
3203 * config.sub: Likewise.
3204
3b2fe8c2 32052009-10-20 Robert Millan <rmh.grub@aybabtu.com>
3206
3207 Fix build on sparc64.
3208
3209 * configure.ac: Perform checks for libgcc symbols before
3210 adding `-nostdlib' to LDFLAGS.
3211
46695a62 32122009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Let user specify OpenBSD root device.
3215
3216 * loader/i386/bsd.c (openbsd_root): New variable.
3217 (openbsd_opts): New option 'root'.
3218 (OPENBSD_ROOT_ARG): New macro.
3219 (grub_openbsd_boot): Use 'openbsd_root'.
3220 (grub_cmd_openbsd): Fill 'openbsd_root'.
3221
d2b6b7fc 32222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3223
3224 * NEWS: Misc adjustments.
3225
421bd7ac 32262009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
3229
f1d29d87 32302009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3231
3232 * configure.ac: Bump version to 1.97.
3233
6f3cd880 32342009-10-16 Colin Watson <cjwatson@ubuntu.com>
3235
3236 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
3237 -mno-3dnow on x86 architectures. Some toolchains enable these
3238 features by default, but they rely on registers that aren't enabled
3239 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
3240
035f7122 32412009-10-15 Robert Millan <rmh.grub@aybabtu.com>
3242
3243 Make entry text a bit more readable.
3244
3245 * util/grub.d/10_linux.in: Add `with' before `Linux'.
3246
44998e58 32472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
3250
cd2851b3 32512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
3254 operations.
3255
c6f3b249 32562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * configure.ac: Add missing dollar.
3259
6b5886ba 32602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
3263
3264 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
3265 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
3266 exports.
3267 * include/grub/sparc64/libgcc.h: Likewise. Use
3268 preprocessor conditionals.
3269
e9d66f6d 32702009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3271
3272 * conf/common.rmk (grub-dumpbios): Remove rule.
3273 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
3274 * util/grub-dumpbios.in: Remove file.
3275
9155bc17 32762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3277
3278 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
3279 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
3280
3281 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
3282 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
3283 users.
3284
3285 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
3286 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
3287 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
3288 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
3289 users.
3290
bf7f7a18 32912009-10-12 Robert Millan <rmh.grub@aybabtu.com>
3292
3293 * term/tparm.c: Switch to GPLv3.
3294
86564c26 32952009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3296
3297 * include/grub/i386/cpuid.h: Add header protection.
3298
5c936493 32992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3300
3301 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
3302
3303 * include/grub/i386/cpuid.h: New file.
3304 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
3305 (has_longmode): Rename to ...
3306 (grub_cpuid_has_longmode): ... this. Update all users. Remove
3307 `static' attribute.
3308 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
3309 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
3310 on a CPU that doesn't implement AMD64 instruction set.
3311
186e7cf2 33122009-10-06 Colin Watson <cjwatson@ubuntu.com>
3313
3314 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
3315 that version.texi is rebuilt on version number changes.
3316
83b65c4a 33172009-10-06 Colin Watson <cjwatson@ubuntu.com>
3318
3319 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
3320 Fixes bug #27602.
3321
d244281c 33222009-10-06 Colin Watson <cjwatson@ubuntu.com>
3323
3324 * util/i386/pc/grub-install.in: Source
3325 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
3326 that the --grub-probe option will work.
3327 * util/sparc64/ieee1275/grub-install.in: Likewise.
3328
da25306d 33292009-10-05 Robert Millan <rmh.grub@aybabtu.com>
3330
3331 * configure.ac: Bump version to 1.97~beta4.
3332
e8ee83c0 33332009-10-03 Robert Millan <rmh.grub@aybabtu.com>
3334
3335 Resync grub-mkdevicemap in x86_64-efi.
3336
3337 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
3338 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
3339 `util/devicemap.c'.
3340
50dcabcf 33412009-10-01 Colin Watson <cjwatson@ubuntu.com>
3342
3343 * util/grub-editenv.c (create_envblk_file): Write new block with a
3344 .new suffix and then rename it into place, to ensure atomic
3345 creation.
3346
0e51c3a7 33472009-09-28 Robert Millan <rmh.grub@aybabtu.com>
3348
3349 Do not automatically install headers.
3350
3351 * Makefile.in (include_DATA): Remove. Update all users.
3352
31299a95 33532009-09-26 Robert Millan <rmh.grub@aybabtu.com>
3354
3355 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
3356 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
3357
3358 * util/osdetect.lua: Remove.
3359 * script/lua/lauxlib.c: Likewise.
3360 * script/lua/ldebug.c: Likewise.
3361 * script/lua/grub_main.c: Likewise.
3362 * script/lua/lauxlib.h: Likewise.
3363 * script/lua/ldebug.h: Likewise.
3364 * script/lua/ltablib.c: Likewise.
3365 * script/lua/liolib.c: Likewise.
3366 * script/lua/lstrlib.c: Likewise.
3367 * script/lua/lualib.h: Likewise.
3368 * script/lua/ldo.c: Likewise.
3369 * script/lua/ldump.c: Likewise.
3370 * script/lua/ldo.h: Likewise.
3371 * script/lua/loslib.c: Likewise.
3372 * script/lua/lundump.c: Likewise.
3373 * script/lua/grub_lib.c: Likewise.
3374 * script/lua/ldblib.c: Likewise.
3375 * script/lua/lundump.h: Likewise.
3376 * script/lua/lmem.c: Likewise.
3377 * script/lua/grub_lib.h: Likewise.
3378 * script/lua/lmathlib.c: Likewise.
3379 * script/lua/lstate.c: Likewise.
3380 * script/lua/ltm.c: Likewise.
3381 * script/lua/lvm.c: Likewise.
3382 * script/lua/lmem.h: Likewise.
3383 * script/lua/lstate.h: Likewise.
3384 * script/lua/ltm.h: Likewise.
3385 * script/lua/ltable.c: Likewise.
3386 * script/lua/lvm.h: Likewise.
3387 * script/lua/llex.c: Likewise.
3388 * script/lua/lgc.c: Likewise.
3389 * script/lua/grub_lua.h: Likewise.
3390 * script/lua/loadlib.c: Likewise.
3391 * script/lua/lfunc.c: Likewise.
3392 * script/lua/lopcodes.c: Likewise.
3393 * script/lua/lparser.c: Likewise.
3394 * script/lua/ltable.h: Likewise.
3395 * script/lua/llex.h: Likewise.
3396 * script/lua/lgc.h: Likewise.
3397 * script/lua/lfunc.h: Likewise.
3398 * script/lua/lbaselib.c: Likewise.
3399 * script/lua/lopcodes.h: Likewise.
3400 * script/lua/lparser.h: Likewise.
3401 * script/lua/lzio.c: Likewise.
3402 * script/lua/linit.c: Likewise.
3403 * script/lua/lobject.c: Likewise.
3404 * script/lua/llimits.h: Likewise.
3405 * script/lua/lstring.c: Likewise.
3406 * script/lua/lzio.h: Likewise.
3407 * script/lua/lapi.c: Likewise.
3408 * script/lua/lcode.c: Likewise.
3409 * script/lua/lua.h: Likewise.
3410 * script/lua/lobject.h: Likewise.
3411 * script/lua/lstring.h: Likewise.
3412 * script/lua/lapi.h: Likewise.
3413 * script/lua/lcode.h: Likewise.
3414 * script/lua/luaconf.h: Likewise.
3415
cb8a2c38 34162009-09-26 Colin Watson <cjwatson@ubuntu.com>
3417
3418 * docs/grub.texi (Command-line and menu entry commands): Document
3419 date and echo commands.
3420
6b9b6276 34212009-09-24 Pavel Roskin <proski@gnu.org>
3422
3423 * include/grub/kernel.h (struct grub_module_header): Remove
3424 `grub_module_header_types'. Make `type' unsigned. Make `size'
3425 32-bit on all platforms.
3426 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
3427 8-bit field. Use grub_host_to_target32() for `size'.
3428 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
3429 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
3430 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
3431
4e5a02a7 34322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3433
3434 Fix "lost keypress" bug in at_keyboard.
3435
3436 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
3437 Checks for readyness of input buffer (without flushing it).
3438 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
3439 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
3440
c6dcedf6 34412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3442
3443 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
3444 size check within GRUB_MACHINE_PCBIOS section.
3445
74c958b1 34462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3447
3448 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
3449 return value.
3450 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
3451 KEYBOARD_ISREADY check.
3452 (grub_at_keyboard_checkkey): Rename to ...
3453 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
3454 Remove gratuitous cast.
3455
ff420223 34562009-09-23 Colin Watson <cjwatson@ubuntu.com>
3457
3458 * configure.ac: Call AC_PROG_MKDIR_P.
3459 * Makefile.in (docs/stamp-vti): Create docs directory. Create
3460 version.texi in $(builddir) rather than $(srcdir).
3461 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
3462 to makeinfo's @include search path.
3463
d96875df 34642009-09-23 Felix Zielcke <fzielcke@z-51.de>
3465
3466 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
3467
9b3f8365 34682009-09-23 Felix Zielcke <fzielcke@z-51.de>
3469
3470 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
3471 for `*.dpkg-new'.
3472
c44c90db 34732009-09-21 Colin Watson <cjwatson@ubuntu.com>
3474
3475 Build info documentation. Some code borrowed from Automake.
3476
3477 * configure.ac: Check for makeinfo.
3478 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
3479 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
3480 docs/version.texi.
3481 (MOSTLYCLEANFILES): Add vti.tmp.
3482 (docs/version.texi, docs/stamp-vti): Update automatically.
3483 (docs/grub.info): Build info documentation. Use --force and ignore
3484 errors for now.
3485 (all-local): Add $(INFOS).
3486 (install-local): Install info files.
3487 (uninstall): Uninstall info files.
3488 * docs/version.texi: Remove from revision control. This file is
3489 automatically generated on build now.
3490 * gendistlist.sh: Add `*.info'.
3491
e0b37bb5 34922009-09-21 Felix Zielcke <fzielcke@z-51.de>
3493
3494 * kern/term.c: Fix indentation.
3495
5a78865b 34962009-09-21 Felix Zielcke <fzielcke@z-51.de>
3497
3498 * util/hostdisk.c: Fix a comment.
3499
dace7e8a 35002009-09-20 Robert Millan <rmh.grub@aybabtu.com>
3501
3502 Fix regression introduced in r2539.
3503
3504 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
3505 to 0xA1.
3506
a83d079b 35072009-09-19 Colin Watson <cjwatson@ubuntu.com>
3508
3509 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 3510 os-prober. Under normal operation, it does not print anything to
3511 stderr; if it does, we need to debug it, and throwing away stderr
3512 makes that excessively difficult.
a83d079b 3513
be94a509 35142009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
3517
63f745e8 35182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3519
3520 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
3521 AC_LANG_PROGRAM from autoconf.
3522 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
3523 prototypes (fixes warning).
3524
3525 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
3526 `--disable-werror' was used.
3527
bbb2a70f 35282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3529
3530 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
3531 uninitialized `lastaddr'.
3532
77c24f1d 35332009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3534
0f0b8c87 3535 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 3536
07197f23 35372009-09-14 Colin Watson <cjwatson@ubuntu.com>
3538
3539 * commands/test.c (get_fileinfo): Return immediately if
3540 grub_fs_probe fails.
3541
dabf1798 35422009-09-14 José Martínez <xosemp@gmail.com>
3543
3544 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
3545
d52109a7 35462009-09-14 Colin Watson <cjwatson@ubuntu.com>
3547
3548 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
3549 output.
3550
56532179 35512009-09-13 Robert Millan <rmh.grub@aybabtu.com>
3552
3553 * configure.ac: Remove --enable-grub-pe2elf. Only build
3554 grub-pe2elf when needed by the build system itself.
3555 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
3556
8ef070f5 35572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3558
3559 * configure.ac: Bump version to 1.97~beta3.
3560 * docs/version.texi: Likewise.
3561
61229557 35622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3563
3564 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
3565 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
3566 from here ...
3567 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
3568 (grub_linux_setup_video): ... to here (with some adjustments).
3569
5c9f8d84 35702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3571
3572 Fix memory corruption issue (spotted by Colin Watson).
3573
3574 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
3575 causing returned size to be stored in an incorrect memory location.
3576 Fix use of uninitialized value when storing the returned size.
3577
e8f5d6e9 35782009-09-12 Yves Blusseau <blusseau@zetam.org>
3579
3580 Change clean rules to properly remove files
3581
3582 * genmk.rb: add new clean rules
3583 * Makefile.in (clean): add the new targets
3584 (mostlyclean): likewise
3585
cda2a409 35862009-09-11 Colin Watson <cjwatson@ubuntu.com>
3587
3588 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
3589 to grub_uint64_t.
3590 * fs/ntfs.c (init_file): Understand 64-bit sizes for
3591 non-resident files.
3592
86695375 35932009-09-11 Colin Watson <cjwatson@ubuntu.com>
3594
3595 * configure.ac: Don't look for help2man when cross-compiling. Fixes
3596 part of bug #27349.
3597
8aa1541a 35982009-09-10 Felix Zielcke <fzielcke@z-51.de>
3599
3600 * util/grub-mkconfig.in: Make the created config mode 400 and
3601 print a warning if it fails.
3602
48d9bb0a 36032009-09-10 Robert Millan <rmh.grub@aybabtu.com>
3604
3605 * util/grub.d/40_custom.in: Ask user to type custom entries below
3606 comment, rather than below 'exec tail' line.
3607
3b0521be 36082009-09-10 Colin Watson <cjwatson@ubuntu.com>
3609
3610 * util/grub.d/40_custom.in: Make sure that the explanatory text is
3611 visible in grub.cfg.
3612
50051d55 36132009-09-10 Colin Watson <cjwatson@ubuntu.com>
3614
3615 * util/grub.d/40_custom.in: Make it a little clearer how to use this
3616 file.
3617
c0d34387 36182009-09-10 Felix Zielcke <fzielcke@z-51.de>
3619
3620 * docs/grub.cfg: Add an example menu entry for memtest86+.
3621
80a608f3 36222009-09-09 Felix Zielcke <fzielcke@z-51.de>
3623
a2094832 3624 * config.guess: Update to latest version from config git.
80a608f3 3625 * config.sub: Likewise.
3626
99423078 36272009-09-08 Colin Watson <cjwatson@ubuntu.com>
3628
3629 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
3630 unknown-command case. Fixes bug #27320.
3631
44454e4c 36322009-09-08 Felix Zielcke <fzielcke@z-51.de>
3633
3634 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
3635 `help' if the command exists.
3636
e30d87ad 36372009-09-06 Robert Millan <rmh.grub@aybabtu.com>
3638
3639 * INSTALL: Require GCC 4.1.3 or later.
3640
9a86f1ec 36412009-09-06 Yves Blusseau <blusseau@zetam.org>
3642
3643 * Makefile.in (RMKFILES): add i386-qemu.rmk
3644 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
3645 $(srcdir)/stamp-h.in
3646
7f26d466 36472009-09-05 Robert Millan <rmh.grub@aybabtu.com>
3648
3649 * util/grub-probe.c (probe): Comment out buggy codepath, which
3650 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
3651 should be re-enabled after 1.97.
3652
3a613259 36532009-09-05 Felix Zielcke <fzielcke@z-51.de>
3654
3655 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
3656 find searches for.
3657
197f76c7 36582009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
3661 unnecessary calls to grub_error.
3662
70ba68ce 36632009-09-04 Colin Watson <cjwatson@ubuntu.com>
3664
3665 * NEWS: Mention `keystatus' and Unicode fonts.
3666
4ff0d7a4 36672009-09-04 Robert Millan <rmh.grub@aybabtu.com>
3668
3669 * configure.ac: Bump version to 1.97~beta2.
3670 * docs/version.texi: Likewise.
3671
77c55a87 36722009-09-03 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
3675 containing unwind information in some cases where it previously did
3676 not. Use -fno-dwarf2-cfi-asm if available to restore the old
3677 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
3678 discussion.
3679
f79572cd 36802009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
3681
3682 Embedding loadenv module into grub-emu
3683
3684 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
3685 commands/loadenv.c
3686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
3687 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
3688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
3689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
3690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
3691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
3692
93a81088 36932009-09-03 Magnus Granberg <zorry@ume.nu>
3694
3695 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
3696 include -fPIE in the default specs.
3697 * configure.ac: Check if pie_possible is yes and add -fno-PIE
3698 to TARGET_CFLAGS.
3699
160034b2 37002009-09-03 Felix Zielcke <fzielcke@z-51.de>
3701
3702 * INSTALL: Note that GNU Bison 2.3 or later is required.
3703
087c07c4 37042009-09-03 Colin Watson <cjwatson@ubuntu.com>
3705
3706 * kern/i386/pc/startup.S: Fix typo.
3707
cbf978c0 37082009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
3711 according to GCS.
3712
37132009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 3714
3715 * docs/grub.texi (Naming convention): Describe one-based partition
3716 numbering.
3717 (Device syntax): Likewise.
3718 (File name syntax): Likewise.
3719 (Block list syntax): Likewise.
3720 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
3721 menu.lst.
3722 (File name syntax): Likewise.
3723 (Command-line and menu entry commands): Document acpi, blocklist,
3724 crc, export, insmod, keystatus, ls, set, and unset commands.
3725
f3e8cdfd 37262009-09-02 Colin Watson <cjwatson@ubuntu.com>
3727
3728 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
3729 to avoid implying that only one of --shift, --ctrl, or --alt may be
3730 used.
3731
c0bc232b 37322009-09-02 Colin Watson <cjwatson@ubuntu.com>
3733
3734 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
3735 rather than comparing against S_IFREG, which will almost never work.
3736
aa0f752d 37372009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
3740 (write_blocklists): Likewise.
3741
ecb3166a 37422009-09-01 Colin Watson <cjwatson@ubuntu.com>
3743
3744 * script/lua/grub_lua.h (fputs): Supply a format string as the first
3745 argument to grub_printf.
3746
c403a125 37472009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 3748
3749 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 3750 non GNU test.
31aba781 3751
b5e7312c 37522009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * kern/file.c (grub_file_read): Spelling fix
3755
fe00f472 37562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
3759 loading of headers in some cases.
3760
cc55302e 37612009-08-30 Robert Millan <rmh.grub@aybabtu.com>
3762
3763 * configure.ac: Bump version to 1.97~beta1.
3764 * docs/version.texi: Likewise.
3765
5c90cdd2 37662009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 3767
3768 * include/grub/i386/xnu.h: Add license header.
3769 include grub/err.h explicitly.
3770
c90edae4 37712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3772
3773 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
3774 to `ufs' in the vfs.root.mountfrom kernel parameter.
3775
d8888b5c 37762009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3777
3778 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
3779
3780 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
3781 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
3782
3783 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
3784 `ARRAY_SIZE' macro.
3785
6f07b921 37862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * kern/file.c (grub_file_read): Check offset.
3789 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
3790 * fs/jfs.c (grub_jfs_read_file): Likewise.
3791 * fs/ntfs.c (grub_ntfs_read): Likewise.
3792 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
3793 * fs/minix.c (grub_minix_read_file): Correct offset check.
3794 * fs/ufs.c (grub_ufs_read_file): Likewise.
3795
b4f34077 37962009-08-28 Colin Watson <cjwatson@ubuntu.com>
3797
3798 * term/i386/pc/console.c (bios_data_area): Cast
3799 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
3800
e7c69859 38012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 1-bit optimised blitters.
3804
3805 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
3806 prototype.
3807 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3808 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3809 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3810 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3811 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3812 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3813 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
3814 function.
3815 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3816 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3817 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3818 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3819 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3820 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3821 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
3822 when possible.
3823 * video/video.c (grub_video_get_blit_format): Return
3824 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
3825
a57da43f 38262009-08-28 Colin Watson <cjwatson@ubuntu.com>
3827
3828 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
3829 the first argument to grub_printf.
3830
4cbe67e5 38312009-08-28 Colin Watson <cjwatson@ubuntu.com>
38322009-08-28 Robert Millan <rmh.grub@aybabtu.com>
3833
3834 Add `getkeystatus' terminal method. Add a new `keystatus' command
3835 to query it.
3836
3837 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
3838 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
3839 modifier key bitmasks.
3840 (struct grub_term_input): Add `getkeystatus' member.
3841 (grub_getkeystatus): Add prototype.
3842 * kern/term.c (grub_getkeystatus): New function.
3843
3844 * include/grub/i386/pc/memory.h
3845 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
3846 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
3847 Data Area layout.
3848 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
3849 (grub_console_term_input): Set `getkeystatus' member.
3850 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
3851 constants.
3852 (grub_usb_keyboard_getreport): Likewise.
3853 (grub_usb_keyboard_checkkey): Likewise.
3854 (grub_usb_keyboard_getkeystatus): New function.
3855 (grub_usb_keyboard_term): Set `getkeystatus' member.
3856
3857 * commands/keystatus.c: New file.
3858 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
3859 (keystatus_mod_SOURCES): New variable.
3860 (keystatus_mod_CFLAGS): Likewise.
3861 (keystatus_mod_LDFLAGS): Likewise.
3862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
3863 commands/keystatus.c.
3864 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3866 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 3870
6e2a9085 38712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 Split befs.mod and afs.mod into *_be.mod and *.mod
3874
3875 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
3876 (grub_fstest_SOURCES): Likewise.
3877 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
3878 (afs_be_mod_SOURCES): New variable.
3879 (afs_be_mod_CFLAGS): Likewise.
3880 (afs_be_mod_LDFLAGS): Likewise.
3881 (befs_be_mod_SOURCES): Likewise.
3882 (befs_be_mod_CFLAGS): Likewise.
3883 (befs_be_mod_LDFLAGS): Likewise.
3884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
3885 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3887 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3888 (grub_emu_SOURCES): Likewise.
3889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3891 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3892 * fs/afs_be.c: New file.
3893 * fs/befs_be.c: New file.
3894 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
3895 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
3896 (U16): Replaced with ...
3897 (grub_afs_to_cpu16): ...this. All users updated.
3898 (U32): Replaced with ...
3899 (grub_afs_to_cpu32): ...this. All users updated.
3900 (U64): Replaced with ...
3901 (grub_afs_to_cpu64): ...this. All users updated.
3902 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
3903 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 3904 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 3905 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3906 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3907 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3908 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3909 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3910 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3911 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3912 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3913
32a71655 39142009-08-26 Bean <bean123ch@gmail.com>
3915
3916 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
3917 64-bit number.
3918 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3919 (grub_xfs_inode_block): Change return type to grub_uint64_t.
3920 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
3921
552bf6c5 39222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 NetBSD memory map support.
3925
3926 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
3927 (grub_netbsd_btinfo_mmap_header): New structure.
3928 (grub_netbsd_btinfo_mmap_entry): Likewise.
3929 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
3930
1ae2078c 39312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Enable bsd.mod on coreboot.
3934
3935 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3936 (bsd_mod_SOURCES): New variable.
3937 (bsd_mod_CFLAGS): Likewise.
3938 (bsd_mod_LDFLAGS): Likewise.
3939 (bsd_mod_ASFLAGS): Likewise.
3940 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3941 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3942
beefc598 39432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 Cleanup NetBSD root support.
3946
3947 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3948 grub_bsd_get_device.
3949 Fix typo.
3950
3b76e68b 39512009-08-25 Felix Zielcke <fzielcke@z-51.de>
3952
3953 * util/grub.d/00_header.in: Move check for the video backend of
3954 gfxterm from here ...
3955 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3956 a suitable video backend.
3957
aea664ea 39582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 Fix breakage in grub-setup.
3961
3962 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3963 "msdos_partition_map".
3964
ff747d50 39652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Fix breakage in normal/auth.c.
3968
3969 * normal/auth.c (grub_iswordseparator): New function.
3970
e7e1f93f 39712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 Authentication support.
3974
3975 * commands/password.c: New file.
3976 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3977 (password_mod_SOURCES): New variable.
3978 (password_mod_CFLAGS): Likewise.
3979 (password_mod_LDFLAGS): Likewise.
3980 (normal_mod_SOURCES): Add normal/auth.c.
3981 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3982 normal/auth.c.
3983 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3984 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3985 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3987 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3988 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3989 * include/grub/auth.h: New file.
3990 * include/grub/err.h (grub_err_t): New enum value
3991 GRUB_ERR_ACCESS_DENIED.
3992 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3993 'users'.
3994 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
3995 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
3996 users updated.
3997 * normal/auth.c: New file.
3998 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
3999 (grub_cmdline_run): Don't allow to go to command line without
4000 authentication.
4001 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
4002 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
4003 menuentry without superuser rights.
4004 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
4005 user isn't a superuser.
4006
70f1161d 40072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 Save space by inlining misc.c functions.
4010
4011 * kern/misc.c (grub_iswordseparator): Made static.
4012 * kern/misc.c (grub_strcat): Moved from here ...
4013 * include/grub/misc.h (grub_strcat): ... here. Inlined.
4014 * kern/misc.c (grub_strncat): Moved from here ...
4015 * include/grub/misc.h (grub_strncat): ... here. Inlined.
4016 * kern/misc.c (grub_strcasecmp): Moved from here ...
4017 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4018 * kern/misc.c (grub_strncasecmp): Moved from here ...
4019 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4020 * kern/misc.c (grub_isalpha): Moved from here ...
4021 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4022 * kern/misc.c (grub_isdigit): Moved from here ...
4023 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4024 * kern/misc.c (grub_isgraph): Moved from here ...
4025 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4026 * kern/misc.c (grub_tolower): Moved from here ...
4027 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4028
48e40bff 40292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * script/sh/function.c (grub_script_function_find): Cut error message
4032 not to flood terminal.
4033 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4034 limit.
4035 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4036
c385bfc3 40372009-08-24 Colin Watson <cjwatson@ubuntu.com>
4038
4039 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4040 `report' grub_uint8_t *.
4041 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4042 Use a 50-millisecond timeout rather than just repeating
4043 grub_usb_keyboard_getreport 50 times.
4044 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4045
2d21e3e8 40462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 Rename *_partition_map to part_*
4049
4050 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4051 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4052 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4053 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4054 All users updated.
4055 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4056 All users updated.
4057 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4058 * util/grub-probe.c (probe_partmap): Don't transform partition name
4059 to get module name.
4060
dd103c4e 40612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Fix OpenBSD and NetBSD support.
4064
4065 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4066 memory address conflict.
4067 (OPENBSD_MMAP_ACPI): New definition.
4068 (OPENBSD_MMAP_NVS): Likewise.
4069 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4070 and OPENBSD_MMAP_NVS.
4071 Add memory map terminator
4072 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4073 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4074
16c84d74 40752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Let user specify NetBSD root device.
4078
4079 * loader/i386/bsd.c (netbsd_root): New variable.
4080 (netbsd_opts): New option 'root'.
4081 (NETBSD_ROOT_ARG): New macro.
4082 (grub_netbsd_boot): Use 'netbsd_root'.
4083 (grub_bsd_unload): Free 'netbsd_root'.
4084 (grub_cmd_netbsd): Fill 'netbsd_root'.
4085
adb29902 40862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Support for 64-bit NetBSD.
4089
4090 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4091 point when booting non-FreeBSD.
4092
f5ae9f74 40932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Support --no-smp and --no-acpi for NetBSD.
4096
4097 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4098 (NETBSD_AB_NOACPI): Likewise.
4099 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4100 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4101
de74f136 41022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
4105 errors.
4106 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
4107 errors. Call grub_error when needed.
4108
e9a925da 41092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * commands/search.c (search_fs): Try searching without autoload first.
4112 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4113 filesystem module explicitly for faster booting.
4114
5174302b 41152009-08-23 Colin Watson <cjwatson@ubuntu.com>
4116
4117 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
4118
c8c80635 41192009-08-23 Colin Watson <cjwatson@ubuntu.com>
4120
4121 * util/grub.d/30_os-prober.in: Disable os-prober if
4122 `GRUB_DISABLE_OS_PROBER' was set to true.
4123
71acf5e5 41242009-08-23 Robert Millan <rmh.grub@aybabtu.com>
4125
4126 * partmap/pc.c: Rename to ...
4127 * partmap/msdos.c: ... this. Update all users.
4128 (grub_pc_partition_map): Rename to ...
4129 (grub_msdos_partition_map): ... this. Update all users.
4130
4131 * parttool/pcpart.c: Rename to ...
4132 * parttool/msdospart.c: ... this. Update all users.
4133
4134 * include/grub/pc_partition.h: Rename to ...
4135 * include/grub/msdos_partition.h: ... this. Update all users.
4136 (grub_pc_partition_bsd_entry): Rename to ...
4137 (grub_msdos_partition_bsd_entry): ... this. Update all users.
4138 (grub_pc_partition_disk_label): Rename to ...
4139 (grub_msdos_partition_disk_label): ... this. Update all users.
4140 (grub_pc_partition_entry): Rename to ...
4141 (grub_msdos_partition_entry): ... this. Update all users.
4142 (grub_pc_partition_mbr): Rename to ...
4143 (grub_msdos_partition_mbr): ... this. Update all users.
4144 (grub_pc_partition): Rename to ...
4145 (grub_msdos_partition): ... this. Update all users.
4146 (grub_pc_partition_is_empty): Rename to ...
4147 (grub_msdos_partition_is_empty): ... this. Update all users.
4148 (grub_pc_partition_is_extended): Rename to ...
4149 (grub_msdos_partition_is_extended): ... this. Update all users.
4150 (grub_pc_partition_is_bsd): Rename to ...
4151 (grub_msdos_partition_is_bsd): ... this. Update all users.
4152
4153 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
4154 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
4155 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
4156 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
4157 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
4158 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
4159 (gpt_mod_LDFLAGS): Rename to ...
4160 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
4161 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
4162 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
4163 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
4164 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
4165 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
4166 (part_gpt_mod_LDFLAGS): ... this.
4167 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
4168 `pcpart.mod' to `msdospart.mod'.
4169 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
4170 to ...
4171 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
4172 (msdospart_mod_LDFLAGS): ... this.
4173
c11fded5 41742009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
4177 (openbsd_opts): Likewise.
4178 (netbsd_opts): Likewise.
4179 (freebsd_flags): Added 0 terminator.
4180 (openbsd_flags): Likewise.
4181 (netbsd_flags): Likewise.
4182 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
4183 (grub_cmd_freebsd): Transformed into extended command.
4184 (grub_cmd_openbsd): Likewise.
4185 (grub_cmd_netbsd): Likewise.
4186 (cmd_freebsd): Changed type to grub_extcmd_t.
4187 (cmd_openbsd): Likewise.
4188 (cmd_netbsd): Likewise.
4189 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
4190 grub_cmd_openbsd as extended commands.
4191 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
4192 cmd_netbsd and cmd_openbsd
4193
11d1c769 41942009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
4197
7a9094e5 41982009-08-21 Pavel Roskin <proski@gnu.org>
4199
5496c37e 4200 * Makefile.in (install-local): When checking if a file is in the
4201 build directory, use "test -e" to detect symlinks.
4202
7a9094e5 4203 * Makefile.in (install-local): Remove all files in
4204 $(DESTDIR)$(pkglibdir) before installing new files there.
4205
e53cea11 42062009-08-18 Felix Zielcke <fzielcke@z-51.de>
4207
4208 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
4209 grub-mkelfimage.
4210
9aced544 42112009-08-18 Felix Zielcke <fzielcke@z-51.de>
4212
4213 * util/grub-mkconfig.in: Don't use gfxterm by default if not
4214 explicitly specified by the user.
4215
b7da6bab 42162009-08-18 Pavel Roskin <proski@gnu.org>
4217
4218 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
4219 grub_uint8_t pointer for data.
4220 * include/grub/fbutil.h (struct grub_video_fbblit_info):
4221 Likewise.
4222 * video/fb/fbutil.c: Remove unnecessary casts.
4223
19f1b335 42242009-08-17 Michal Suchanek <hramrach@centrum.cz>
4225
4226 VBE cleanup.
4227
4228 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
4229 (grub_vbe_set_video_mode): Save active mode info
4230 only after setting the mode.
4231 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
4232 second argument.
4233
2f467aa9 42342009-08-17 Michal Suchanek <hramrach@centrum.cz>
4235
4236 Rename variables for clarity.
4237
4238 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
4239 (active_vbe_mode_info): ... this. All users updated.
4240 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
4241 All users updated.
4242 (initial_mode): Rename to ...
4243 (initial_vbe_mode): ... this. All users updated.
4244 (mode_in_use): Rename to ..
4245 (vbe_mode_in_use): ... this. All users updated.
4246 (mode_list): Rename to ..
4247 (vbe_mode_list): ... this. All users updated.
4248 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
4249 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
4250 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
4251 'mode_list_size' to 'vbe_mode_list_size'.
4252 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
4253 'best_mode_info' to 'best_vbe_mode_info' and
4254 'best_mode' to 'best_vbe_mode'
4255
6025fcd7 42562009-08-17 Michal Suchanek <hramrach@centrum.cz>
4257
4258 Remove duplicate grub_video_fb_get_video_ptr.
4259
4260 * include/grub/fbutil.h (get_data_ptr): Rename to ...
4261 (grub_video_fb_get_video_ptr): ... this.
4262 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
4263 * video/fb/fbutil.c: Add comment about addressing.
4264 (get_data_ptr): Rename to ...
4265 (grub_video_fb_get_video_ptr): ... this. All users updated.
4266 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
4267
cc8c6faf 42682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4269
4270 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
4271 grub_dprintf() that was just added.
4272
08aa61f0 42732009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4274
4275 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
4276 (DEFAULT_VIDEO_MODE): Remove macros.
4277 (grub_linux_boot): Remove assumption that Linux has FB support,
4278 and use "text" as default video mode.
4279
7cef4f75 42802009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
4283 grub_dprintf.
4284 * fs/fat.c (grub_fat_read_data): Likewise.
4285
e1f39873 42862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
4289 payload.
4290 (grub_module): Likewise.
4291
c166d79e 42922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
4295 mbi->cmdline but free playground.
4296
c60cee8e 42972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 Handle group offset on UFS1.
4300
4301 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
4302 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
4303
c0d8b5d4 43042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Split ufs.mod into ufs1.mod and ufs2.mod.
4307
4308 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
4309 (grub_fstest_SOURCES): Likewise.
4310 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
4311 (ufs_mod_SOURCES): Remove.
4312 (ufs_mod_CFLAGS): Likewise.
4313 (ufs_mod_LDFLAGS): Likewise.
4314 (ufs1_mod_SOURCES): New variable.
4315 (ufs1_mod_CFLAGS): Likewise.
4316 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 4317 (ufs2_mod_SOURCES): New variable.
4318 (ufs2_mod_CFLAGS): Likewise.
4319 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 4320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
4321 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4322 Likewise.
4323 (grub_emu_SOURCES): Likewise.
4324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4326 (grub_setup_SOURCES): Likewise.
4327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4328 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
4329 (grub_setup_SOURCES): Likewise.
4330 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4331 Likewise.
4332 * fs/ufs2.c: New file.
4333 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
4334
d3539132 43352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Framebuffer split.
4338
4339 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
4340 subsystem at the end.
4341 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
4342 (video_fb_mod_SOURCES): New variable.
4343 (video_fb_mod_CFLAGS): Likewise.
4344 (video_fb_mod_LDFLAGS): Likewise.
4345 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
4346 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
4347 * video/i386/pc/vbeblit.c: Moved from here ...
4348 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
4349 * video/i386/pc/vbefill.c: Moved from here ...
4350 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
4351 * video/i386/pc/vbeutil.c: Moved from here ...
4352 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
4353 * include/grub/i386/pc/vbeblit.h: Moved from here ...
4354 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
4355 * include/grub/i386/pc/vbefill.h: Moved from here ...
4356 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
4357 * include/grub/i386/pc/vbeutil.h: Moved from here ...
4358 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
4359 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
4360 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
4361 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
4362 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
4363 (grub_video_adapter): Added 'get_info_and_fini'.
4364 (grub_video_get_info_and_fini): New prototype.
4365 (grub_video_set_mode): make modestring const char *.
4366 * loader/i386/linux.c (grub_linux_setup_video): Use
4367 grub_video_get_info_and_fini.
4368 (grub_linux_boot): Move modesetting just before booting.
4369 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
4370 grub_video_get_info_and_fini.
4371 * video/i386/pc/vbe.c: Moved framebuffer part ...
4372 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
4373 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
4374 grub_video_fbstd_colors and grub_video_fb_set_palette.
4375 (grub_video_vbe_init): Clear 'framebuffer' variable and use
4376 grub_video_fb_init.
4377 (grub_video_vbe_fini): Use grub_video_fb_fini.
4378 (grub_video_vbe_setup): Use framebuffer.render_target instead of
4379 render_target and use grub_video_fb_set_active_render_target and
4380 grub_video_fb_set_palette.
4381 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
4382 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
4383 (grub_video_vbe_adapter): Use framebuffer.
4384 * video/video.c (grub_video_get_info_and_fini): New function.
4385 (grub_video_set_mode): Make modestring const char *.
4386 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
4387 values are already initialised.
4388
d404ee56 43892009-08-14 Pavel Roskin <proski@gnu.org>
4390
4391 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
4392 ABS and APPLE_CC.
4393 * boot/i386/pc/diskboot.S: Likewise.
4394 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
4395 sectors allow compilation on MacOSX.
4396 * conf/i386-pc.rmk: Enable unconditional compilation of
4397 lnxboot.img.
4398
9a10df16 43992009-08-13 Colin Watson <cjwatson@ubuntu.com>
4400
4401 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
4402 * util/grub.d/00_header.in: Enter interruptible sleep if
4403 GRUB_HIDDEN_TIMEOUT is set.
4404
be3c9ca7 44052009-08-13 Yves Blusseau <blusseau@zetam.org>
4406
4407 * include/grub/symbol.h: Add the LOCAL macro.
4408 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
4409 starting with "L_".
4410
1f9e557e 44112009-08-13 Pavel Roskin <proski@gnu.org>
4412
9ca62843 4413 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
4414 any modern compilers we support.
4415
1f9e557e 4416 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
4417 Use local labels starting with "L_" so that Apple assembler
4418 knows they are local.
4419
81623db6 44202009-08-10 Robert Millan <rmh.grub@aybabtu.com>
4421
4422 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
4423 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
4424 (bsd_kernel_types): ... this enum.
4425
4426 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
4427 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
4428 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
4429
4430 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
4431 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
4432 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
4433 messages.
4434
f5d35e7a 44352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4436
4437 * util/grub-dumpdevtree: Moved from here ...
4438 * util/i386/efi/grub-dumpdevtree: ... to here.
4439 (hexify): New function. Converts a string to its hex version.
4440 Generate hex versions of "efi" and "device-properties" by calling
4441 hexify() on the ASCII strings rather than by hardcoding numbers.
4442
d1e1d527 44432009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4444
4445 * fs/jfs.c: Update copyright year.
4446
1ebbe064 44472009-08-08 Felix Zielcke <fzielcke@z-51.de>
4448
4449 * util/grub.d/00_header.in: Fix a comment.
4450 * util/grub.d/10_linux.in: Likewise.
4451 * util/grub.d/10_windows.in: Likewise.
4452 * util/grub.d/10_hurd.in: Likewise.
4453
a78c8d24 44542009-08-08 Felix Zielcke <fzielcke@z-51.de>
4455
4456 * util/grub-mkconfig.in: Allow the user to specify the used font
4457 with GRUB_FONT.
4458
29a6b9e8 44592009-08-08 Pavel Roskin <proski@gnu.org>
4460
b5f16cc4 4461 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
4462 available, xfs.mod needs it now.
4463
2f5cb827 4464 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
4465 the "g" modifier in sed when the intention is to strip something
4466 once. This fixes comparison of kernels with multiple dashes.
4467
29a6b9e8 4468 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
4469 on it. Add missing space before closing bracket. Fix
4470 misleading formatting.
4471
892a3d98 44722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4473
4474 * docs/grub.texi: Major overhaul. Remove all sections that are
4475 specific to GRUB Legacy, or mostly composed of Legacy-specific
4476 information.
4477
ed94253f 44782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4479
4480 * docs/version.texi: New file. Provides version information for
4481 grub.texi.
4482
126d6628 44832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4484
4485 * docs/grub.texi: Update CVS information to SVN.
4486 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
4487
998b5aa9 44882009-08-07 Felix Zielcke <fzielcke@z-51.de>
4489
4490 * util/grub-mkconfig.in: Remove a wrong `fi'.
4491
818e094a 44922009-08-07 Felix Zielcke <fzielcke@z-51.de>
4493
4494 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
4495 (grub_jfs_uuid): New function.
4496 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
4497
b969c52f 44982009-08-07 Felix Zielcke <fzielcke@z-51.de>
4499
4500 * util/grub-mkconfig_lib.in (font_path): Move the functionality
4501 of it to ...
4502 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
4503 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
4504
7a4894cc 45052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4506
4507 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
4508 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
4509 Update all users.
4510
4511 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
4512 not just "vmlinu[zx]".
4513 Moved from here ...
4514 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
4515 all users.
4516
4517 * util/grub.d/10_linux.in (find_latest): Moved from here ...
4518 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
4519 all users.
4520
4e2171f8 45212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4522
4523 * util/grub.d/10_freebsd.in: Use an absolute device path for
4524 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
4525
6dcfcb32 45262009-08-06 Felix Zielcke <fzielcke@z-51.de>
4527
4528 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4529 handling of multiple abstraction modules.
4530
f56a8756 45312009-08-04 Robert Millan <rmh.grub@aybabtu.com>
4532
4533 Fix a bug resulting in black screen when loading Linux using a
4534 packed video mode.
4535
4536 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
4537 function.
4538
4539 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
4540 (grub_vbe_bios_getset_dac_palette_width): New function.
4541 (grub_vbe_bios_get_dac_palette_width)
4542 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
4543 grub_vbe_bios_getset_dac_palette_width()).
4544
4545 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
4546 check for return status.
4547 (grub_vbe_get_video_mode_info): When getting information for a packed
4548 mode (<= 8 bpp), obtain DAC palette width using
4549 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
4550 {red,green,blue}_mark_size.
4551
222671b2 45522009-08-04 Felix Zielcke <fzielcke@z-51.de>
4553
ecb1a6d9 4554 * commands/search.c (options): Fix help output to match actual code.
222671b2 4555
f84114f5 45562009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
4559 of homegrown code.
4560
bd288a20 45612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 4562
4563 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
4564 on XFS or ReiserFS.
4565
8aab5e25 45662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Support Apple partition map with sector size different from 512 bytes.
4569
4570 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
4571 (apple_partition_map_iterate): Respect 'aheader.blocksize'
4572 and 'apart.partmap_size'.
4573
6ad6258a 45742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
45752009-08-01 Robert Millan <rmh.grub@aybabtu.com>
4576
4577 Fix cpuid command.
4578
4579 * commands/i386/cpuid.c (options): New variable.
4580 (grub_cmd_cpuid): Return real error.
4581 (GRUB_MOD_INIT(cpuid)): Declare options.
4582
67459bc6 45832009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
4586 valid.
4587
fbc6ab54 45882009-07-31 Bean <bean123ch@gmail.com>
4589
4590 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
4591 log2_inode.
4592 (grub_fshelp_node): Move inode field to the end.
4593 (grub_xfs_data): Remove inode field.
4594 (grub_xfs_inode_block): Calculate inode size using sblock.
4595 (grub_xfs_inode_offset): Likewise.
4596 (grub_xfs_read_inode): Calculate inode size using sblock.
4597 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
4598 (grub_xfs_iterate_dir): Calculate inode size using sblock.
4599 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
4600 to match inode size.
4601 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
4602 not accessible when data is null.
4603 (grub_xfs_open): Likewise.
4604
f45d6cfc 46052009-07-31 Bean <bean123ch@gmail.com>
4606
4607 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
4608 Don't change pv->disk if it's already set.
4609
4610 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
4611 (grub_raid_register): ... here.
4612 (grub_raid_rescan): Removed.
4613
4614 * include/grub/raid.h (grub_raid_rescan): Removed.
4615
4616 * util/grub-fstest.c: Remove include file <grub/raid.h>.
4617 (fstest): Replace grub_raid_rescan with module fini function followed
4618 by init function.
4619
4620 * util/grub-probe.c: Add include file <grub/raid.h>.
4621 (probe_raid_level): New function.
4622 (probe): Detect abstraction by walking the disk device, support two
4623 level of abstraction (LVM on RAID) when detecting partition map.
4624
24443b5a 46252009-07-31 Pavel Roskin <proski@gnu.org>
4626
4627 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
4628 to grub_zalloc(), it was erroneous.
4629 Reported by Bean <bean123ch@gmail.com>
4630
a275d9e7 46312009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 4634 embedding zone, not only the first one.
a275d9e7 4635
56c5a47f 46362009-07-29 Joe Auricchio <jauricchio@gmail.com>
4637
4638 * term/gfxterm.c (clear_char): New function.
4639 (grub_virtual_screen_setup): Use clear_char.
4640 (scroll_up): Likewise.
4641 (grub_virtual_screen_cls): Likewise.
4642
67bb323a 46432009-07-29 Felix Zielcke <fzielcke@z-51.de>
4644
4645 * util/deviceiter.c (get_acceleraid_disk_name): New static
4646 function.
4647 (grub_util_iterate_devices): Handle Accelraid devices.
4648 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
4649
388a7c75 46502009-07-28 Robert Millan <rmh.grub@aybabtu.com>
4651
4652 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
4653 separator for the suggested gfxpayload string (';' collides with the
4654 parser and needs escaping).
4655
3bb7abcf 46562009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
4659 Clear direction flag before jumping to OS.
4660 (grub_multiboot2_real_boot): Likewise.
4661
2ddd36d7 46622009-07-28 Felix Zielcke <fzielcke@z-51.de>
4663
4664 * util/i386/pc/grub-install: Fix parsing of --disk-module
4665 option.
4666
c521b62b 46672009-07-28 Felix Zielcke <fzielcke@z-51.de>
4668
4669 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
4670 when embedding.
4671
880e0a0c 46722009-07-26 Felix Zielcke <fzielcke@z-51.de>
4673
4674 * util/grub-mkconfig.in (package_version): New variable.
4675 Use it do display the version.
4676
2366e356 46772009-07-25 Felix Zielcke <fzielcke@z-51.de>
4678
4679 * kern/file.c (grub_file_open): Revert to previous check with
4680 grub_errno.
4681
7ad8c80e 46822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
4685 from help line. It's out of sync with code.
4686
72b9658b 46872009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
4690 entries on failed boot.
4691
77435277 46922009-07-25 Felix Zielcke <fzielcke@z-51.de>
4693
4694 * kern/file.c (grub_file_open): Fix an error check.
4695
fcaa8b21 46962009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
4697
35d16c74 4698 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
4699 partition map couldn't be identified.
fcaa8b21 4700
48904cd1 47012009-07-23 Pavel Roskin <proski@gnu.org>
4702
ef3c317f 4703 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
4704 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
4705 case of little endian words becomes just an optimization.
4706 Respect const modifier.
ad8ea1f4 4707 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 4708
48904cd1 4709 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
4710 to avoid loss of upper bits if align is unsigned and shorter
4711 than addr.
4712
260c9a89 47132009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 UUID support for UFS
4716
4717 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
4718 (grub_ufs_uuid): New function.
4719 (grub_ufs_fs): add .uuid
4720
f76ce889 47212009-07-21 Pavel Roskin <proski@gnu.org>
4722
4723 * kern/dl.c (grub_dl_check_header): Make static.
4724
6a6cbcaf 47252009-07-21 Felix Zielcke <fzielcke@z-51.de>
4726
4727 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
4728 add drivemap for Vista. It breaks Windows 7.
4729
cffcddb2 47302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
4733 128 bytes
4734
1ef44b80 47352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 Add BFS support
4738
4739 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
4740 (grub_fstest_SOURCES): Likewise.
4741 (pkglib_MODULES): Add befs.mod.
4742 (befs_mod_SOURCES): New variable.
4743 (befs_mod_CFLAGS): Likewise.
4744 (befs_mod_LDFLAGS): Likewise.
4745 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4746 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4747 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4748 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4749 (grub_setup_SOURCES): Likewise.
4750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4751 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4752 (grub_setup_SOURCES): Likewise.
4753 * fs/befs.c: New file.
4754 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
4755 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
4756 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
4757 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
4758 (B_KEY_INDEX_ALIGN): New declaration.
4759 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
4760 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
4761 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
4762 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
4763 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
4764 (grub_afs_mount) [MODE_BFS]: Likewise.
4765 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
4766 (grub_afs_fs): Use GRUB_AFS_FSNAME
4767 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
4768 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
4769 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
4770 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
4771
4f253044 47722009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
4773
4774 * util/getroot.c (find_root_device): Add support for MacOSX.
4775 * util/hostdisk.c: Likewise.
4776
57a55913 47772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * font/font.c (find_glyph): Check whether a font is present to avoid
4780 segmentation fault.
75421ca9 4781
47822009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 4783
4784 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
4785
e98cd0c2 47862009-07-20 Pavel Roskin <proski@gnu.org>
4787
4788 * configure.ac: Trim excessively wordy excuses.
4789
1d2d169a 47902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 Add symlink, mtime and label support to AtheFS.
4793
4794 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
4795 (grub_afs_iterate_dir): Handle symlinks.
4796 (grub_afs_open): Use grub_afs_read_symlink.
4797 (grub_afs_dir): Likewise.
4798 Pass mtime.
4799 (grub_afs_label): New function.
4800 (grub_afs_fs): Add grub_afs_label.
4801 (grub_afs_read_symlink): New function.
4802
186f3189 48032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Fix AtheFS support.
4806
4807 * fs/afs.c: Fix comments style.
4808 (grub_afs_blockrun): Declare as packed.
4809 (grub_afs_datastream): Likewise.
4810 (grub_afs_bnode): Likewise.
4811 (grub_afs_btree): Likewise.
4812 (grub_afs_sblock): Likewise.
4813 Declare `name' as char.
4814 (grub_afs_inode): Declare as packed.
4815 Change void *vnode to grub_uint32_t unused.
4816 (grub_afs_iterate_dir): Check that key_size is positive.
4817 (grub_afs_mount): Don't read superblock twice.
75421ca9 4818 (grub_afs_dir): Don't free node in case of error,
186f3189 4819 grub_fshelp_find_file already handles this.
4820 (grub_afs_open): Likewise.
4821
5680109e 48222009-07-19 Pavel Roskin <proski@gnu.org>
4823
4824 * Makefile.in: Remove LIBLZO and enable_lzo.
4825 * conf/i386-pc.rmk: Remove lzo support.
4826 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
4827 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
4828 support.
4829 * kern/i386/pc/lzo1x.S: Remove.
4830 * kern/i386/pc/startup.S: Remove lzo support.
4831 * util/i386/pc/grub-mkimage.c: Likewise.
4832
ac70fa32 48332009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
4836 * fs/xfs.c (grub_xfs_dir): Likewise.
4837 * fs/afs.c (grub_afs_dir): Likewise.
4838 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4839 (grub_iso9660_open): Likewise.
4840 * fs/jfs.c (grub_jfs_open): Likewise.
4841 * fs/ext2.c (grub_ext2_dir): Likewise.
4842 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
4843 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 4844
eab58da2 48452009-07-16 Pavel Roskin <proski@gnu.org>
4846
d2838156 4847 * configure.ac: Never add "-c" to CFLAGS.
4848
55c70904 4849 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
4850
43e6200c 4851 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
4852 grub_cv_cc_efiemu should be used.
4853
ce7a733d 4854 * configure.ac: Typo fixes.
4855
eab58da2 4856 * kern/mm.c (grub_zalloc): New function.
4857 (grub_debug_zalloc): Likewise.
4858 * include/grub/mm.h: Declare grub_zalloc() and
4859 grub_debug_zalloc().
4860 * util/misc.c (grub_zalloc): New function.
4861 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
4862 instead of grub_malloc(), remove unneeded initializations.
4863 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
4864 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
4865 * commands/parttool.c (grub_cmd_parttool): Likewise.
4866 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4867 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
4868 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
4869 * disk/usbms.c (grub_usbms_finddevs): Likewise.
4870 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
4871 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
4872 (grub_cmd_efiemu_pnvram): Likewise.
4873 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
4874 * fs/iso9660.c (grub_iso9660_mount): Likewise.
4875 (grub_iso9660_iterate_dir): Likewise.
4876 * fs/jfs.c (grub_jfs_opendir): Likewise.
4877 * fs/ntfs.c (list_file): Likewise.
4878 (grub_ntfs_mount): Likewise.
4879 * kern/disk.c (grub_disk_open): Likewise.
4880 * kern/dl.c (grub_dl_load_core): Likewise.
4881 * kern/elf.c (grub_elf_file): Likewise.
4882 * kern/env.c (grub_env_context_open): Likewise.
4883 (grub_env_set): Likewise.
4884 (grub_env_set_data_slot): Likewise.
4885 * kern/file.c (grub_file_open): Likewise.
4886 * kern/fs.c (grub_fs_blocklist_open): Likewise.
4887 * loader/i386/multiboot.c (grub_module): Likewise.
4888 * loader/xnu.c (grub_xnu_create_key): Likewise.
4889 (grub_xnu_create_value): Likewise.
4890 * normal/main.c (grub_normal_add_menu_entry): Likewise.
4891 (read_config_file): Likewise.
4892 * normal/menu_entry.c (make_screen): Likewise.
4893 * partmap/sun.c (sun_partition_map_iterate): Likewise.
4894 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
4895 * script/sh/script.c (grub_script_parse): Likewise.
4896 * video/bitmap.c (grub_video_bitmap_create): Likewise.
4897 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4898 * video/readers/png.c (grub_png_output_byte): Likewise.
4899 (grub_video_reader_png): Likewise.
4900
830afef7 49012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 4902
4903 Enable all targets that can be built by default
4904
830afef7 4905 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 4906 grub-mkfont and grub-fstest if they can be built
4907
ee293aee 49082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 Fix hang and segmentation fault in grub-emu-usb
4911
4912 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
4913 * util/usb.c (grub_libusb_devices): likewise
4914 (grub_libusb_init): rename to ...
4915 (GRUB_MOD_INIT (libusb)):...this
4916 (grub_libusb_fini): rename to ..
4917 (GRUB_MOD_FINI (libusb)):...this
4918 * disk/usbms.c (grub_usbms_transfer): fix retry logic
4919 * include/grub/disk.h (grub_raid_init): removed, it's useless
4920 (grub_raid_fini): likewise
4921 (grub_lvm_init): likewise
4922 (grub_lvm_fini): likewise
4923 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
4924 by grub_init_all
4925
94414221 49262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Fix libusb
4929
4930 * Makefile.in (LIBUSB): new macro
4931 * genmk.rb (Utility/print_tail): new method
4932 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
4933 (top level): call util.print_tail at the end.
4934
59ade63d 49352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Make FreeBSD accept zpool.cache
4938
4939 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4940 type is /boot/zfs/zpool.cache
4941
a58da8c7 49422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 Fix 64-bit efiemu
4945
4946 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4947 correct wrong typedef
4948 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4949
20591577 49502009-07-15 Pavel Roskin <proski@gnu.org>
4951
560ca572 4952 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4953 * kern/disk.c (struct grub_disk_cache): Likewise.
4954
e8e8e4fd 4955 * commands/probe.c (options): Typo fix.
4956
fde24e10 4957 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4958 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4959 accordingly.
4960 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4961
379c54c1 4962 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4963 the end of "Error" to make the message more readable.
4964
7bd8f5bf 4965 * boot/i386/pc/boot.S (kernel_segment): Remove.
4966 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4967 for destination.
4968
40b132c5 4969 * boot/i386/pc/boot.S (boot_version): Remove.
4970 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4971 Remove.
4972
20591577 4973 * include/grub/i386/pc/boot.h: Sort all offsets.
4974 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4975 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4976 * boot/i386/pc/boot.S: Assert location of every offset listed in
4977 include/grub/i386/pc/boot.h.
4978
2df32b2c 49792009-07-13 Pavel Roskin <proski@gnu.org>
4980
44b5d879 4981 * include/grub/i386/coreboot/machine.h: Rename
4982 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4983 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4984 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4985
17dc3751 4986 * kern/dl.c: Force native word size to suppress warnings when
4987 compiling grub-emu.
4988
2df32b2c 4989 * kern/device.c (grub_device_iterate): Change struct part_ent to
4990 hold the name, not a pointer to it. Use one grub_malloc() per
4991 partition, not two. Free partition_name if grub_malloc() fails.
4992 Set ents to NULL only before grub_partition_iterate() is called.
4993
75c59f59 49942009-07-11 Bean <bean123ch@gmail.com>
4995
4996 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
4997 childname.
4998
0ae1bf88 49992009-07-10 Bean <bean123ch@gmail.com>
50002009-07-10 Robert Millan <rmh.grub@aybabtu.com>
5001
5002 * kern/ieee1275/openfw.c (grub_children_iterate)
5003 (grub_devalias_iterate): Fix size evaluation for property or path
5004 strings, which was broken since r2132.
5005
8279cade 50062009-07-07 Pavel Roskin <proski@gnu.org>
5007
7d8a52d3 5008 * commands/search.c (search_file): Merge into ...
5009 (search_fs): ... this. Accept search type as argument.
5010 (grub_cmd_search): Pass search type to search_fs().
5011
25f9a05a 5012 * include/grub/util/console.h: New file.
5013 * util/console.c: Use it instead of grub/machine/console.h.
5014 * util/grub-emu.c: Likewise.
5015
8279cade 5016 * lib/arg.c (find_long_option): Remove.
5017 (find_long): Add `len' argument, make `s' const char *.
5018 (grub_arg_parse): Parse long options in place, not in a
5019 temporary buffer.
5020
4a11b60f 50212009-07-06 Pavel Roskin <proski@gnu.org>
5022
99f68041 5023 * commands/search.c (search_fs): Fix potential NULL pointer
5024 dereference.
5025
4a11b60f 5026 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5027 function pointer.
5028
e110f4de 50292009-07-06 Daniel Mierswa <impulze@impulze.org>
5030
5031 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5032 comparison.
5033
46eeb6a2 50342009-07-05 Pavel Roskin <proski@gnu.org>
5035
bab74958 5036 * include/grub/i386/linux.h (struct linux_kernel_params):
5037 Restore padding3, it's still needed.
5038
46eeb6a2 5039 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5040 FreeBSD.
5041 * util/osdetect.lua: Likewise.
5042
b4a1dc79 50432009-07-05 Bean <bean123ch@gmail.com>
5044
5045 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5046
5047 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5048 (grub_lua_getenv): Likewise.
5049 (grub_lua_setenv): Likewise.
5050 (save_errno): New function.
5051 (push_result): Likewise.
5052 (grub_lua_enum_device): Likewise.
5053 (grub_lua_enum_file): Likewise.
5054 (grub_lua_file_open): Likewise.
5055 (grub_lua_file_close): Likewise.
5056 (grub_lua_file_seek): Likewise.
5057 (grub_lua_file_read): Likewise.
5058 (grub_lua_file_getline): Likewise.
5059 (grub_lua_file_getsize): Likewise.
5060 (grub_lua_file_getpos): Likewise.
5061 (grub_lua_file_eof): Likewise.
5062 (grub_lua_file_exist): Likewise.
5063 (grub_lua_add_menu): Likewise.
5064
5065 * script/lua/grub_lua.h (isupper): New inline function.
5066 (islower): Likewise.
5067 (ispunct): Likewise.
5068 (isxdigit): Likewise.
5069 (strcspn): Change to normal function.
5070 (strpbkr): New function declaration.
5071 (memchr): Likewise.
5072
5073 * script/lua/grub_main.c (scan_str): New function.
5074 (strcspn): Likewise.
5075 (strpbrk): Likewise.
5076 (memchr): Likewise.
5077
5078 * script/lua/linit.c (lualibs): Enable the string library.
5079
5080 * util/osdetect.lua: New file.
5081
2da92295 50822009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5083
5084 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5085 `capabilities' member.
5086
b2582ec9 50872009-07-02 Pavel Roskin <proski@gnu.org>
5088
5089 * genparttoollist.sh: Add missing newline at the end.
5090
32622956 50912009-07-01 Pavel Roskin <proski@gnu.org>
5092
87a7339e 5093 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5094
d23af54e 5095 * util/hostdisk.c (open_device): Remove `const' from
5096 `sysctl_size', as sysctlbyname() can change it (in this case it
5097 doesn't actually happen).
5098
c94b18a9 5099 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5100 using signed long int constants.
5101
c6cd3ef0 5102 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
5103 constant to avoid a warning on FreeBSD.
5104
0df63420 5105 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
5106 where it's needed.
5107
999577f1 5108 * Makefile.in: Install include/grub/machine symlink.
5109
6f41557f 5110 * Makefile.in: When installing symlinks, use "cp -fR", which
5111 works on FreeBSD and MacOSX.
5112 From Yves Blusseau <cl7m42e02@sneakemail.com>
5113
c8d22988 5114 * kern/dl.c (grub_dl_resolve_symbol): Make static.
5115 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
5116
1b96e952 5117 * util/misc.c: Move grub_reboot() and grub_halt() ...
5118 * util/grub-emu.c: ... here. Make main_env static.
5119 * include/grub/util/misc.h: Remove main_env.
5120
2ef0084d 5121 * kern/mm.c: Use correct format to print size_t.
5122
32622956 5123 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
5124 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
5125 * kern/powerpc/dl.c: Likewise.
5126 * kern/sparc64/dl.c: Likewise.
5127 * kern/x86_64/dl.c: Likewise.
5128
3f7f0cd0 51292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5130
5131 Fix grub-emu build on sparc64-ieee1275.
5132
75421ca9 5133 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 5134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
5135
211d06b5 51362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5137
5138 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
5139 (grub_reboot, grub_halt): New functions.
5140
5141 * util/i386/pc/misc.c: Delete. Update all users.
5142 * util/sparc64/ieee1275/misc.c: Likewise.
5143 * util/powerpc/ieee1275/misc.c: Likewise.
5144
aaf53e3c 51452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5146
5147 * conf/i386.rmk (setjmp_mod_SOURCES)
5148 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
5149 * conf/common.rmk (setjmp_mod_SOURCES)
5150 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
5151 to use $(target_cpu).
5152 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
5153 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
5154 * conf/powerpc-ieee1275.rmk: Likewise.
5155 * conf/sparc64-ieee1275.rmk: Likewise.
5156
5157 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
5158 $(target_cpu) for kern/$(target_cpu)/dl.c.
5159 * conf/i386-efi.rmk: Likewise.
5160 * conf/i386-ieee1275.rmk: Likewise.
5161 * conf/x86_64-efi.rmk: Likewise.
5162 * conf/i386-coreboot.rmk: Likewise.
5163 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
5164 $(target_cpu) for kern/$(target_cpu)/dl.c and for
5165 kern/$(target_cpu)/cache.S.
5166 * conf/sparc64-ieee1275.rmk: Likewise.
5167
a337130b 51682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5169
5170 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
5171 type to `grub_uint8_t', and adjust `padding9' accordingly.
5172
c6fe4d53 51732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5174
b09db61d 5175 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
5176
c6fe4d53 5177 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
5178 assembly in final jump, using register constraints.
5179
b09db61d 5180 (grub_linux_boot): For text mode, initialize `have_vga' using
5181 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
5182
5183 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
5184 right before the final jump.
5185
5186 Set `video_mode' to 0x3.
5187
5188 Document initialization of `video_page', `video_mode' and
5189 `video_ega_bx'.
5190
28333ad0 51912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5192
5193 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
5194 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 5195 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 5196
02164e1b 51972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5198
5199 Fix build on Debian / sparc.
5200
5201 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
5202
18b6c557 52032009-06-28 Pavel Roskin <proski@gnu.org>
5204
85f2aab6 5205 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
5206 fix a warning.
5207
18b6c557 5208 * util/grub.d/10_linux.in: Match SUSE style initrd names.
5209
ad760f81 52102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5211
5212 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
5213 `err'.
5214
87a4623b 52152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5216
5217 Revert r2338.
5218
5219 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
5220 file can't be opened. grub_file_open() is already supposed to set
75421ca9 5221 grub_errno / grub_errmsg appropriately.
87a4623b 5222 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5223
8231fb77 52242009-06-27 Pavel Roskin <proski@gnu.org>
52252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5226
5227 * include/grub/dl.h: Include grub/elf.h.
5228 (struct grub_dl): Add symtab field.
5229 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
5230 GRUB_MODULES_MACHINE_READONLY.
5231 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
5232 of the header for read-only modules.
5233 (grub_dl_unload): Free mod->symtab for read-only modules.
5234 * kern/i386/dl.c: Use mod->symtab.
5235 * kern/powerpc/dl.c: Likewise.
5236 * kern/sparc64/dl.c: Likewise.
5237 * kern/x86_64/dl.c: Likewise.
5238
5239 * conf/i386-qemu.rmk: New file.
5240 * kern/i386/qemu/startup.S: Likewise.
5241 * kern/i386/qemu/mmap.c: Likewise.
5242 * boot/i386/qemu/boot.S: Likewise.
5243 * include/grub/i386/qemu/time.h: Likewise.
5244 * include/grub/i386/qemu/serial.h: Likewise.
5245 * include/grub/i386/qemu/kernel.h: Likewise.
5246 * include/grub/i386/qemu/console.h: Likewise.
5247 * include/grub/i386/qemu/boot.h: Likewise.
5248 * include/grub/i386/qemu/init.h: Likewise.
5249 * include/grub/i386/qemu/machine.h: Likewise.
5250 * include/grub/i386/qemu/loader.h: Likewise.
5251 * include/grub/i386/qemu/memory.h: Likewise.
5252
5253 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
5254 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
5255 [qemu] (pkglib_IMAGES): Add `boot.img'.
5256 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
5257 [qemu] (boot_img_FORMAT): New variables.
5258 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
5259 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
5260 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
5261 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5262 [qemu] (kernel_img_FORMAT): New variables.
5263
5264 * configure.ac: Recognise `i386-qemu'.
5265
5266 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
5267 (for no compression).
5268 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
5269 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
5270 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
5271 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
5272 ifdefs).
5273
97fe384e 52742009-06-27 Pavel Roskin <proski@gnu.org>
5275
5276 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
5277 read.
5278 * efiemu/prepare32.c: Likewise.
5279 * efiemu/prepare64.c: Likewise.
5280
c402ab17 52812009-06-26 Pavel Roskin <proski@gnu.org>
5282
5283 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
5284 * include/grub/elf.h: Define symbols without "32" or "64" based
5285 on GRUB_TARGET_WORDSIZE.
5286 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
5287 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
5288 ELF definitions.
5289 * efiemu/loadcore64.c: Likewise.
5290 * loader/i386/bsd32.c: Likewise.
5291 * loader/i386/bsd64.c: Likewise.
5292 * kern/dl.c: Remove own ELF definitions.
5293 * util/i386/efi/grub-mkimage.c: Likewise.
5294
9bbdfd4d 52952009-06-23 Robert Millan <rmh.grub@aybabtu.com>
5296
5297 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
5298 segment 0x0 unconditionally, because the reference generated by
5299 GAS is an absolute address.
5300
a42ce6e9 53012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5302
5303 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
5304 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
5305
c952cf92 53062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5307
5308 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
5309 indexes. Check for -f explicitly.
cc3752ad 5310 (search_file): Improve error message.
5311 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 5312
132a0a59 53132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5314
5315 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
5316 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
5317
387a140c 53182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5319
5320 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
5321 * conf/i386-ieee1275.rmk: Likewise.
5322 * conf/i386-coreboot.rmk: Likewise.
5323
5324 * kern/i386/pc/startup.S (grub_stop): Remove function.
5325 * kern/i386/ieee1275/startup.S: Likewise.
5326 * kern/i386/coreboot/startup.S: Likewise.
5327 * kern/i386/misc.S (grub_stop): New function.
5328
41da9665 53292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5330
5331 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
5332 * kern/i386/realmode.S (real_to_prot): ... to here.
5333
bf337234 53342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5335
5336 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
5337 with `kernel.img'.
5338 (kernel_elf_SOURCES): Rename to ...
5339 (kernel_img_SOURCES): ... this.
5340 (kernel_elf_HEADERS): Rename to ...
5341 (kernel_img_HEADERS): ... this. Update all users.
5342 (kernel_elf_ASFLAGS): Rename to ...
5343 (kernel_img_ASFLAGS): ... this.
5344 (kernel_elf_CFLAGS): Rename to ...
5345 (kernel_img_CFLAGS): ... this.
5346 (kernel_elf_LDFLAGS): Rename to ...
5347 (kernel_img_LDFLAGS): ... this.
5348 * conf/i386-coreboot.rmk: Likewise.
5349 * conf/powerpc-ieee1275.rmk: Likewise.
5350
5351 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
5352 with "kernel.img".
5353
f52196ff 53542009-06-21 Pavel Roskin <proski@gnu.org>
5355
c3cee413 5356 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
5357 to match nested functions.
5358 * loader/sparc64/ieee1275/linux.c: Likewise.
5359
f52196ff 5360 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
5361
58750afc 53622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5363
5364 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
5365 all i386 platforms.
5366
15355c7d 53672009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5368
5369 Fix asm file handling on ELF, and remove workarounds.
5370
5371 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 5372 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 5373 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
5374 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
5375
3f3ec72b 53762009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Load BSD ELF modules
5379
5380 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
5381 and loader/i386/bsd64.c
5382 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
5383 (FREEBSD_MODTYPE_ELF_MODULE): New definition
5384 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
5385 (grub_freebsd_load_elfmodule32): New declaration
5386 (grub_freebsd_load_elfmoduleobj64): Likewise
5387 (grub_freebsd_load_elf_meta32): Likewise
5388 (grub_freebsd_load_elf_meta64): Likewise
5389 (grub_freebsd_add_meta): Likewise
5390 (grub_freebsd_add_meta_module): Likewise
5391 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
5392 (grub_freebsd_add_meta_module): Likewise and move module-specific
5393 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
5394 (grub_cmd_freebsd): Add elf-kernel specific parts
5395 based on grub_freebsd_add_meta_module
5396 (grub_cmd_freebsd_module): Add type parsing moved from
5397 grub_freebsd_add_meta_module
5398 (grub_cmd_freebsd_module_elf): New function
5399 (cmd_freebsd_module_elf): New variable
5400 (GRUB_MOD_INIT): Register freebsd_module_elf
5401 * loader/i386/bsd32.c: New file
5402 * loader/i386/bsd64.c: Likewise
5403 * loader/i386/bsdXX.c: Likewise
5404 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
5405 (grub_elf64_load): Likewise
5406 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
5407 All users updated
5408 (grub_elf64_load_hook_t): Likewise
5409
0db15301 54102009-06-21 Colin Watson <cjwatson@ubuntu.com>
5411
5412 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
5413 variable.
5414 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
5415 don't write a menu entry for recovery mode.
5416
546796c1 54172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5418
5419 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
5420 after it's no longer needed.
5421
cd7310d5 54222009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5423
5424 * include/grub/i386/loader.h (grub_linux_prot_size)
5425 (grub_linux_tmp_addr, grub_linux_real_addr)
5426 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
5427 GRUB_MACHINE_PCBIOS.
5428 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
5429 common grub_util_info() call to ...
5430 (generate_image): ... here.
5431 Fix use of uninitialized memory, comparison of signed with
5432 unsigned integers and memory leak.
5433 Remove bogus module address message.
5434
ab32d3b5 54352009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
5438 grub_raid_register
5439 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
5440
024ef597 54412009-06-19 Pavel Roskin <proski@gnu.org>
5442
5443 * configure.ac: Remove stray AC_MSG_CHECKING.
5444
3ac72b51 54452009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 5448
e14cd814 54492009-06-18 Pavel Roskin <proski@gnu.org>
5450
5451 * conf/common.rmk: Add fs_file.mod.
5452 * disk/fs_file.c: New file.
5453 * include/grub/disk.h (enum grub_disk_dev_id): Add
5454 GRUB_DISK_DEVICE_FILE_ID.
5455
26586d98 54562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 Fix build with Apple's toolchain. Part 2
5459
5460 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
5461 a fake start
5462
26de2bcd 54632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 Fix build with Apple's toolchain. Part 1
5466
5467 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
5468 for long calls
5469 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 5470 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 5471 Apple's toolchain
5472
09b3490b 54732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 Fix warnings
5476
5477 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
5478 (decomp_block): initialize ch
5479 use grub_memcpy instead of memcpy
5480
c22a006a 54812009-06-17 Pavel Roskin <proski@gnu.org>
5482
d3638678 5483 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
5484 version, use declarations needed to use vga_text as the startup
5485 console.
5486
c22a006a 5487 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
5488 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
5489 the kernel.
5490 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
5491 and grub_at_keyboard_fini(), it's done on module load and
5492 unload.
5493
05b129e0 54942009-06-17 Felix Zielcke <fzielcke@z-51.de>
5495
5496 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
5497 file can't be found.
5498 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5499
cf24ed9e 55002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Fix newline handling
5503
5504 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 5505 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 5506 (grub_script_yylex): don't segfault on unterminated script
5507 newline terminates command and variable
5508
74aa8e4b 55092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 avoid double grub_adjust_range call. Bug reported by David Simner
5512
5513 * kern/disk.c (grub_disk_write): change to raw disk access before
5514 calling disk_read
5515
1bd265f3 55162009-06-17 Colin Watson <cjwatson@ubuntu.com>
5517
5518 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
5519 spaces, for the benefit of help2man.
5520 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5521
a2d08c06 55222009-06-16 Pavel Roskin <proski@gnu.org>
5523
5524 * kern/i386/halt.c: Include grub/machine/init.h.
5525 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
5526
b97bcb19 55272009-06-16 Felix Zielcke <fzielcke@z-51.de>
5528
5529 * util/grub.d/30_os-prober.in: Use ${root} in the generated
5530 drivemap menuentry.
5531
0644f96c 55322009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
5533
5534 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
5535 `echo' command.
5536
3ef17a2e 55372009-06-16 Pavel Roskin <proski@gnu.org>
5538
5539 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
5540 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
5541 save %dx, we only need %dl and we never change it.
5542 * boot/i386/pc/cdboot.S: Don't set the root drive.
5543 * boot/i386/pc/pxeboot.S: Likewise.
5544 * include/grub/i386/pc/boot.h: Remove
5545 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
5546 GRUB_BOOT_MACHINE_DRIVE_CHECK.
5547 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
5548 * kern/i386/pc/init.c (make_install_device): Remove references
5549 to grub_root_drive.
5550 * kern/i386/pc/startup.S: Likewise.
5551 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
5552
693fe637 55532009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 xnu_uuid command
5556
5557 * commands/xnu_uuid.c: new file
5558 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
5559 (xnu_uuid_mod_SOURCES): new variable
5560 (xnu_uuid_mod_CFLAGS): likewise
5561 (xnu_uuid_mod_LDFLAGS): likewise
5562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5563 * conf/i386-ieee1275.rmk: likewise
5564 * conf/i386-pc.rmk: likewise
5565 * conf/powerpc-ieee1275.rmk: likewise
5566 * conf/sparc64-ieee1275.rmk: likewise
5567 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
5568
c9da87d0 55692009-06-16 Pavel Roskin <proski@gnu.org>
5570
5571 * configure.ac: Avoid '==' in test command, it's not portable.
5572
9c6f4596 55732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 Probe command
5576
5577 * commands/probe.c: new file
5578 * conf/common.rmk (pkglib_MODULES): add probe.mod
5579 (probe_mod_SOURCES): new variable
5580 (probe_mod_CFLAGS): likewise
5581 (probe_mod_LDFLAGS): likewise
5582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5583 * conf/i386-ieee1275.rmk: likewise
5584 * conf/i386-pc.rmk: likewise
5585 * conf/powerpc-ieee1275.rmk: likewise
5586 * conf/sparc64-ieee1275.rmk: likewise
5587
70b7f9fd 55882009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Fix handling of string like \"hello\" and "a
5591 b"
5592
5593 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
5594 (grub_script_yylex): fix parsing of quoting, escaping and newline
5595
71c79a6b 55962009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5597
dd74360c 5598 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 5599 handling
dd74360c 5600
0644f96c 56012009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 5602
5603 * util/grub-mkconfig.in: Fix parsing of --output option.
5604
e40893c3 56052009-06-12 Pavel Roskin <proski@gnu.org>
5606
5607 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
5608 genmk.rb don't need to be generated or installed.
5609
3a1acfe2 56102009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * commands/i386/pc/drivemap_int13h.S: add more comments
5613
3a4575d4 56142009-06-11 Pavel Roskin <proski@gnu.org>
5615
0658e928 5616 * Makefile.in (uninstall): Uninstall manuals.
5617
ca0388f0 5618 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
5619 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
5620 and update-grub_lib in two places.
5621 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
5622
e3b27c39 5623 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
5624 a compiler warning.
5625
3a4575d4 5626 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
5627 `entry_lo' to fix variable shadowing.
5628
af1f4f55 56292009-06-11 Christian Franke <franke@computer.org>
5630
5631 * kern/misc.c (__enable_execute_stack): Add missing return type
5632 to prevent gcc warning.
5633
5225e649 56342009-06-11 Felix Zielcke <fzielcke@z-51.de>
5635
5636 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
5637
7d83bd47 56382009-06-11 Pavel Roskin <proski@gnu.org>
5639
c1cb63ba 5640 * Makefile.in: Don't rely on any scripts being executable.
5641 Always use $(SHELL) to run shell scripts.
5642
7d83bd47 5643 * configure.ac: Always define ___main if using -nostdlib. This
5644 fixes tests on Cygwin.
5645
948f48e7 56462009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
5647
5648 UDF fix
5649
7d83bd47 5650 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 5651 is in bytes and not in blocks
7d83bd47 5652
8ada9bc1 56532009-06-11 Pavel Roskin <proski@gnu.org>
5654
5655 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
5656 warning.
5657
25ad2323 56582009-06-11 Felix Zielcke <fzielcke@z-51.de>
5659
5660 * util/grub.d/30_os-prober.in: Fix a comment. Source
5661 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
5662 to set the root device. Place drivemap command in the generated
5663 chain entry.
5664
e65acb0c 56652009-06-11 Pavel Roskin <proski@gnu.org>
5666
5667 * configure.ac: Remove host_m32. Issues with 64-bit utilities
5668 have long been resolved.
5669
f285fe2d 56702009-06-11 Colin Watson <cjwatson@ubuntu.com>
5671
bd47b0b5 5672 * util/grub.d/10_linux.in: Capitalise "Linux".
5673
f285fe2d 5674 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
5675
a0c62e4e 56762009-06-11 Pavel Roskin <proski@gnu.org>
5677
b6783cb2 5678 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
5679 fix a gcc warning and ensure that the function won't ever exit.
5680
dde032e8 5681 * kern/i386/ieee1275/init.c: Add missing prototype for
5682 grub_stop_floppy().
5683
22cd079d 5684 * loader/ieee1275/multiboot2.c [__i386__]: Include
5685 grub/cpu/multiboot.h.
5686
a0c62e4e 5687 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
5688 casts to short - they are not portable and cause warnings. Fix
5689 use of uninitialized values in input_buf. Use ARRAY_SIZE.
5690
63963d17 56912009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Drivemap fixes
5694
5695 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
5696 new function
5697 (grub_get_root_biosnumber_saved): new variable
5698 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
5699 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 5700 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 5701 %dx after the call if necessary
5702 * conf/common.rmk (pkglib_MODULES): remove boot.mod
5703 (boot_mod_SOURCES): remove
5704 (boot_mod_CFLAGS): remove
5705 (boot_mod_LDFLAGS): remove
5706 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
5707 (boot_mod_SOURCES): new variable
5708 (boot_mod_CFLAGS): likewise
5709 (boot_mod_LDFLAGS): likewise
5710 * conf/i386-efi.rmk: likewise
5711 * conf/i386-ieee1275.rmk: likewise
5712 * conf/i386-pc.rmk: likewise
5713 * conf/powerpc-ieee1275.rmk: likewise
5714 * conf/sparc64-ieee1275.rmk: likewise
5715 * conf/x86_64-efi.rmk: likewise
5716 * include/grub/i386/pc/biosnum.h: new file
5717 * lib/i386/pc/biosnum.c: likewise
5718 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
5719 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
5720 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 5721
33abf7ae 57222009-06-10 Pavel Roskin <proski@gnu.org>
5723
5ac35b35 5724 * io/gzio.c (test_header): Don't reuse one buffer for all data.
5725 Use separate variables. Read only the file size at the end, but
5726 not the checksum that we don't use.
5727
5c5215d5 5728 * kern/file.c (grub_file_read): Use void pointer for the buffer.
5729 Adjust all callers.
5730
27d5fef7 5731 * kern/ieee1275/openfw.c: Remove libc includes.
5732 * kern/ieee1275/cmain.c: Likewise.
5733 * include/grub/ieee1275/ieee1275.h: Likewise.
5734
33abf7ae 5735 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
5736 compiler warnings.
5737
19d50c2b 57382009-06-10 Felix Zielcke <fzielcke@z-51.de>
5739
5740 * Makefile.in: Remove all trailing whitespace.
5741 * conf/i386-pc.rmk: Likewise.
5742 * conf/powerpc-ieee1275.rmk: Likewise.
5743 * conf/sparc64-ieee1275.rmk: Likewise.
5744 * docs/grub.texi: Likewise.
5745 * docs/texinfo.tex: Likewise.
5746 * disk/fs_uuid.c: Likewise.
5747 * disk/lvm.c: Likewise.
5748 * disk/scsi.c: Likewise.
5749 * disk/ata.c: Likewise.
5750 * disk/ieee1275/ofdisk.c: Likewise.
5751 * disk/i386/pc/biosdisk.c: Likewise.
5752 * disk/host.c: Likewise.
5753 * disk/raid.c: Likewise.
5754 * disk/efi/efidisk.c: Likewise.
5755 * disk/usbms.c: Likewise.
5756 * disk/memdisk.c: Likewise.
5757 * disk/loopback.c: Likewise.
5758 * kern/powerpc/dl.c: Likewise.
5759 * kern/device.c: Likewise.
5760 * kern/dl.c: Likewise.
5761 * kern/sparc64/dl.c: Likewise.
5762 * kern/ieee1275/ieee1275.c: Likewise.
5763 * kern/term.c: Likewise.
5764 * kern/fs.c: Likewise.
5765 * kern/i386/dl.c: Likewise.
5766 * kern/i386/pc/startup.S: Likewise.
5767 * kern/i386/pc/init.c: Likewise.
5768 * kern/i386/pc/mmap.c: Likewise.
5769 * kern/i386/pc/lzo1x.S: Likewise.
5770 * kern/i386/ieee1275/init.c: Likewise.
5771 * kern/i386/realmode.S: Likewise.
5772 * kern/i386/tsc.c: Likewise.
5773 * kern/partition.c: Likewise.
5774 * kern/corecmd.c: Likewise.
5775 * kern/file.c: Likewise.
5776 * kern/efi/efi.c: Likewise.
5777 * kern/efi/init.c: Likewise.
5778 * kern/efi/mm.c: Likewise.
5779 * kern/main.c: Likewise.
5780 * kern/err.c: Likewise.
5781 * kern/env.c: Likewise.
5782 * kern/disk.c: Likewise.
5783 * kern/generic/millisleep.c: Likewise.
5784 * kern/generic/rtc_get_time_ms.c: Likewise.
5785 * kern/misc.c: Likewise.
5786 * kern/parser.c: Likewise.
5787 * genmk.rb: Likewise.
5788 * configure.ac: Likewise.
5789 * boot/i386/pc/diskboot.S: Likewise.
5790 * boot/i386/pc/pxeboot.S: Likewise.
5791 * boot/i386/pc/boot.S: Likewise.
5792 * boot/i386/pc/lnxboot.S: Likewise.
5793 * boot/i386/pc/cdboot.S: Likewise.
5794 * parttool/pcpart.c: Likewise.
5795 * video/readers/tga.c: Likewise.
5796 * video/video.c: Likewise.
5797 * video/bitmap.c: Likewise.
5798 * lib/envblk.c: Likewise.
5799 * lib/i386/setjmp.S: Likewise.
5800 * fs/xfs.c: Likewise.
5801 * fs/afs.c: Likewise.
5802 * fs/fat.c: Likewise.
5803 * fs/ntfs.c: Likewise.
5804 * fs/udf.c: Likewise.
5805 * fs/affs.c: Likewise.
5806 * fs/iso9660.c: Likewise.
5807 * fs/hfs.c: Likewise.
5808 * fs/fshelp.c: Likewise.
5809 * fs/ext2.c: Likewise.
5810 * fs/jfs.c: Likewise.
5811 * fs/reiserfs.c: Likewise.
5812 * fs/hfsplus.c: Likewise.
5813 * fs/minix.c: Likewise.
5814 * fs/cpio.c: Likewise.
5815 * fs/sfs.c: Likewise.
5816 * fs/ufs.c: Likewise.
5817 * efiemu/prepare.c: Likewise.
5818 * efiemu/loadcore_common.c: Likewise.
5819 * efiemu/runtime/efiemu.sh: Likewise.
5820 * efiemu/runtime/efiemu.S: Likewise.
5821 * efiemu/runtime/efiemu.c: Likewise.
5822 * efiemu/pnvram.c: Likewise.
5823 * efiemu/main.c: Likewise.
5824 * efiemu/i386/pc/cfgtables.c: Likewise.
5825 * efiemu/i386/loadcore64.c: Likewise.
5826 * efiemu/i386/loadcore32.c: Likewise.
5827 * efiemu/loadcore.c: Likewise.
5828 * efiemu/symbols.c: Likewise.
5829 * efiemu/mm.c: Likewise.
5830 * include/grub/autoefi.h: Likewise.
5831 * include/grub/datetime.h: Likewise.
5832 * include/grub/term.h: Likewise.
5833 * include/grub/hfs.h: Likewise.
5834 * include/grub/lvm.h: Likewise.
5835 * include/grub/i386/tsc.h: Likewise.
5836 * include/grub/i386/linux.h: Likewise.
5837 * include/grub/i386/xnu.h: Likewise.
5838 * include/grub/i386/efiemu.h: Likewise.
5839 * include/grub/i386/pc/biosdisk.h: Likewise.
5840 * include/grub/i386/pc/memory.h: Likewise.
5841 * include/grub/i386/pc/vbe.h: Likewise.
5842 * include/grub/parttool.h: Likewise.
5843 * include/grub/video.h: Likewise.
5844 * include/grub/memory.h: Likewise.
5845 * include/grub/fs.h: Likewise.
5846 * include/grub/partition.h: Likewise.
5847 * include/grub/xnu.h: Likewise.
5848 * include/grub/efi/api.h: Likewise.
5849 * include/grub/efi/pe32.h: Likewise.
5850 * include/grub/efi/memory.h: Likewise.
5851 * include/grub/multiboot.h: Likewise.
5852 * include/grub/usbdesc.h: Likewise.
5853 * include/grub/multiboot2.h: Likewise.
5854 * include/grub/acpi.h: Likewise.
5855 * include/grub/efiemu/efiemu.h: Likewise.
5856 * include/grub/disk.h: Likewise.
5857 * include/grub/ieee1275/ieee1275.h: Likewise.
5858 * include/grub/net.h: Likewise.
5859 * include/grub/machoload.h: Likewise.
5860 * include/grub/macho.h: Likewise.
5861 * include/multiboot.h: Likewise.
5862 * genmoddep.awk: Likewise.
5863 * normal/main.c: Likewise.
5864 * normal/menu_entry.c: Likewise.
5865 * normal/menu_viewer.c: Likewise.
5866 * normal/completion.c: Likewise.
5867 * normal/cmdline.c: Likewise.
5868 * normal/misc.c: Likewise.
5869 * normal/datetime.c: Likewise.
5870 * bus/usb/usbtrans.c: Likewise.
5871 * bus/usb/ohci.c: Likewise.
5872 * bus/usb/uhci.c: Likewise.
5873 * bus/usb/usb.c: Likewise.
5874 * mmap/efi/mmap.c: Likewise.
5875 * mmap/i386/pc/mmap_helper.S: Likewise.
5876 * mmap/i386/pc/mmap.c: Likewise.
5877 * mmap/i386/mmap.c: Likewise.
5878 * mmap/i386/uppermem.c: Likewise.
5879 * mmap/mmap.c: Likewise.
5880 * commands/acpi.c: Likewise.
5881 * commands/echo.c: Likewise.
5882 * commands/blocklist.c: Likewise.
5883 * commands/loadenv.c: Likewise.
5884 * commands/usbtest.c: Likewise.
5885 * commands/boot.c: Likewise.
5886 * commands/parttool.c: Likewise.
5887 * commands/search.c: Likewise.
5888 * commands/cat.c: Likewise.
5889 * commands/i386/pc/play.c: Likewise.
5890 * commands/i386/pc/drivemap.c: Likewise.
5891 * commands/i386/pc/vbeinfo.c: Likewise.
5892 * commands/i386/pc/acpi.c: Likewise.
5893 * commands/i386/pc/vbetest.c: Likewise.
5894 * commands/ls.c: Likewise.
5895 * commands/cmp.c: Likewise.
5896 * commands/test.c: Likewise.
5897 * commands/efi/acpi.c: Likewise.
5898 * commands/gptsync.c: Likewise.
5899 * commands/help.c: Likewise.
5900 * partmap/amiga.c: Likewise.
5901 * partmap/apple.c: Likewise.
5902 * partmap/acorn.c: Likewise.
5903 * partmap/pc.c: Likewise.
5904 * partmap/sun.c: Likewise.
5905 * partmap/gpt.c: Likewise.
5906 * script/sh/lexer.c: Likewise.
5907 * script/sh/function.c: Likewise.
5908 * font/font.c: Likewise.
5909 * font/font_cmd.c: Likewise.
5910 * loader/powerpc/ieee1275/linux.c: Likewise.
5911 * loader/efi/chainloader.c: Likewise.
5912 * loader/multiboot_loader.c: Likewise.
5913 * loader/macho.c: Likewise.
5914 * loader/i386/multiboot.c: Likewise.
5915 * loader/i386/linux.c: Likewise.
5916 * loader/i386/pc/linux.c: Likewise.
5917 * loader/i386/pc/multiboot2.c: Likewise.
5918 * loader/i386/pc/chainloader.c: Likewise.
5919 * loader/i386/pc/xnu.c: Likewise.
5920 * loader/i386/bsd_trampoline.S: Likewise.
5921 * loader/i386/efi/linux.c: Likewise.
5922 * loader/i386/multiboot_elfxx.c: Likewise.
5923 * loader/i386/bsd_helper.S: Likewise.
5924 * loader/i386/bsd.c: Likewise.
5925 * loader/i386/linux_trampoline.S: Likewise.
5926 * loader/i386/xnu_helper.S: Likewise.
5927 * loader/i386/xnu.c: Likewise.
5928 * loader/i386/bsd_pagetable.c: Likewise.
5929 * loader/i386/multiboot_helper.S: Likewise.
5930 * loader/xnu.c: Likewise.
5931 * loader/xnu_resume.c: Likewise.
5932 * io/gzio.c: Likewise.
5933 * term/efi/console.c: Likewise.
5934 * term/terminfo.c: Likewise.
5935 * term/ieee1275/ofconsole.c: Likewise.
5936 * term/i386/pc/serial.c: Likewise.
5937 * term/i386/pc/vesafb.c: Likewise.
5938 * term/i386/pc/vga.c: Likewise.
5939 * term/usb_keyboard.c: Likewise.
5940 * term/gfxterm.c: Likewise.
5941 * aclocal.m4: Likewise.
5942 * util/lvm.c: Likewise.
5943 * util/grub.d/30_os-prober.in: Likewise.
5944 * util/grub.d/10_hurd.in: Likewise.
5945 * util/console.c: Likewise.
5946 * util/grub-macho2img.c: Likewise.
5947 * util/grub-probe.c: Likewise.
5948 * util/hostfs.c: Likewise.
5949 * util/i386/pc/grub-mkimage.c: Likewise.
5950 * util/i386/pc/grub-setup.c: Likewise.
5951 * util/i386/efi/grub-mkimage.c: Likewise.
5952 * util/grub-mkconfig.in: Likewise.
5953 * util/raid.c: Likewise.
5954 * util/resolve.c: Likewise.
5955 * util/grub-mkdevicemap.c: Likewise.
5956 * util/grub-emu.c: Likewise.
5957 * util/getroot.c: Likewise.
5958 * util/hostdisk.c: Likewise.
5959 * util/usb.c: Likewise.
5960 * util/grub-editenv.c: Likewise.
5961 * util/misc.c: Likewise.
5962
d2d49665 59632009-06-10 Felix Zielcke <fzielcke@z-51.de>
5964
5965 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5966 `genparttoollist.sh'.
5967 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5968 Add `*.sh' to the list find searches for and change `mdate.sh'
5969 to `mdate-sh'.
5970
fe052e37 59712009-06-10 Pavel Roskin <proski@gnu.org>
5972
2763ac18 5973 * include/grub/multiboot2.h: Provide compatibility defines for
5974 multiboot2.h.
5975 * include/multiboot2.h: Include stdint.h only if needed, using
5976 angle brackets.
5977 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5978 grub/multiboot2.h.
5979 * loader/ieee1275/multiboot2.c: Likewise.
5980 * loader/multiboot2.c: Likewise.
5981 * loader/multiboot_loader.c: Likewise.
5982
437e6adc 5983 * configure.ac: Use -nostdlib when probing for the target. It
5984 should not be required to have libc for the target.
5985
06a6836c 5986 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5987 they fail without libc headers for the target.
5988 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5989 exports.
5990 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5991 preprocessor conditionals.
5992
fe052e37 5993 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5994 build system doesn't need to be aware of the tar.c internals.
5995
afd22553 59962009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 5997
afd22553 5998 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 5999
6b787c4f 60002009-06-09 Robert Millan <rmh.grub@aybabtu.com>
6001
6002 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
6003 disk limit to 26 for IDE, Virtio, Xen and SCSI.
6004
60052009-06-09 Felix Zielcke <fzielcke@z-51.de>
6006
6007 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 6008 aren't available if ata.mod gets used.
6b787c4f 6009
473d1e45 60102009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 6011
473d1e45 6012 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 6013 initialising controller.
473d1e45 6014 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 6015
255a27d4 60162009-06-08 Felix Zielcke <fzielcke@z-51.de>
6017
6018 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6019 to choose between ata and biosdisk module on i386-pc.
6020
473d1e45 60212009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6022
d55842d8 6023 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6024 Subclass and Programming Interface fields in terms of the 3 byte
6025 Class Code register.
6026 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6027
fa5db0b1 6028 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6029 interface is OHCI. Add grub_dprintf for symmetry with
6030 bus/usb/uhci.c.
6031 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6032 interface is UHCI. Add interf variable for programming
6033 interface. Print interface with class/subclass.
6034
c0947beb 6035 * bus/usb/ohci.c: Set interf with correct field.
6036
69da8877 6037 * bus/usb/uhci.c: Remove unneeded doubled lines.
6038 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6039 Remove whitespace inside comment.
6040
9e172e30 60412009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6042
6043 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6044 as fallback an equivalent option without depth.
6045
de65ee2b 60462009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Not fail if unable to retrieve C/H/S on LBA disks
6049
473d1e45 6050 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6051 if unable to retrieve C/H/S on LBA disks
6052
b57ea2c9 60532009-06-08 Pavel Roskin <proski@gnu.org>
6054
6055 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6056 about aliasing.
6057
af361263 60582009-06-08 Felix Zielcke <fzielcke@z-51.de>
6059
6060 * Makefile.in (uninstall): Remove all $lib_DATA files.
6061
4c9ec6b3 60622009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 Bugfix: install on partitionless device
6065
6066 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6067 is a whole disk
6068
e76fc924 60692009-06-08 Felix Zielcke <fzielcke@z-51.de>
6070
6071 * Makefile.in (uninstall): Remove all $include_DATA files.
6072
ba5a0d05 60732009-06-08 Felix Zielcke <fzielcke@z-51.de>
6074
6075 * commands/true.c: New file. Implement the true and false commands.
6076 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6077 (true_mod_SOURCES): New variable.
6078 (true_mod_CFLAGS): Likewise.
6079 (true_mod_LDFLAGS): Likewise.
6080
c8048e32 60812009-06-05 Colin D Bennett <colin@gibibit.com>
6082
6083 Optimized font character lookup using binary search instead of linear
6084 search. Fonts now are required to have the character index ordered by
6085 code point.
6086
6087 * font/font.c (load_font_index): Verify that fonts have ordered
6088 character indices.
6089 (find_glyph): Use binary search instead of linear search to find a
6090 character in a font.
6091
408305be 60922009-06-05 Michael Scherer <misc@mandriva.org>
6093
6094 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6095 uses case sensitive btree.
6096 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6097 only for case insensitive filesystems.
6098
8ee1e0d9 60992009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6102 * conf/common.rmk (search_mod_CFLAGS): likewise
6103
a9966eb1 61042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6105
473d1e45 6106 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 6107 compensate a compiler bug
6108
9e7100fb 61092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6110
473d1e45 6111 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 6112 instead of '\b'
473d1e45 6113
ede21d71 61142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 Definitions for creating asm symbols with Apple's CC
6117
6118 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
6119 [APPLE_CC] (VARIABLE): likewise
6120
9dbf7653 61212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Disable lnxboot.img when compiled
6124 with Apple's CC
6125
6126 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
6127 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
6128 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
6129 [! APPLE_CC] (CODE_LENG): skip
6130 [! APPLE_CC] (setup_sects): likewise
6131 [! APPLE_CC]: skip filling
473d1e45 6132
e93cdc3d 61332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 Address in trampolines based on 32-bit registers when compiled
6136 with Apple's CC
6137
473d1e45 6138 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 6139 for addresses
6140 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
6141
6c688477 61422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Avoid aliases when compiling with Apple's CC for PCBIOS machine
6145
6146 * kern/misc.c [APPLE_CC] (memcpy): new function
6147 [APPLE_CC] (memmove): likewise
6148 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 6149 (memcpy): define alias conditionally on !APPLE_CC
6c688477 6150 (memset): likewise
6151 (abort): likewise
6152 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
6153 APPLE_CC are defined
6154 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
6155 (grub_assert_fail): make prototype conditional
6156
e37ffc5c 61572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
6160
473d1e45 6161 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
6162 grub-macho2img
e37ffc5c 6163 (CLEANFILES): add grub-macho2img
6164 (grub_macho2img_SOURCES): new variable
6165 * kern/i386/pc/startup.S (bss_start): new variable
6166 (bss_end): likewise
6167 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
6168 * util/grub-macho2img.c: new file
6169
cf00df31 61702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Use objconv when compiling with Apple's CC
6173
6174 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
6175 (efiemu64.o): likewise
6176 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
6177 when compiling with Apple's CC
6178 (efiemu64_s.o): likewise
6179 * configure.ac: check for objconv when compiling with Apple's CC
6180 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 6181
d119a20c 61822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 Define segment as well as section when compiling with
6185 Apple's CC
6186
6187 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
6188 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
6189 (efiemu_convert_pointer): likewise
6190 (efiemu_set_virtual_address_map): likewise
6191 (efiemu_convert_pointer): likewise
6192 (efiemu_getcrc32): likewise
6193 (init_crc32_table): likewise
6194 (reflect): likewise
6195 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
6196 (GRUB_MOD_DEP): likewise
473d1e45 6197
c8600122 61982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Allow a compilation without -mcmodel=large
6201
6202 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
6203 when compiled without -mcmodel=large
473d1e45 6204 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 6205 without -mcmodel=large
473d1e45 6206 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 6207 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 6208
e8df1d4e 62092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Remove nested functions in efiemu core
6212
6213 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 6214
cc6c3ac1 62152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
6218
6219 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
6220 temporary storage
473d1e45 6221 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
6222 using Apple's CC
cc6c3ac1 6223 (grub_cpu_is_tsc_supported): likewise
6224 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 6225
3e325901 62262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Absolute addressing through constant with Apple's cc
6229
6230 * kern/i386/pc/startup.S: Define necessary constants
6231 and address through it when using ABS with Apple's CC
6232 * boot/i386/pc/diskboot.S: likewise
6233 * boot/i386/pc/boot.S: likewise
6234 * boot/i386/pc/lnxboot.S: likewise
6235 * boot/i386/pc/cdboot.S: likewise
6236 * mmap/i386/pc/mmap_helper.S: likewise
6237 * commands/i386/pc/drivemap_int13h.S: likewise
6238
2b167a72 62392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Check if compiler is apple cc
6242
6243 * Makefile.in (ASFLAGS): new variable
6244 (TARGET_ASFLAGS): likewise
6245 (TARGET_MODULE_FORMAT): likewise
6246 (TARGET_APPLE_CC): likewise
6247 (OBJCONV): likewise
6248 (TARGET_IMG_CFLAGS): likewise
6249 (TARGET_CPPFLAGS): add includedir
6250 * configure.ac: call grub_apple_cc and grub_apple_target_cc
6251 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
6252 Check for linker script only if compiler isn't Apple's CC
6253 (TARGET_MODULE_FORMAT): set
6254 (TARGET_APPLE_CC): likewise
6255 (TARGET_ASFLAGS): likewise
6256 (ASFLAGS): likewise
6257 Check for objcopy only if compiler isn't Apple's CC
6258 Check for BSS symbol only if compiler isn't Apple's CC
6259 * genmk.rb: adapt nm options if we use Apple's utils
6260 * aclocal.m4 (grub_apple_cc): new test
6261 (grub_apple_target_cc): likewise
473d1e45 6262
fb14123e 62632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Simplify sed expressions and improve awk
6266
6267 * Makefile.in (install-local): simplify sed expression
6268 * gencmdlist.sh: likewise
6269 * genmoddep.awk: avoid adding module as a dependency of itself
6270
5b889789 62712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Add missing start symbols
6274
6275 * boot/i386/pc/boot.S: add start
fb14123e 6276 * boot/i386/pc/pxeboot.S: likewise
473d1e45 6277
fd2bf2e3 62782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 6281
6282 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 6283 (relocate_addresses): consider both r_addend and value at offset
6284 (make_mods_section): zerofill modinfo and header
6285 (convert_elf): write prefix here
473d1e45 6286
5389763d 62872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 Use .asciz instead of .string
6290
6291 * i386/pc/diskboot.S: use .asciz instead of .string
6292 * i386/pc/boot.S: likewise
6293 * include/grub/dl.h (GRUB_MOD_DEP): likewise
6294 (GRUB_MOD_NAME): likewise
473d1e45 6295
3eb5ed4e 62962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 gfxpayload support
6299
6300 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
6301 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
6302 (grub_video_setup): remove
6303 (grub_video_set_mode): new prototype
6304 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
6305 (vid_mode): remove
6306 (linux_vesafb_res): compile only on PCBIOS
6307 (grub_linux_boot): support gfxpayload
6308 * loader/i386/pc/xnu.c (video_hook): new function
6309 (grub_xnu_set_video): support gfxpayload
6310 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
6311 (DEFAULT_VIDEO_HEIGHT): likewise
6312 (DEFAULT_VIDEO_FLAGS): likewise
6313 (DEFAULT_VIDEO_MODE): new definition
6314 (video_hook): new function
6315 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 6316 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 6317 loading xnu
6318 * video/video.c (grub_video_setup): removed
473d1e45 6319 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 6320 grub_video_setup
6321
4b0e1143 63222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 Avoid calling biosdisk in drivemap
6325
6326 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
6327 (revparse_biosdisk): likewise
6328 (list_mappings): derive name from id directly
6329 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 6330
fda6cb98 63312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 Script fixes
6334
6335 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
6336 (grub_lexer_param): add tokenonhold
6337 (grub_script_create_cmdline): remove cmdline. All callers updated
6338 (grub_script_function_create): make functionname
6339 grub_script_arg. All callers updated
6340 (grub_script_execute_argument_to_string): new prototype
6341 * kern/parser.c (state_transitions): reorder
6342 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 6343 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 6344 make global
6345 (grub_script_execute_cmdline): use new format
6346 * script/sh/function.c (grub_script_function_create): make functionname
6347 grub_script_arg. All callers updated
473d1e45 6348 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 6349 (grub_script_yylex): remove
6350 (grub_script_yylex2): renamed to ...
6351 (grub_script_yylex): ...renamed
6352 parse the expressions like a${b}c
6353 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
6354 (GRUB_PARSER_TOKEN_VAR): remove
6355 (GRUB_PARSER_TOKEN_NAME): likewise
6356 ("if"): declare as typeless
6357 ("while"): likewise
6358 ("function"): likewise
6359 ("else"): likewise
6360 ("then"): likewise
6361 ("fi"): likewise
6362 (text): remove
6363 (argument): likewise
6364 (script): accept empty scripts and make exit on error
6365 (arguments): use GRUB_PARSER_TOKEN_ARG
6366 (function): likewise
6367 (command): move error handling to script
6368 (menuentry): move grub_script_lexer_ref before
473d1e45 6369 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 6370 argument. All callers updated
6371
f4448a07 63722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6373
6374 Prevent GRUB from probing floppies during boot.
6375
6376 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
6377 * commands/search.c (options): Add --no-floppy.
6378 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
6379 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
6380 --no-floppy when searching for UUIDs.
6381
2bf5885a 63822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6383
6384 Simplify the code duplication in commands/search.c.
6385
6386 * commands/search.c (search_label, search_fs_uuid): Merge into ...
6387 (search_fs): ... this. Update all users.
6388
f6fd460a 63892009-06-03 Felix Zielcke <fzielcke@z-51.de>
6390
6391 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
6392
cbb3c83e 63932009-05-28 Pavel Roskin <proski@gnu.org>
6394
57788cfd 6395 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
6396 Remove the original symlink explicitly.
6397
cbb3c83e 6398 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
6399 just one slash. That's how grub_fshelp_find_file() does it.
6400
cd0d5e30 64012009-05-26 Pavel Roskin <proski@gnu.org>
6402
f0f8bbe2 6403 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
6404 to `str'.
6405
cd0d5e30 6406 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
6407 possibly unused.
6408
8c2cab51 64092009-05-25 Christian Franke <franke@computer.org>
6410
6411 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
6412 register.
6413 (grub_atapi_identify): Add wait after drive select.
6414 (grub_ata_identify): Do more strict status register check before
6415 calling grub_atapi_identify (). Suppress error message if status
6416 register is 0x00 after command failure. Add status register
6417 check after PIO read to avoid bogus identify due to stuck DRQ.
6418 Thanks to Pavel Roskin for testing.
6419 (grub_device_initialize): Remove unsafe status register check.
6420 Thanks to 'phcoder' for problem report and patch.
6421 Prevent sign extension in debug message.
6422
230c0ad6 64232009-05-23 Colin D Bennett <colin@gibibit.com>
6424
6425 Cleaned up `include/grub/normal.h'. Grouped prototypes by
6426 definition file, and functions defined in `normal/menu.c' have had
6427 their prototypes moved to `include/grub/menu.h' for consistency.
6428
6429 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
6430 from normal.h.
6431 (grub_menu_get_entry): Likewise.
6432 (grub_menu_get_timeout): Likewise.
6433 (grub_menu_set_timeout): Likewise.
6434 (grub_menu_execute_entry): Likewise.
6435 (grub_menu_execute_with_fallback): Likewise.
6436 (grub_menu_entry_run): Likewise.
6437
6438 * include/grub/normal.h: Re-ordered and grouped function
6439 prototypes by file that the function is defined in.
6440 (grub_menu_execute_callback): Removed; moved to menu.h.
6441 (grub_menu_get_entry): Likewise.
6442 (grub_menu_get_timeout): Likewise.
6443 (grub_menu_set_timeout): Likewise.
6444 (grub_menu_execute_entry): Likewise.
6445 (grub_menu_execute_with_fallback): Likewise.
6446 (grub_menu_entry_run): Likewise.
6447 (grub_menu_addentry): Renamed from this ...
6448 (grub_normal_add_menu_entry): ... to this.
6449
6450 * normal/main.c (grub_menu_addentry): Renamed from this ...
6451 (grub_normal_add_menu_entry): ... to this.
6452
6453 * script/sh/execute.c (grub_script_execute_menuentry): Update
6454 reference to renamed grub_menu_addentry function.
6455
861f03a5 64562009-05-23 Felix Zielcke <fzielcke@z-51.de>
6457
6458 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
6459
96b1619a 64602009-05-22 Pavel Roskin <proski@gnu.org>
6461
bf6a5fb2 6462 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
6463 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
6464 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
6465 compiling for the i386 targets, but not for the utilities.
6466
96b1619a 6467 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
6468 to grub_uint8_t.
6469 (grub_root_drive): Likewise.
6470 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
6471 remove alignment.
6472 (grub_root_drive): Change size to byte.
6473 (grub_start_addr): Remove.
6474 (grub_end_addr): Likewise.
6475 (grub_apm_bios_info): Likewise.
6476
b729776b 64772009-05-21 Felix Zielcke <fzielcke@z-51.de>
6478
6479 * normal/i386: Remove.
6480 * normal/powerpc: Likewise.
6481 * normal/sparc64: Likewise.
6482 * normal/x86_64: Likewise.
6483
0a15ce80 64842009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 6487 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 6488 * loader/i386/xnu_helper.S: Likewise
d6da58e6 6489
33db9015 64902009-05-18 Colin D Bennett <colin@gibibit.com>
6491
d6da58e6 6492 Display error messages when parsing a Lua statement fails.
6493 Previously, executing a syntactically invalid statement like
6494 ")foo" or "bar;" would silently fail.
33db9015 6495
6496 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 6497 (grub_lua_parse_line): Improved reporting of Lua parser and
6498 execution errors.
33db9015 6499
46422c89 65002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Remove -Werror which causes build to fail on some systems
6503
6504 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
6505 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
6506 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 6507
22f53a96 65082009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 trampoline for linux on 64-bit platform
6511
18f547ad 6512 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
6513 loader/i386/efi/linux_trampoline.S
6514 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 6515 declaration
d6da58e6 6516 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
6517 here
22f53a96 6518 * loader/i386/linux_trampoline.S: moved here
d6da58e6 6519 * loader/i386/efi/linux.c (allocate_pages): reserve space for
6520 trampoline
22f53a96 6521 (jumpvector): removed
6522 (grub_linux_trampoline_start): new declaration
6523 (grub_linux_trampoline_end): likewise
6524 (grub_linux_boot): use trampoline when on 64-bit platform
6525 * loader/i386/linux.c: likewise
6526
cb5a0f40 65272009-05-16 Pavel Roskin <proski@gnu.org>
6528
6529 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
6530 const to avoid a warning.
6531 (grub_lua_setenv): Likewise.
6532 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
6533 lmsg to fix a warning.
6534
334f2c28 65352009-05-16 Felix Zielcke <fzielcke@z-51.de>
6536
6537 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 6538 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6539 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
6540 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6541 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6542 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6543 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6544 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 6545
59e5d3ec 65462009-05-16 Felix Zielcke <fzielcke@z-51.de>
6547
6548 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
6549
9d87a1ba 65502009-05-16 Bean <bean123ch@gmail.com>
6551
6552 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
6553 (lua_mod_SOURCES): New variable.
6554 (lua_mod_CFLAGS): Likewise.
6555 (lua_mod_LDFLAGS): Likewise.
6556
6557 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
6558 (setjmp_mod_SOURCES): New variable.
6559 (setjmp_mod_CFLAGS): Likewise.
6560 (setjmp_LDFLAGS): Likewise.
6561
6562 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
6563 (setjmp_mod_SOURCES): New variable.
6564 (setjmp_mod_CFLAGS): Likewise.
6565 (setjmp_LDFLAGS): Likewise.
6566
6567 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6568 (setjmp_mod_SOURCES): New variable.
6569 (setjmp_mod_CFLAGS): Likewise.
6570 (setjmp_LDFLAGS): Likewise.
6571
6572 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6573 (setjmp_mod_SOURCES): New variable.
6574 (setjmp_mod_CFLAGS): Likewise.
6575 (setjmp_LDFLAGS): Likewise.
6576
6577 * normal/i386/setjmp.S: Moved from here ...
6578 * lib/i386/setjmp.S: ... Moved here
6579 * normal/x86_64/setjmp.S: Moved from here ...
6580 * lib/x86_64/setjmp.S: ... Moved here
6581 * normal/powerpc/setjmp.S: Moved from here ...
6582 * lib/powerpc/setjmp.S: ... Moved here
6583 * normal/sparc64/setjmp.S: Moved from here ...
6584 * lib/sparc64/setjmp.S: ... Moved here
6585
6586 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
6587 returns_twice in mingw.
6588
6589 * script/lua/grub_lib.c: New file.
6590 * script/lua/grub_lib.h: Likewise.
6591 * script/lua/grub_lua.h: Likewise.
6592 * script/lua/grub_main.c: Likewise.
6593 * script/lua/lapi.c: Likewise.
6594 * script/lua/lapi.h: Likewise.
6595 * script/lua/lauxlib.c: Likewise.
6596 * script/lua/lauxlib.h: Likewise.
6597 * script/lua/lbaselib.c: Likewise.
6598 * script/lua/lcode.c: Likewise.
6599 * script/lua/lcode.h: Likewise.
6600 * script/lua/ldblib.c: Likewise.
6601 * script/lua/ldebug.c: Likewise.
6602 * script/lua/ldebug.h: Likewise.
6603 * script/lua/ldo.c: Likewise.
6604 * script/lua/ldo.h: Likewise.
6605 * script/lua/ldump.c: Likewise.
6606 * script/lua/lfunc.c: Likewise.
6607 * script/lua/lfunc.h: Likewise.
6608 * script/lua/lgc.c: Likewise.
6609 * script/lua/lgc.h: Likewise.
6610 * script/lua/linit.c: Likewise.
6611 * script/lua/liolib.c: Likewise.
6612 * script/lua/llex.c: Likewise.
6613 * script/lua/llex.h: Likewise.
6614 * script/lua/llimits.h: Likewise.
6615 * script/lua/lmathlib.c: Likewise.
6616 * script/lua/lmem.c: Likewise.
6617 * script/lua/lmem.h: Likewise.
6618 * script/lua/loadlib.c: Likewise.
6619 * script/lua/lobject.c: Likewise.
6620 * script/lua/lobject.h: Likewise.
6621 * script/lua/lopcodes.c: Likewise.
6622 * script/lua/lopcodes.h: Likewise.
6623 * script/lua/loslib.c: Likewise.
6624 * script/lua/lparser.c: Likewise.
6625 * script/lua/lparser.h: Likewise.
6626 * script/lua/lstate.c: Likewise.
6627 * script/lua/lstate.h: Likewise.
6628 * script/lua/lstring.c: Likewise.
6629 * script/lua/lstring.h: Likewise.
6630 * script/lua/lstrlib.c: Likewise.
6631 * script/lua/ltable.c: Likewise.
6632 * script/lua/ltable.h: Likewise.
6633 * script/lua/ltablib.c: Likewise.
6634 * script/lua/ltm.c: Likewise.
6635 * script/lua/ltm.h: Likewise.
6636 * script/lua/lua.h: Likewise.
6637 * script/lua/luaconf.h: Likewise.
6638 * script/lua/lualib.h: Likewise.
6639 * script/lua/lundump.c: Likewise.
6640 * script/lua/lundump.h: Likewise.
6641 * script/lua/lvm.c: Likewise.
6642 * script/lua/lvm.h: Likewise.
6643 * script/lua/lzio.c: Likewise.
6644 * script/lua/lzio.h: Likewise.
6645
5e898c9d 66462009-05-16 Bean <bean123ch@gmail.com>
6647
6648 * include/grub/kernel.h (grub_module_header_types): Add type
6649 OBJ_TYPE_CONFIG.
6650
6651 * kern/main.c (grub_load_config): New function.
6652 (grub_main): Call grub_load_config to read boot config.
6653
6654 * grub-mkimage (generate_image): New parameter config_path.
6655 (options): New option --config.
6656 (main): Parse --config option, and pass it to generate_image.
6657
cf353a47 66582009-05-14 Christian Franke <franke@computer.org>
6659
6660 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
6661 This fixes build on Cygwin.
6662
3834887f 66632009-05-14 Pavel Roskin <proski@gnu.org>
6664
6665 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
6666 jump. This saves two bytes, so the typical case of 2 swapped
6667 drives would fit 32 bytes.
6668
8090fc01 66692009-05-13 Pavel Roskin <proski@gnu.org>
6670
ac963883 6671 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
6672 grub_uint32_t to avoid a warning.
6673
8090fc01 6674 * loader/i386/linux.c (allocate_pages): When assigning
6675 real_mode_mem, cast through grub_size_t to fix a warning. The
6676 code already makes sure that the value would fit a pointer.
6677 (grub_linux_setup_video): Cast render_target->data to
6678 grub_size_t to fix a warning.
6679
18f547ad 66802009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 6681
6682 * commands/i386/pc/drivemap.c: New file - implement drivemap
6683 command.
6684 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
6685 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
6686
6f6a8b28 66872009-05-13 Pavel Roskin <proski@gnu.org>
6688
6689 * util/i386/pc/grub-setup.c (setup): Remove unused variable
6690 embedding_area_exists.
6691
15fbf4c4 66922009-05-13 Robert Millan <rmh.grub@aybabtu.com>
6693
6694 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
6695 it easier to understand / work with.
59978c8a 6696 Improve warning messages for cases where there's no embedding area,
6697 or when it is too small (or core.img too large).
15fbf4c4 6698
238e871f 66992009-05-13 Pavel Roskin <proski@gnu.org>
6700
0ab3a9a4 6701 * loader/i386/pc/multiboot2.c: Add necessary includes for
6702 grub_multiboot2_real_boot().
6703
a2c8c5f8 6704 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
6705 PX record is always little-endian. We only need the lower 2
6706 bytes of the mode.
6707
faec96af 6708 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
6709 facilitate code reuse.
6710 (grub_cpio_mount): Use "struct head", not a char buffer. This
6711 fixes a warning reported by gcc 4.4.
6712
238e871f 6713 * kernel/disk.c (grub_disk_read): Use void pointer for the
6714 buffer.
6715 (grub_disk_write): Use const void pointer for the buffer.
6716 Adjust all callers. Remove unnecessary casts.
6717
901d2f0c 67182009-05-10 Robert Millan <rmh.grub@aybabtu.com>
6719
6720 * util/i386/pc/grub-install.in: Update copyright year.
6721
18f547ad 67222009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 6723
6724 gptsync
6725
6726 * commands/gptsync.c: new file
6727 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
6728 (gptsync_mod_SOURCES): new variable
6729 (gptsync_mod_CFLAGS): likewise
6730 (gptsync_mod_LDFLAGS): likewise
18f547ad 6731 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 6732 new definition
6733 (GRUB_PC_PARTITION_TYPE_HFS): likewise
6734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
6735 * conf/i386-ieee1275.rmk: likewise
6736 * conf/i386-pc.rmk: likewise
6737 * conf/powerpc-ieee1275.rmk: likewise
6738
b4ba690a 67392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Fixed grub-emu
6742
6743 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
6744 (grub_dl_ref): likewise
6745
317e1a44 67462009-05-08 Robert Millan <rmh.grub@aybabtu.com>
6747
6748 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
6749 split in two functions (one for msdos and one for gpt).
6750
041b8094 67512009-05-08 Pavel Roskin <proski@gnu.org>
6752
752473c2 6753 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
6754 not modified.
6755
041b8094 6756 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
6757 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
6758 Initialize them with -1. Add sanity check for bad1. Eliminate
6759 nerr variable.
6760
172800ce 67612009-05-08 David S. Miller <davem@davemloft.net>
6762
6763 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
6764
29aa5e81 67652009-05-06 Robert Millan <rmh.grub@aybabtu.com>
6766
6767 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 6768 existence.
29aa5e81 6769
96613b62 67702009-05-05 Felix Zielcke <fzielcke@z-51.de>
6771
6772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 6773 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 6774
eef73c8a 67752009-05-05 David S. Miller <davem@davemloft.net>
6776
6777 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
6778
119494b5 67792009-05-05 Pavel Roskin <proski@gnu.org>
6780
6781 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
6782 of grub_dl_ref() and grub_dl_unref().
6783 * commands/parttool.c: Remove preprocessor conditionals around
6784 grub_dl_ref() and grub_dl_unref().
6785 * fs/affs.c: Likewise.
6786 * fs/afs.c: Likewise.
6787 * fs/cpio.c: Likewise.
6788 * fs/ext2.c: Likewise.
6789 * fs/fat.c: Likewise.
6790 * fs/hfs.c: Likewise.
6791 * fs/hfsplus.c: Likewise.
6792 * fs/iso9660.c: Likewise.
6793 * fs/jfs.c: Likewise.
6794 * fs/minix.c: Likewise.
6795 * fs/ntfs.c: Likewise.
6796 * fs/reiserfs.c: Likewise.
6797 * fs/sfs.c: Likewise.
6798 * fs/udf.c: Likewise.
6799 * fs/ufs.c: Likewise.
6800 * fs/xfs.c: Likewise.
6801 * include/grub/dl.h: Likewise.
6802 * loader/xnu.c: Likewise.
6803
de5fd76e 68042009-05-04 Pavel Roskin <proski@gnu.org>
6805
6806 * commands/acpi.c: Remove unused variable my_mod.
6807 * partmap/amiga.c: Likewise.
6808 * partmap/apple.c: Likewise.
6809 * partmap/gpt.c: Likewise.
6810 * partmap/pc.c: Likewise.
6811 * partmap/sun.c: Likewise.
6812 * term/gfxterm.c: Likewise.
6813 * term/i386/pc/vesafb.c: Likewise.
6814 * term/i386/pc/vga.c: Likewise.
6815
983598ad 68162009-05-04 David S. Miller <davem@davemloft.net>
6817
6818 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
6819 pointer args to grub_ieee1275_get_property().
6820
8aadec43 6821 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
6822
9554b15e 6823 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
6824 devices, and do not traverse down under controller nodes.
6825
67e23c90 6826 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
6827 (grub_ofdisk_open): Use it to un-escape "," characters.
6828 * kern/disk.c (find_part_sep): New.
6829 (grub_disk_open): Use it to find the first non-escaped ','
6830 character in the disk name.
6831 * util/ieee1275/devicemap.c (escape_of_path): New.
6832 (grub_util_emit_devicemap_entry): Use it.
6833 * util/sparc64/ieee1275/grub-install.in: Update script to
6834 strip partition specifiers properly by not triggering on
6835 '\' escaped ',' characters.
6836
74bfdd2f 68372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6838
6839 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
6840 to 0x300.
6841 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
6842 resolutions.
6843 (linux_vesafb_modes): Add a lot of additional modes to the list (based
6844 on documentation from Wikipedia).
6845
4241d2b1 68462009-05-04 Pavel Roskin <proski@gnu.org>
6847
6848 * disk/ata.c: Spelling fixes.
6849 * disk/raid.c: Likewise.
6850 * disk/usbms.c: Likewise.
6851 * disk/dmraid_nvidia.c: Likewise.
6852 * kern/ieee1275/openfw.c: Likewise.
6853 * kern/ieee1275/init.c: Likewise.
6854 * kern/ieee1275/cmain.c: Likewise.
6855 * boot/i386/pc/cdboot.S: Likewise.
6856 * video/readers/png.c: Likewise.
6857 * video/i386/pc/vbe.c: Likewise.
6858 * fs/udf.c: Likewise.
6859 * fs/hfs.c: Likewise.
6860 * fs/reiserfs.c: Likewise.
6861 * efiemu/runtime/efiemu.c: Likewise.
6862 * efiemu/main.c: Likewise.
6863 * efiemu/mm.c: Likewise.
6864 * include/grub/elf.h: Likewise.
6865 * include/grub/xnu.h: Likewise.
6866 * include/grub/usbdesc.h: Likewise.
6867 * include/grub/usb.h: Likewise.
6868 * include/grub/script_sh.h: Likewise.
6869 * include/grub/lib/LzmaEnc.h: Likewise.
6870 * include/grub/efiemu/efiemu.h: Likewise.
6871 * include/grub/command.h: Likewise.
6872 * normal/menu.c: Likewise.
6873 * normal/main.c: Likewise.
6874 * normal/datetime.c: Likewise.
6875 * bus/usb/uhci.c: Likewise.
6876 * mmap/i386/uppermem.c: Likewise.
6877 * mmap/mmap.c: Likewise.
6878 * commands/acpi.c: Likewise.
6879 * commands/test.c: Likewise.
6880 * partmap/apple.c: Likewise.
6881 * font/font.c: Likewise.
6882 * loader/sparc64/ieee1275/linux.c: Likewise.
6883 * loader/macho.c: Likewise.
6884 * loader/i386/bsd_trampoline.S: Likewise.
6885 * loader/i386/bsd.c: Likewise.
6886 * loader/xnu.c: Likewise.
6887 * term/i386/pc/vesafb.c: Likewise.
6888 * term/usb_keyboard.c: Likewise.
6889 * util/resolve.c: Likewise.
6890 * util/getroot.c: Likewise.
6891
0cfc0083 68922009-05-04 Felix Zielcke <fzielcke@z-51.de>
6893
6894 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
6895
7c1d00cd 68962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6897
6898 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
6899 build error.
6900
b01f0548 69012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6902
6903 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
6904 parameter only available on BIOS.
6905
ecc3eb22 69062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Removed wrong semicolon in declaration
6909
6910 * grub/misc.h (grub_dprintf): remove semicolon
6911
112972a9 69122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6913
6914 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
6915 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
6916 is done by grub_cmd_linux() now).
6917 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
6918 restore video to text mode.
6919 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
6920 indicates lack of "vga=" parameter. "vga=0" is mapped to
6921 `GRUB_LINUX_VID_MODE_NORMAL'.
6922
afd5c115 69232009-05-04 Felix Zielcke <fzielcke@z-51.de>
6924
6925 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
6926 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
6927 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 6928 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 6929 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
6930 `grub_script.tab.c'.
6931
6932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6933 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6936 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6937
faa517ce 6938 * Makefile.in: Remove duplicated 2008 in Copyright line.
6939
ae0c0bdc 69402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6941
473d1e45 6942 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6943 unconditionally.
6944 * include/grub/util/misc.h (grub_util_warn): New declaration.
6945
6946 * util/i386/pc/grub-install.in: Understand --force and pass it down
6947 to grub-setup.
6948
6949 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6950 down to setup().
6951 (setup): Improve error messages and add warnings when requested to
6952 install in odd layouts. Refuse to install using blocklists unless
6953 --force was set.
6954
18f547ad 69552009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6956
6957 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6958
6d260daa 69592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Updated copyright year
6962
6963 * fs/hfsplus.c: updated copyright year
18f547ad 6964
69f853f8 69652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 HFS+ UUID
6968
18f547ad 6969 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6970 in the space previously used by unused3
6971 (grub_hfsplus_uuid): new function
6972 (grub_hfsplus_fs): added uuid field
6973
4c402e73 69742009-05-03 Pavel Roskin <proski@gnu.org>
6975
6976 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6977 suppress warnings. It's no longer needed.
6978 * disk/host.c: Likewise.
6979 * disk/ata_pthru.c: Likewise.
6980 * disk/loopback.c: Likewise.
6981 * hook/datehook.c: Likewise.
6982 * parttool/pcpart.c: Likewise.
6983 * fs/i386/pc/pxe.c: Likewise.
6984 * fs/ntfscomp.c: Likewise.
6985 * efiemu/main.c: Likewise.
6986 * mmap/mmap.c: Likewise.
6987 * commands/crc.c: Likewise.
6988 * commands/hexdump.c: Likewise.
6989 * commands/hdparm.c: Likewise.
6990 * commands/acpi.c: Likewise.
6991 * commands/echo.c: Likewise.
6992 * commands/minicmd.c: Likewise.
6993 * commands/blocklist.c: Likewise.
6994 * commands/memrw.c: Likewise.
6995 * commands/loadenv.c: Likewise.
6996 * commands/usbtest.c: Likewise.
6997 * commands/lsmmap.c: Likewise.
6998 * commands/boot.c: Likewise.
6999 * commands/parttool.c: Likewise.
7000 * commands/configfile.c: Likewise.
7001 * commands/search.c: Likewise.
7002 * commands/ieee1275/suspend.c: Likewise.
7003 * commands/cat.c: Likewise.
7004 * commands/i386/pc/pxecmd.c: Likewise.
7005 * commands/i386/pc/play.c: Likewise.
7006 * commands/i386/pc/halt.c: Likewise.
7007 * commands/i386/pc/vbeinfo.c: Likewise.
7008 * commands/i386/pc/vbetest.c: Likewise.
7009 * commands/lspci.c: Likewise.
7010 * commands/date.c: Likewise.
7011 * commands/handler.c: Likewise.
7012 * commands/ls.c: Likewise.
7013 * commands/test.c: Likewise.
7014 * commands/cmp.c: Likewise.
7015 * commands/efi/loadbios.c: Likewise.
7016 * commands/efi/fixvideo.c: Likewise.
7017 * commands/halt.c: Likewise.
7018 * commands/help.c: Likewise.
7019 * commands/reboot.c: Likewise.
7020 * hello/hello.c: Likewise.
7021 * script/sh/main.c: Likewise.
7022 * loader/xnu.c: Likewise.
7023 * term/terminfo.c: Likewise.
7024 * term/i386/pc/serial.c: Likewise.
7025 * term/usb_keyboard.c: Likewise.
7026
515b5079 70272009-05-03 David S. Miller <davem@davemloft.net>
7028
7029 * normal/menu.c: Include grub/parser.h
7030
dfc31a22 70312009-05-03 Pavel Roskin <proski@gnu.org>
7032
2fee74f1 7033 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7034 not char*.
7035 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7036 Suggested by Javier Martín <lordhabbit@gmail.com>
7037
dfc31a22 7038 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7039 efiemu??.o doesn't exist.
7040 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7041 copying.
7042
18f547ad 70432009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7044
7045 FreeBSD 64-bit support
7046
18f547ad 7047 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7048 and loader/i386/bsd_trampoline.S
7049 (bsd_mod_ASFLAGS): new variable
7050 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7051 (FREEBSD_MODTYPE_KERNEL64): likewise
7052 (grub_bsd64_trampoline_start): likewise
7053 (grub_bsd64_trampoline_end): likewise
7054 (grub_bsd64_trampoline_selfjump): likewise
7055 (grub_bsd64_trampoline_gdt): likewise
7056 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7057 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7058 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7059 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7060 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7061 of "attrib" member
7062 * loader/i386/bsd_pagetable.c: new file
7063 * loader/i386/bsd_trampoline.S: likewise
7064 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7065 (ALIGN_VAR): likewise
7066 (entry_hi): new variable
7067 (kern_end_mdofs): likewise
7068 (is_64bit): likewise
7069 (grub_freebsd_add_meta): use ALIGN_VAR
7070 (grub_e820_mmap): new declaration
7071 (grub_freebsd_add_mmap): new function
7072 (grub_freebsd_add_meta_module): support 64 bit kernels
7073 (grub_freebsd_list_modules): use ALIGN_VAR
7074 (gdt_descriptor): new declaration
7075 (grub_freebsd_boot): support 64 bit kernels
7076 (grub_bsd_elf64_hook): new function
7077 (grub_bsd_load_elf): support elf64
7078
038c5720 70792009-05-03 Bean <bean123ch@gmail.com>
7080
7081 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7082 after we get the result of if statement.
7083
fc45fb58 70842009-05-03 Bean <bean123ch@gmail.com>
7085
7086 * Makefile.in (enable_efiemu): New variable.
7087
7088 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7089 set.
7090 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7091 path.
7092 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7093 path, add -mno-red-zone option.
7094 (efiemu64_s.o): Likewise.
7095 (efiemu64.o): Use macro $^ for source file.
7096
7097 * configure.ac (--enable-efiemu): New option.
7098
bbee0f2b 70992009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 xnu support
7102
7103 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
7104 (pkglib_MODULES): add xnu.mod
7105 (xnu_mod_SOURCES): new variable
7106 (xnu_mod_CFLAGS): likewise
7107 (xnu_mod_LDFLAGS): likewise
7108 (xnu_mod_ASFLAGS): likewise
7109 * conf/i386-pc.rmk: likewise
7110 * conf/x86_64-efi.rmk: likewise
7dd4a573 7111 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 7112 new declaration
7113 * include/grub/i386/macho.h: new file
7114 * include/grub/i386/xnu.h: likewise
7115 * include/grub/macho.h: likewise
7116 * include/grub/machoload.h: likewise
7117 * include/grub/x86_64/macho.h: likewise
7118 * include/grub/x86_64/xnu.h: likewise
7119 * include/grub/xnu.h: likewise
7120 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
7121 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
7122 * loader/i386/efi/xnu.c: new file
7123 * loader/i386/pc/xnu.c: likewise
7124 * loader/i386/xnu.c: likewise
7125 * loader/i386/xnu_helper.S: likewise
7126 * loader/macho.c: likewise
7127 * loader/xnu.c: likewise
7128 * loader/xnu_resume.c: likewise
7129 * util/grub-dumpdevtree: likewise
7130 * include/grub/i386/pit.h: include grub/err.h
7131 (grub_pit_wait): export
7132 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 7133
5caf964d 71342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 Efiemu
7dd4a573 7137
5caf964d 7138 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 7139 _linux_efi, linux_efi.
7140 new files in grub-emu
5caf964d 7141 new targets efiemu32.o and efiemu64.o
7142 * loader/linux_normal_efiemu.c: likewise
7143 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 7144 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 7145 files to copy
7146 * include/grub/autoefi.h: new file
7dd4a573 7147 * include/grub/i386/efiemu.h: likewise
5caf964d 7148 * include/grub/i386/pc/efiemu.h: likewise
7149 * include/grub/efi/api.h: add LL suffix when necessary
7150 new definitions relating to tables
7151 * include/grub/efiemu/efiemu.h: new file
7152 * include/grub/efiemu/runtime.h: likewise
7153 * efiemu/prepare.c: likewise
7154 * efiemu/loadcore_common.c: likewise
7155 * efiemu/loadcore64.c: likewise
7156 * efiemu/runtime/efiemu.sh: likewise
7157 * efiemu/runtime/efiemu.S: likewise
7158 * efiemu/runtime/efiemu.c: likewise
7159 * efiemu/runtime/config.h: likewise
7160 * efiemu/prepare32.c: likewise
7161 * efiemu/main.c: likewise
7162 * efiemu/modules/pnvram.c: likewise
7163 * efiemu/modules/i386: likewise
7164 * efiemu/modules/i386/pc: likewise
7165 * efiemu/modules/acpi.c: likewise
7166 * efiemu/i386/pc/cfgtables.c: likewise
7167 * efiemu/i386/loadcore64.c: likewise
7168 * efiemu/i386/loadcore32.c: likewise
7169 * efiemu/prepare64.c: likewise
7170 * efiemu/loadcore.c: likewise
7171 * efiemu/symbols.c: likewise
7172 * efiemu/mm.c: likewise
7173 * efiemu/loadcore32.c: likewise
7dd4a573 7174
71752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 7176
7177 ACPI spoofing
7178
7179 * commands/acpi.c: new file
7180 * commands/i386/pc/acpi.c: likewise
7181 * commands/efi/acpi.c: likewise
7182 * include/grub/acpi.h: likewise
7183 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
7184 (acpi_mod_SOURCES): new variable
7185 (acpi_mod_CFLAGS): likewise
7186 (acpi_mod_LDFLAGS): likewise
7187 * conf/i386-efi.rmk: likewise
7188 * conf/x86_64-efi.rmk: likewise
7189
7dd4a573 71902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 7191
7192 Missing part from mmap patch
7193
7194 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
7195 (grub_mmap_unregister)
7196 (grub_mmap_free_and_unregister): use grub_mmap_register
7197
7dd4a573 71982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 7199
7200 Mmap services
7201
7202 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
7203 * loader/i386/linux.c (find_mmap_size): likewise
7204 (allocate_pages): likewise
7205 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
7206 (grub_fill_multiboot_mmap): likewise
7207 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
7208 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
7209 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
7210 (OPENBSD_MMAP_RESERVED): likewise
7211 * include/grub/i386/pc/memory.h: include grub/memory.h
7212 (grub_lower_mem): removed
7213 (grub_upper_mem): likewise
7214 (GRUB_MACHINE_MEMORY_ACPI): new definition
7215 (GRUB_MACHINE_MEMORY_NVS): likewise
7216 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
7217 (GRUB_MACHINE_MEMORY_HOLE): likewise
7218 (grub_machine_mmap_register): likewise
7219 (grub_machine_mmap_unregister): likewise
7220 (grub_machine_get_upper): likewise
7221 (grub_machine_get_lower): likewise
7222 (grub_machine_get_post64): likewise
7223 * include/grub/i386/efi/memory.h: new file
7224 * include/grub/x86_64/efi/memory.h: likewise
7225 * include/grub/efi/memory.h: likewise
7226 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
7227 (mmap_mod_SOURCES): new variable
7228 (mmap_mod_LDFLAGS): likewise
7229 (mmap_mod_ASFLAGS): likewise
7230 * conf/i386-coreboot.rmk: likewise
7231 * conf/i386-ieee1275.rmk: likewise
7232 * conf/i386-efi.rmk: likewise
7233 * conf/x86_64-efi.rmk: likewise
7234 * include/grub/types.h (UINT_TO_PTR): new macro
7235 (PTR_TO_UINT32): likewise
7236 (PTR_TO_UINT64): likewise
7237 * include/grub/memory.h: new file
7238 * mmap/i386/pc/mmap.c: likewise
7239 * mmap/i386/pc/mmap_helper.S: likewise
7240 * mmap/i386/uppermem.c: likewise
7241 * mmap/mmap.c: likewise
7242 * mmap/efi/mmap.c: likewise
7dd4a573 7243 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 7244 grub_upper_mem
7245 * kern/i386/pc/init.c (grub_lower_mem): removed variable
7246 (grub_upper_mem): likewise
7247 (grub_machine_init): don't use grub_upper_mem,
7248 make grub_lower_mem local
7249 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
7250 grub_mmap_iterate and grub_mmap_get_upper
7251 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
7252
d558e6b5 72532009-05-02 Bean <bean123ch@gmail.com>
7254
7255 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
7256 script/sh/parser.y.
7257 (pkglib_MODULES): Add normal.mod and sh.mod.
7258 (normal_SOURCES): New variable.
7259 (normal_mod_CFLAGS): Likewise.
7260 (normal_mod_LDFLAGS): Likewise.
7261 (sh_mod_SOURCES): Likewise.
7262 (sh_mod_CFLAGS): Likewise.
7263 (sh_mod_LDFLAGS): Likewise.
7264
7265 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
7266 script/sh/lexer.c_DEPENDENCIES.
7267 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
7268 kern/rescue_reader.c and kern/rescue_parser.c.
7269 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
7270 (grub_emu_SOURCES): Change source files.
7271 (pkglib_MODULES): Remove normal.mod.
7272 (normal_SOURCES): Removed.
7273 (normal_mod_CFLAGS): Likewise.
7274 (normal_mod_LDFLAGS): Likewise.
7275 * conf/i386-coreboot.rmk: Likewise.
7276 * conf/i386-efi.rmk: Likewise.
7277 * conf/i386-ieee1276.rmk: Likewise.
7278 * conf/powerpc-ieee1275.rmk: Likewise.
7279 * conf/sparc64-ieee1275.rmk: Likewise.
7280 * conf/x86_64-efi.rmk: Likewise.
7281
7282 * include/grub/command.h (grub_command_execute): New inline function.
7283
7284 * include/grub/menu.h (grub_menu_entry): Removed commands field.
7285
7286 * include/grub/normal.h: Remove <grub/setjmp.h>.
7287 (grub_fs_module_list): Moved to normal/autofs.c.
7288 (grub_exit_env): Removed.
7289 (grub_command_execute): Likewise.
7290 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
7291 parameter script.
7292 (read_command_list): New function declaration.
7293 (read_fs_list): Likewise.
7294
7295 * include/parser.h: Include <grub/reader.h>.
7296 (grub_parser_split_cmdline): Change type of getline parameter.
7297 (grub_parser): New structure.
7298 (grub_parser_class): New variable.
7299 (grub_parser_execute): New function declaration.
7300 (grub_register_rescue_parser): Likewise.
7301 (grub_parser_register): New inline function.
7302 (grub_parser_unregister): Likewise.
7303 (grub_parser_get_current): Likewise.
7304 (grub_parser_set_current): Likewise.
7305
7306 * include/grub/reader.h: New file.
7307 * kern/reader.c: Likewise.
7308 * kern/rescue_parser.c: Likewise.
7309 * kern/rescue_reader.c: Likewise.
7310 * normal/autofs.c: Likewise.
7311 * normal/dyncmd.c: Likewise.
7312
7313 * include/grub/rescue.h: Removed.
7314 * normal/command.h: Likewise.
7315
7316 * include/grub/script.h: Moved to ...
7317 * include/grub/script_sh.h: ... Moved here.
7318 * normal/execute.c: Moved to ...
7319 * script/sh/execute.c: ... Moved here.
7320 * normal/function.c: Moved to ...
7321 * script/sh/function.c: ... Moved here.
7322 * normal/lexer.c: Moved to ...
7323 * script/sh/lexer.c: ... Moved here.
7324 * normal/parser.y: Moved to ...
7325 * script/sh/parser.y: ... Moved here.
7326 * normal/script.c: Moved to ...
7327 * script/sh/script.c: ... Moved here.
7328
7329 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
7330 <grub/reader.h>.
7331 (grub_exit_env): Removed.
7332 (fs_module_list): Moved to normal/autofs.c.
7333 (grub_file_getline): Don't handle comment here.
7334 (free_menu): Skip removed field entry->commands.
7335 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
7336 script parameter.
7337 (read_config_file): Removed nested parameter, change getline function.
7338 (grub_enter_normal_mode): Removed.
7339 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
7340 (read_command_list): Likewise.
7341 (autoload_fs_module): Moved to normal/autofs.c.
7342 (read_fs_list): Likewise.
7343 (reader_nested): New variable.
7344 (grub_normal_execute): Run parser.sh to switch to sh parser.
7345 (grub_cmd_rescue): Removed.
7346 (cmd_normal): Removed.
7347 (grub_cmd_normal): Unregister itself at the beginning. Don't register
7348 rescue command.
7349 (grub_cmdline_run): New function.
7350 (grub_normal_reader_init): Likewise.
7351 (grub_normal_read_line): Likewise.
7352 (grub_env_write_pager): Likewise.
7353 (cmdline): New variable.
7354 (grub_normal_reader): Likewise.
7355 (GRUB_MOD_INIT): Register normal reader and set as current, register
7356 pager hook, register normal command with grub_register_command_prio,
7357 so that it won't show up in command.lst.
7358 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
7359 grub_fs_autoload_hook.
7360
7361 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
7362 (grub_menu_execute_entry): Replace grub_script_execute with
7363 grub_parser_execute, change parameter to grub_command_execute.
7364
7365 * normal/menu_text.c: Remove <grub/script.h>.
7366
7367 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
7368 and <grub/parser.h>.
7369 (run): Change editor_getline to use new parser interface. Change
7370 parameter to grub_command_execute.
7371
7372 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
7373 <grub/reader.h> and <grub/parser.h>.
7374 (grub_load_normal_mode): Execute normal command.
7375 (grub_main): Call grub_register_core_commands,
7376 grub_register_rescue_parser and grub_register_rescue_reader, use
7377 grub_reader_loop to enter input loop.
7378
7dd4a573 7379 * kern/parser.c (grub_parser_split_cmdline): Change type of
7380 getline parameter.
d558e6b5 7381 (grub_parser_class): New variable.
7382 (grub_parser_execute): New function.
7383
7384 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
7385 * loader/multiboot2.c: Likewise.
7386 * loader/sparc64/ieee1275/linux.c: Likewise.
7387
7388 * util/grub-emu.c (read_command_list): New dummy function.
7389
18db813d 73902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7391
7392 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
7393 count to 16 for CCISS and IDA.
7394
6c67de15 73952009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 * normal/menu_text.c (grub_wait_after_message): Print a newline
7398 after waiting for user input.
7399
7400 * loader/i386/linux.c: Include `<grub/normal.h>'.
7401 (grub_cmd_linux): Improve the error message about `ask' mode, by
7402 waiting for user input so it's not missed (we can do this, since
7403 user requested interaction).
7404
d9dc87b0 74052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Added missing lst to grub-mkrescue
7408
7409 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
7410 and ${input_dir}/parttool.lst
7411
ac8a2baa 74122009-04-30 David S. Miller <davem@davemloft.net>
7413
ad22a610 7414 * util/hostdisk.c (device_is_wholedisk): New function.
7415 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
7416 zero only if device_is_wholedisk() returns true.
7417
6966215d 7418 * util/hostdisk.c (convert_system_partition_to_system_disk):
7419 Handle virtual disk devices named /dev/vdiskX as found on sparc
7420 and powerpc.
7421
ac8a2baa 7422 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
7423 lettered partition specifier is found, convert to numbered.
7424
979b4fb4 74252009-04-29 David S. Miller <davem@davemloft.net>
7426
e2bf39b2 7427 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
7428 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7429
3c64e104 7430 * normal/command.c: Add missing newline at end of file.
7431
979b4fb4 7432 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
7433 warnings.
7434 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
7435 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
7436 grub_ofdisk_read): Likewise, and deal similarly with the fact that
7437 ihandles have a 32-bit type but need to be stored in a "void *".
7438
136d9f82 74392009-04-28 Pavel Roskin <proski@gnu.org>
7440
9459c306 7441 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
7442 not disk. Adjust all dependencies.
2e08a26a 7443 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 7444 grub_disk_close().
7445
136d9f82 7446 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
7447 parent's partition, don't copy it by reference, as it gets freed
7448 on close.
7449
7dd4a573 74502009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 7451
7452 Preboot hooks support
7453
7454 * commands/boot.c (struct grub_preboot_t): new declaration
7455 (preboots_head): new variable
7456 (preboots_tail): likewise
7457 (grub_loader_register_preboot_hook): new function
7458 (grub_loader_unregister_preboot_hook): likewise
7459 (grub_loader_set): launch preboot hooks
7460 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
7461 (grub_loader_register_preboot_hook): new declaration
7462 (grub_loader_unregister_preboot_hook): likewise
7463
5af922b5 74642009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 Warning fix
7467
7dd4a573 7468 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 7469 calling grub_dprintf
7470
a5562c30 74712009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 Bug and warning fixes
7474
7dd4a573 7475 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 7476 declaration
7477 * commands/test.c (test_parse): fixed bug with file tests and corrected
7478 declaration of find_file
7479
4006f85c 74802009-04-26 Pavel Roskin <proski@gnu.org>
7481
7482 * Makefile.in: Don't install empty manual pages if help2man is
7483 missing. Use help2man option for output, not shell redirection.
7484
5c77c3de 74852009-04-26 David S. Miller <davem@davemloft.net>
7486
7487 * util/grub-mkdevicemap.c (make_device_map): Add missing
7488 NESTED_FUNC_ATTR to process_device().
7489
033b10a8 74902009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 Test command
7493
7494 * commands/test.c: rewritten to use bash-like test
7495
e4343593 74962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Parttool autoloading and improvements
7499
7dd4a573 7500 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 7501 (parttool.lst): new target
7502 * genmk.rb: generate parttool-*
7503 (CLEANFILES): add #{parttool}
7504 (PARTTOOLFILES): new variable
7505 * genparttoollist.sh: new file
7dd4a573 7506 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 7507 (grub_pcpart_type): likewise
7508 * commands/parttool.c (helpmsg): new variable
7509 (grub_cmd_parttool): output help if not enough arguments are supplied
7510 autoload modules
7511 (GRUB_MOD_INIT(parttool)): use helpmsg
7512
0d312500 75132009-04-24 David S. Miller <davem@davemloft.net>
7514
7dd4a573 7515 Avoiding opening same device multiple times in device iterator.
0d312500 7516
7517 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 7518 and use it to build a list of partitions in iterate_disk() and
0d312500 7519 iterate_partition().
7520
ac20caff 7521 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
7522 on disk->data.
7523
0dcf7495 7524 * disk/ieee1275/nand.c (grub_nand_iterate): Return
7525 grub_devalias_iterate() result instead of unconditional 0.
7526 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
7527 Also, capture hook return value, either directly or via
7528 grub_children_iterate(), and propagate to caller.
7529 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
7530 grub_children_iterate): Return value is now 'int' instead of
7531 'grub_err_t'.
7532 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
7533 like a proper iterator, stopping when hooks return non-zero.
7534 (grub_devalias_iterate): Likewise.
7535
c8c08833 75362009-04-23 David S. Miller <davem@davemloft.net>
7537
7538 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
7539
f01005a8 75402009-04-22 David S. Miller <davem@davemloft.net>
7541
7542 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
7543 is larger than address_cells, use that value for address_cells too.
7544
4e8269da 7545 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
7546 IEEE1275_MAX_PATH_LEN): Define.
7547 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
7548 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
7549 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
7550 'devtype'. Explicitly NULL terminate devalias expansion.
7551
a1447506 7552 * util/sparc64/ieee1275/misc.c: New file.
7553 * util/sparc64/ieee1275/grub-setup.c: New file.
7554 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
7555 * util/sparc64/ieee1275/grub-mkimage.c: New file.
7556 * util/sparc64/ieee1275/grub-install.in: New file.
7557 * util/ieee1275/ofpath.c: New file.
7558 * util/ieee1275/devicemap.c: New file.
7559 * util/devicemap.c: New file.
7560 * util/deviceiter.c: New file.
7561 * kern/sparc64/ieee1275/init.c: New file.
7562 * include/grub/util/ofpath.h: New file.
7563 * include/grub/util/deviceiter.h: New file.
7564 * util/grub-mkdevicemap.c: Include deviceiter.h.
7565 Implement using grub_util_emit_devicemap_entry and
7566 grub_util_iterate_devices.
7567 * conf/i386-corebook.rmk: Build util/deviceiter.c and
7568 util/devicemap.c into grub-mkdevicemap
7569 * conf/i386-efi.rmk: Likewise.
7570 * conf/i386-ieee1275.rmk: Likewise.
7571 * conf/i386-pc.rmk: Likewise.
7572 * conf/powerpc-ieee1275.rmk: Likewise.
7573 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
7574 images and installation utilities. Build kernel as image
7575 instead of as elf binary. Use common rules as much as possible.
7576
7dd4a573 75772009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 7578
7579 Correct GPT definition
7580
7dd4a573 7581 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 7582 of "attrib" member
7583
c6c5219f 75842009-04-19 Felix Zielcke <fzielcke@z-51.de>
7585
7586 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
7587
0552ff9f 75882009-04-19 David S. Miller <davem@davemloft.net>
7589
7590 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
7591 (grub_rescue_cmd_linux): Rename to...
7592 (grub_cmd_linux): and fix prototype.
7593 (grub_rescue_cmd_initrd): Rename to...
7594 (grub_cmd_initrd): and fix prototype.
7595 (cmd_linux, cmd_initrd): New.
7596 (GRUB_MOD_INIT(linux)): Use grub_register_command().
7597 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
7598
d1a282fc 75992009-04-17 Pavel Roskin <proski@gnu.org>
7600
07c5039f 7601 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
7602 format.
7603 (grub_ohci_transfer): Likewise.
7604
b012002d 7605 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
7606
1bc09c35 7607 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
7608 return without a value. Fix inconsistent indentation.
7609
e0ff9126 7610 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
7611 match struct grub_fs.
7612
d1a282fc 7613 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
7614 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
7615 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7616 * commands/lspci.c (grub_lspci_iter): Likewise.
7617
a96df3f2 76182009-04-16 Bean <bean123ch@gmail.com>
7619
7620 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
7621 value.
7622
41bb0fe9 76232009-04-15 Pavel Roskin <proski@gnu.org>
7624
7625 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
7626 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
7627 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
7628 definitions.
7629
596c6970 76302009-04-15 Felix Zielcke <fzielcke@z-51.de>
7631
7632 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 7633 that no multiple data or metadata areas are supported and `Unknown
596c6970 7634 metadata header'.
7635
7dd4a573 76362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 7637
7638 Move loader out of the kernel
7639
7640 * kern/loader.c: moved to ...
7641 * commands/boot.c: ... moved here
7642 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
7643 * commands/boot.c (grub_cmd_boot): moved here. All users updated
7644 * include/grub/kernel.h (grub_machine_fini): export
7645 * include/grub/loader.h (grub_loader_is_loaded): update declaration
7646 (grub_loader_set): likewise
7647 (grub_loader_unset): likewise
7648 (grub_loader_boot): likewise
7649 * conf/common.rmk: new module boot.mod
7650 (pkglib_MODULES): add boot.mod
7651 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
7652 (grub_emu_SOURCES): likewise
7653 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
7654 (grub_emu_SOURCES): likewise
7655 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
7656 (grub_emu_SOURCES): likewise
7657 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
7658 (grub_emu_SOURCES): likewise
7659 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
7660 (grub_emu_SOURCES): likewise
7dd4a573 7661 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
7662 (grub_emu_SOURCES): likewise
0d5d5653 7663 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 7664 (grub_emu_SOURCES): likewise
0d5d5653 7665
7dd4a573 76662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 7667
7668 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 7669
5999d619 7670 * kern/misc.c (grub_itoa): Removed function
7671 (grub_ltoa): likewise
7672 (grub_vsprintf): use grub_lltoa
7673
7dd4a573 76742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 7675
7676 Restore grub-emu
7677
7678 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
7679 * conf/i386-coreboot.rmk: likewise
7680 * conf/i386-ieee1275.rmk: likewise
7681 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7682
20318222 76832009-04-15 Felix Zielcke <fzielcke@z-51.de>
7684
7685 * INSTALL: Add that `./autogen.sh' needs to be run before
7686 `./configure.'.
7687
d05f0df3 76882009-04-14 Bean <bean123ch@gmail.com>
7689
7690 * Makefile.in (pkglib_DATA): Add handler.lst.
7691 (handler.lst): New rule.
7692
7693 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
7694 * conf/i386-coreboot.rmk: Likewise.
7695 * conf/i386-ieee1275.rmk: Likewise.
7696 * conf/i386-efi.rmk: Likewise.
7697 * conf/x86_64-efi.rmk: Likewise.
7698 * conf/powerpc-ieee1275.rmk: Likewise.
7699 * conf/sparc64-ieee1275.rmk: Likewise.
7700
7701 * genhandlerlist.sh: New file.
7702
7703 * genmk.rb: Add rules to generate handler.lst.
7704
7705 * include/grub/normal.h (grub_file_getline): New function definition.
7706 (read_handler_list): Likewise.
7707 (free_handler_list): Likewise.
7708
7709 * include/grub/term.h (grub_term_register_input): Add name parameter
7710 for auto generation of handler.lst.
7711 (grub_term_register_output): Likewise.
7712
7713 * normal/handler.c: New file.
7714
7715 * normal/main.c (get_line): Renamed to grub_file_getline.
7716 (read_config_file): Use the newly renamed grub_file_getline.
7717 (read_command_list): Likewise.
7718 (read_fs_list): Likewise.
7719 (grub_normal_execute): Call read_handler_list to parse handler.lst.
7720 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
7721
7722 * term/efi/console.c (grub_console_init): Add name parameter for auto
7723 generation of handler.lst.
7724 * term/gfxterm.c: Likewise.
7725 * term/i386/pc/at_keyboard.c: Likewise.
7726 * term/i386/pc/console.c: Likewise.
7727 * term/i386/pc/serial.c: Likewise.
7728 * term/i386/pc/vesafb.c: Likewise.
7729 * term/i386/pc/vga.c: Likewise.
7730 * term/i386/pc/vga_text.c: Likewise.
7731 * term/ieee1275/ofconsole.c: Likewise.
7732 * term/usb_keyboard.c: Likewise.
7733
33c846be 77342009-04-14 Bean <bean123ch@gmail.com>
7735
7736 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
7737 properly with null character.
7738
4484e01e 77392009-04-14 Felix Zielcke <fzielcke@z-51.de>
7740
7741 * configure: Remove.
7742 * config.h.in: Likewise.
f93d668e 7743 * stamp-h.in: Likewise.
4484e01e 7744 * DISTLIST: Likewise.
7745 * conf/common.mk: Likewise.
7746 * conf/i386-coreboot.mk: Likewise.
7747 * conf/i386-efi.mk: Likewise.
7748 * conf/i386-ieee1275.mk: Likewise.
7749 * conf/i386.mk: Likewise.
7750 * conf/i386-pc.mk: Likewise.
7751 * conf/powerpc-ieee1275.mk: Likewise.
7752 * conf/sparc64-ieee1275.mk: Likewise.
7753 * conf/x86_64-efi.mk: Likewise.
7754
7755 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
7756 develop on GRUB.
7757
7dd4a573 77582009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 7759 David S. Miller <davem@davemloft.net>
7760
7761 * util/hostdisk.c (make_device_name): Fix buffer length
7762 calculations.
7763
e25b5a8c 77642009-04-14 Felix Zielcke <fzielcke@z-51.de>
7765
7766 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
7767 <sys/param.h> and <sys/sysctl.h>.
7768 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
7769 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
7770 opening the device and reset them afterwards.
7771
1f1f580c 77722009-04-13 Pavel Roskin <proski@gnu.org>
7773
7774 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
7775 Reported by John Stanley <jpsinthemix@verizon.net>
7776
7ebc2d6b 77772009-04-13 Robert Millan <rmh@aybabtu.com>
7778
7779 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 7780 that name for menuentries when appropriate.
7ebc2d6b 7781
d8ba3667 77822009-04-13 Felix Zielcke <fzielcke@z-51.de>
7783
7784 * util/grub.d/10_freebsd.in: Add a missing `fi'.
7785
cba416eb 77862009-04-13 Robert Millan <rmh@aybabtu.com>
7787
7788 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
7789 to Linux, simply abort telling the user it's no longer supported.
7790
a547a745 77912009-04-13 Felix Zielcke <fzielcke@z-51.de>
7792
7793 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 7794 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 7795 `freebsd_loadenv' only when devices.hints exist.
7796
232a769c 77972009-04-13 Pavel Roskin <proski@gnu.org>
7798
7799 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
7800
c3012039 78012009-04-13 Felix Zielcke <fzielcke@z-51.de>
7802
7803 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
7804 partition number.
7805 (grub_drive): Likewise.
7806
234022fe 78072009-04-13 David S. Miller <davem@davemloft.net>
7808
7809 * kern/sparc64/ieee1275/ieee1275.c: New file.
7810 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
7811 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
7812 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
7813 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
7814 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
7815 grub_ieee1275_alloc_physmem): Declare new exported functions.
7816
d8e1836c 7817 * include/grub/sparc64/ieee1275/loader.h: New file.
7818 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7819 * include/grub/sparc64/kernel.h: Likewise.
7820 * loader/sparc64/ieee1275/linux.c: Likewise.
7821
96bd81ec 7822 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
7823 (grub_fstest_SOURCES): Likewise.
7824
6a4737e5 7825 * util/hostdisk.c (make_device_name): Do not make any assumptions
7826 about the length of drive names.
7827
1d7a72fd 7828 * kern/dl.c (grub_dl_load_file): Close file immediately when
7829 we are done using it.
7830
56bc2471 78312009-04-12 David S. Miller <davem@davemloft.net>
7832
7833 * kern/misc.c (grub_ltoa): Fix cast when handling negative
7834 values. Noticed by Pavel Roskin.
7835
df38d0bb 7836 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
7837 target compiler.
7dd4a573 7838
e382e93a 7839 * genmk.rb: Add more flexible image type specification, also
7840 pass --strip-unneeded to objcopy.
7841 * conf/i386-pc.rmk: Use *_FORMAT.
7842 * conf/i386-pc.mk: Rebuilt.
7843
f5dbbca9 7844 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
7845 (OFDISK_HASH_SZ): Define.
7846 (ofdisk_hash): New hash table.
7847 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
7848 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
7849 instead of device phandle which is not unique.
7850
91c88b12 7851 * kern/sparc64/ieee1275/init.c: Delete, replace with...
7852 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
7853 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
7854 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
7855 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
7856 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
7857 GRUB_KERNEL_MACHINE_DATA_END): Define.
7858 (grub_kernel_image_size, grub_total_module_size): Declare.
7859
5b5d4aa5 78602009-04-12 Pavel Roskin <proski@gnu.org>
7861
7dd4a573 7862 * configure.ac: Change the logic when we check for target tools.
7863 Do it when the target is specified and it's different from the
7864 specified value of the host.
5b5d4aa5 7865
c91e1793 78662009-04-11 Felix Zielcke <fzielcke@z-51.de>
7867
7868 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
7869 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
7870 GNU/kFreeBSD. Check if a device is a character device. Use
7871 DIOCGMEDIASIZE to get the size.
7872 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
7873 support for GNU/kFreeBSD.
7874 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
7875 is a character device instead of a block device. Add support for
7876 FreeBSD device names.
7877
7878 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
7879 is a character device instead of a block device.
7880
7881 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
7882 is a character device instead of a block device.
7883
b1ac8644 78842009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
7885
7886 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
7887 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
7888 FreeBSD. Check if a device is a character device. Use
7889 DIOCGMEDIASIZE to get the size.
7890 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
7891 support for FreeBSD.
7892 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
7893 is a character device instead of a block device. Add support for
7894 FreeBSD device names.
7895
7896 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
7897 a character device instead of a block device.
7898 (grub_util_check_char_device): New function.
7899
7900 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
7901 a character device instead of a block device.
7902
7903 * include/grub/util/getroot.h (grub_util_check_char_device): New
7904 prototype.
7905
a3f7515a 79062009-04-11 David S. Miller <davem@davemloft.net>
7907
7908 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
7909 static libgcc.
7910 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
7911 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
7912 function, if present.
7913 (__bswapdi2): Likewise.
7914
0d44993d 7915 * include/grub/sparc64/ieee1275/boot.h: New file.
7916 * boot/sparc64/ieee1275/boot.S: Likewise.
7917 * boot/sparc64/ieee1275/diskboot.S: Likewise.
7918
ed3d2bc2 7919 * kern/misc.c (grub_ltoa): New function.
7920 (grub_vsprintf): Use it to format 'long' integers.
7921
d3bfb59c 79222009-04-10 David S. Miller <davem@davemloft.net>
7923
7924 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
7925 slots are of type grub_ieee1275_cell_t.
7926 (grub_nand_read): Likewise.
7927 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
7928 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
7929 macros are used to compare values in arg/ret block of the call.
7930 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
7931 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
7932 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
7933 grub_ieee1275_instance_to_path, grub_ieee1275_write,
7934 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
7935 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7936 grub_ieee1275_close, grub_ieee1275_set_property,
7937 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7938 grub_ieee1275_cell_t.
7939 * kern/ieee1275/openfw.c (grub_map): Likewise.
7940 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7941 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7942
450e2238 7943 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7944 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7945 (grub_devalias_iterate): Likewise.
7946
7dd4a573 79472009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7948
7949 UFS improvements
7950
7951 * fs/ufs.c (INODE_NBLOCKS): new definition
7952 (struct grub_ufs_dirent): added fields for non-BSD dirents
7953 (grub_ufs_get_file_block): fixed double indirect handling
7954 (grub_ufs_lookup_symlink): use more robust way to determine whether
7955 symlink is inline
7956 (grub_ufs_find_file): support for non-BSD dirents
7957 (grub_ufs_dir): support for non-BSD dirents
7958
e7e6862a 79592009-04-10 Bean <bean123ch@gnail.com>
7960
7961 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7962 attribute, otherwise the size would be wrong for i386 platform.
7963
7964 * include/grub/pci.h (grub_pci_read_word): New inline function.
7965 (grub_pci_read_byte): Likewise.
7966 (grub_pci_write): Likewise.
7967 (grub_pci_write_word): Likewise.
7968 (grub_pci_write_byte): Likewise.
7969
7970 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7971
7972 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7973 (find_framebuf): Scan pci to locate the frame buffer address.
7974
7975 * commands/efi/fixvideo.c: New file.
7976
7977 * commands/efi/loadbios.c: Likewise.
7978
7979 * commands/memrw.c: Likewise.
7980
7981 * util/grub-dumpbios.in: Likewise.
7982
7983 * conf/common.rmk (grub-dumpbios): New utility.
7984 (pkglib_MODULES): New module memrw.mod.
7985 (memrw_mod_SOURCE): New macro.
7986 (memrw_mod_CFLAGS): Likewise.
7987 (memrw_mod_LDFLAGS): Likewise.
7988
7dd4a573 7989 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7990 fixvideo.mod.
7991 (loadbios_mod_SOURCE): New macro.
7992 (loadbios_mod_CFLAGS): Likewise.
7993 (loadbios_mod_LDFLAGS): Likewise.
7994 (fixvideo_mod_SOURCE): Likewise.
7995 (fixvideo_mod_CFLAGS): Likewise.
7996 (fixvideo_mod_LDFLAGS): Likewise.
7997
7dd4a573 7998 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7999 fixvideo.mod.
8000 (loadbios_mod_SOURCE): New macro.
8001 (loadbios_mod_CFLAGS): Likewise.
8002 (loadbios_mod_LDFLAGS): Likewise.
8003 (fixvideo_mod_SOURCE): Likewise.
8004 (fixvideo_mod_CFLAGS): Likewise.
8005 (fixvideo_mod_LDFLAGS): Likewise.
8006
af63ada2 80072009-04-08 Felix Zielcke <fzielcke@z-51.de>
8008
8009 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
8010
c2cdde70 80112009-04-07 David S. Miller <davem@davemloft.net>
8012
8013 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
8014 support for R_SPARC_OLO10 relocations. Fix compile warning for
8015 R_SPARC_WDISP30 case.
ea3f72cf 8016 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8017
761319cf 80182009-04-06 Pavel Roskin <proski@gnu.org>
8019
1007d1f5 8020 * include/grub/misc.h (ARRAY_SIZE): New macro.
8021 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8022 New macro.
8023 * loader/i386/linux.c (allocate_pages): Use free_pages().
8024 (grub_linux_unload): Don't use free_pages().
8025 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8026 wrong index. Treat all other modes as text modes.
8027 (grub_cmd_linux): Initialize vid_mode unconditionally to
8028 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8029
761319cf 8030 * commands/help.c (print_command_help): Use cmd->prio, not
8031 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8032
ea761d40 80332009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8034
ea761d40 8035 Parttool
8036
8037 * parttool/pcpart.c: new file
8038 * commands/parttool.c: likewise
8039 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8040 (parttool_mod_SOURCES): new variable
8041 (parttool_mod_CFLAGS): likewise
8042 (parttool_mod_LDFLAGS): likewise
8043 (pcpart_mod_SOURCES): likewise
8044 (pcpart_mod_CFLAGS): likewise
8045 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8047 and parttool/pcpart.c
8048 * conf/i386-efi.rmk: likewise
8049 * conf/i386-ieee1275.rmk: likewise
8050 * conf/i386-pc.rmk: likewise
8051 * conf/powerpc-ieee1275.rmk: likewise
8052 * conf/sparc64-ieee1275.rmk: likewise
8053 * conf/x86_64-ieee1275.rmk: likewise
8054
05aaebfb 80552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Support for mtime and further expandability of dir command
8058
8059 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8060 * include/grub/datetime.h: ... moved here and added
05aaebfb 8061 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8062 * include/grub/fs.h: new syntax for dir and mtime functions in
8063 struct grub_fs
05aaebfb 8064 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8065 and GRUB_FSHELP_FLAGS_MASK
8066 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8067 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8068 (grub_ext2_mtime): new function
8069 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8070 (grub_hfsplus_mtime): new function
8071 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8072 (GRUB_UFS_ATTR_FILE): likewise
8073 (GRUB_UFS_ATTR_LNK): likewise
8074 (struct grub_ufs_sblock): new fields mtime
8075 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8076 all users updated
8077 (grub_ufs_dir): mtime support
8078 (grub_ufs_mtime): new function
8079 * fs/affs.c (grub_affs_dir): use new dir syntax
8080 * fs/afs.c (grub_afs_dir): likewise
8081 * fs/cpio.c (grub_cpio_dir): likewise
8082 * fs/fat.c (grub_fat_find_dir): likewise
8083 * fs/hfs.c (grub_hfs_dir): likewise
8084 * fs/iso9660.c (grub_iso9660_dir): likewise
8085 * fs/jfs.c (grub_jfs_dir): likewise
8086 * fs/minix.c (grub_minix_dir): likewise
8087 * fs/ntfs.c (grub_ntfs_dir): likewise
8088 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8089 * fs/sfs.c (grub_sfs_dir): likewise
8090 * fs/xfs.c (grub_xfs_dir): likewise
8091 * util/hostfs.c (grub_hostfs_dir): likewise
8092 * lib/datetime.c: moved to ...
8093 * normal/datetime.c: ... moved here
8094 (grub_unixtime2datetime): new function
8095 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8096 * normal/completion.c (iterate_dir): use new dir syntax
8097 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8098 last modification time of a volume
7dd4a573 8099 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8100 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8102 (normal_mod_SOURCES): likewise
8103 (datetime_mod_SOURCES): Removed lib/datetime.c
8104 * conf/i386-efi.rmk: likewise
7dd4a573 8105 * conf/i386-ieee1275.rmk: likewise
05aaebfb 8106 * conf/i386-pc.rmk: likewise
8107 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8108 * conf/sparc64-ieee1275.rmk: likewise
8109 * conf/x86_64-efi.rmk: likewise
05aaebfb 8110
8a7e1a14 81112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 8114
8115 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 8116 on grub_fat_find_dir
8117 (grub_fat_find_dir): use grub_fat_iterate_dir
8118 (grub_fat_label): likewise
8119
04186a9c 81202009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8121
7dd4a573 8122 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 8123 and command.h
8124 remove extraneous kernel_elf_HEADERS
8125
da4c0bb6 81262009-04-04 Bean <bean123ch@gnail.com>
8127
8128 * include/grub/util/misc.h: Add dummy function fsync for mingw.
8129
8130 * util/misc.c: Likewise.
8131
54ad9555 81322009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
8133
8134 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
8135 instead of grub_printf.
8136
7a6bf9f2 81372009-04-03 Robert Millan <rmh@aybabtu.com>
8138
8139 * loader/i386/linux.c (grub_linux_setup_video): Fill
8140 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
8141 values from `mode info' structure instead of hardcoded
8142 values.
8143
3fcc2083 81442009-04-01 Pavel Roskin <proski@gnu.org>
8145
8146 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
8147 unused now.
8148 * genmk.rb: Likewise.
8149 * configure.ac: Likewise.
8150
5ec9740b 81512009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
8152
8153 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
8154 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
8155
5270cec8 81562009-04-01 David S. Miller <davem@davemloft.net>
8157
8158 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 8159 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 8160 (grub_setjmp): Mark with 'returns_twice' attribute.
8161 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
8162 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
8163 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
8164
9c3dd854 81652009-04-01 Robert Millan <rmh@aybabtu.com>
8166
8167 Reapply fix from 2008-07-28 which was accidentally reverted; also
8168 perform the same fix to a similar check in same function.
8169
8170 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8171 with the same number are found, just use issue a warning with
8172 grub_dprintf(), as this error has been reported to be non-fatal.
8173
0d818b7e 81742009-03-31 Pavel Roskin <proski@gnu.org>
8175
8176 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
8177 for cross-compilation.
8178
95646d92 81792009-03-30 Robert Millan <rmh@aybabtu.com>
8180
8181 Fix i386-ieee1275 build.
8182
8183 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
8184 Remove declaration.
8185
6a003ed1 81862009-03-30 Pavel Roskin <proski@gnu.org>
8187
8188 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
8189 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
8190 zero-terminated, rely only on the strlen value. Fix comparison
8191 of strings differing in length.
8192
92f33540 81932009-03-30 Robert Millan <rmh@aybabtu.com>
8194
8195 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
8196 checking for abi version. Improve error messages on BIOS to notify
8197 user about `linux16' command.
8198
a8c48fd5 81992009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8200
f968172e 8201 Leak fixes
a8c48fd5 8202
f968172e 8203 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
8204 in case of collision
8205 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 8206
9c323f09 82072009-03-29 Robert Millan <rmh@aybabtu.com>
8208
8209 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
8210 set `vid_mode' accordingly.
8211 (grub_linux_boot): Process `vid_mode' and set video mode.
8212
ae68f423 82132009-03-29 Robert Millan <rmh@aybabtu.com>
8214
8215 * util/grub.d/10_linux.in (linux_entry): New function.
8216 Factorize generation of Linux boot entries.
8217
5709cfc4 82182009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
8219
8220 Make the format of Environment Block plain text. The boot loader
8221 part is not tested well yet.
7dd4a573 8222
5709cfc4 8223 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
8224 (buffer): Removed.
8225 (envblk): Likewise.
8226 (usage): Remove "info" and "clear". Add "unset". Update the
8227 description of "set", as this does not delete variables any
8228 longer.
8229 (create_envblk_file): Complete rewrite.
8230 (open_envblk_file): Likewise.
8231 (cmd_info): Removed.
8232 (cmd_list): Likewise.
8233 (cmd_set): Likewise.
8234 (cmd_clear): Likewise.
8235 (list_variables): New function.
8236 (write_envblk): Likewise.
8237 (set_variables): Likewise.
8238 (unset_variables): Likewise.
8239 (main): Complete rewrite.
8240
8241 * commands/loadenv.c (buffer): Removed.
8242 (envblk): Likewise.
8243 (open_envblk_file): New function.
8244 (read_envblk_file): Complete rewrite.
8245 (grub_cmd_load_env): Likewise.
8246 (grub_cmd_list_env): Likewise.
8247 (struct blocklist): New struct.
8248 (free_blocklists): New function.
8249 (check_blocklists): Likewise.
8250 (write_blocklists): Likewise.
8251 (grub_cmd_save_env): Complete rewrite.
8252
8253 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
8254 a plain text signature.
8255 (GRUB_ENVBLK_MAXLEN): Removed.
8256 (struct grub_envblk): Complete rewrite.
8257 (grub_envblk_find): Removed.
8258 (grub_envblk_insert): Likewise.
8259 (grub_envblk_open): New prototype.
8260 (grub_envblk_set): Likewise.
8261 (grub_envblk_delete): Put const to VALUE.
8262 (grub_envblk_iterate): Put const to NAME and VALUE.
8263 (grub_envblk_close): New prototype.
8264 (grub_envblk_buffer): New inline function.
8265 (grub_envblk_size): Likewise.
8266
8267 * lib/envblk.c: Include grub/mm.h.
8268 (grub_env_find): Removed.
8269 (grub_envblk_open): New function.
8270 (grub_envblk_close): Likewise.
8271 (escaped_value_len): Likewise.
8272 (find_next_line): Likewise.
8273 (grub_envblk_insert): Removed.
8274 (grub_envblk_set): New function.
8275 (grub_envblk_delete): Complete rewrite.
8276 (grub_envblk_iterate): Likewise.
8277
a9368fd3 82782009-03-28 Robert Millan <rmh@aybabtu.com>
8279
8280 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
8281 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
8282 variables. Use 16-bit loader.
8283 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
8284 loader.
8285 * kern/i386/loader.S (grub_linux_boot): Rename to ...
8286 (grub_linux16_boot): ... this. Update all users.
8287 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
8288 (grub_linux_boot): ... this. Update all users.
8289
8290 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
8291 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
8292 commands to `linux16' and `initrd16'.
8293 (GRUB_MOD_FINI(linux)): Rename to ...
8294 (GRUB_MOD_FINI(linux16)): ... this.
8295
e4dd5a7e 82962009-03-24 Pavel Roskin <proski@gnu.org>
8297
8298 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
8299 not just for compilation.
8300
c04d6e05 83012009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 Move multiboot helper out of kernel
8304
8305 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
8306 `loader/i386/multiboot_helper.S'.
8307 * conf/i386-coreboot.rmk: Likewise
8308 * conf/i386-ieee1275.rmk: Likewise
8309
8310 * kern/i386/loader.S: Move multiboot helpers from here...
8311 * loader/i386/multiboot_helper.S: ...moved here
8312 * include/grub/i386/loader.h: Move declarations of multiboot
8313 helpers from here...
8314 * include/grub/i386/multiboot.h: ...moved here
8315 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
8316
42a5b3fc 83172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8318
8319 * kern/env.c (grub_env_context_open): Added an argument to specify
8320 whether a new context inherits exported variables from current
8321 one. This is useful when making a sandbox to interpret a config
8322 file.
8323 All callers updated.
8324
8325 * include/grub/env.h (grub_env_context_open): Updated the prototype.
8326
b28bbc4e 83272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8328
8329 * kern/env.c (grub_env_context_close): Fix memory leaks.
8330
f04f02e4 83312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8332
8333 * normal/main.c (grub_normal_execute): Added an argument
8334 BATCH to specify if an interactive interface should be provided
8335 after reading a config file.
8336 All callers updated.
8337 (read_command_list): Prevent being executed twice.
8338 (read_fs_list): Likewise.
8339
42a5b3fc 8340 * include/grub/normal.h (grub_normal_execute): Updated the
8341 prototype.
f04f02e4 8342
41473ac2 83432009-03-22 Pavel Roskin <proski@gno.org>
8344
fbc00b0c 8345 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
8346 _start.
8347 * kern/i386/pc/startup.S: Likewise.
8348 * kern/i386/efi/startup.S: Likewise.
8349 * kern/i386/ieee1275/startup.S: Likewise.
8350 * kern/i386/coreboot/startup.S: Likewise.
8351 * kern/x86_64/efi/startup.S: Likewise.
8352
41473ac2 8353 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
8354 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
8355 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
8356
2274cc8f 83572009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 Bugfixes in multiboot for bugs uncovered by solaris kernel.
8360
8361 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
8362 limit detection.
8363 Use vaddr of correct segment for entry_point.
8364
b1b797cb 83652009-03-21 Bean <bean123ch@gmail.com>
8366
8367 * commands/blocklist.c: Add include file <grub/command.h>, remove
8368 <grub/normal.h> and <grub/arg.h>.
8369 (grub_cmd_blocklist): Use the new command interface.
8370 (GRUB_MOD_INIT): Likewise.
8371 (GRUB_MOD_FINI): Likewise.
8372 * commands/boot.c: Likewise.
8373 * commands/cat.c: Likewise.
8374 * commands/cmp.c: Likewise.
8375 * commands/configfile.c: Likewise.
8376 * commands/crc.c: Likewise.
8377 * commands/echo.c: Likewise.
8378 * commands/halt.c: Likewise.
8379 * commands/handler.c: Likewise.
8380 * commands/hdparm.c: Likewise.
8381 * commands/help.c: Likewise.
8382 * commands/hexdump.c: Likewise.
8383 * commands/loadenv.c: Likewise.
8384 * commands/ls.c: Likewise.
8385 * commands/lsmmap.c: Likewise.
8386 * commands/lspci.c: Likewise.
8387 * commands/loadenv.c: Likewise.
8388 * commands/read.c: Likewise.
8389 * commands/reboot.c: Likewise.
8390 * commands/search.c: Likewise.
8391 * commands/sleep.c: Likewise.
8392 * commands/test.c: Likewise.
8393 * commands/usbtest.c: Likewise.
8394 * commands/videotest.c: Likewise.
8395 * commands/i386/cpuid.c: Likewise.
8396 * commands/i386/pc/halt.c: Likewise.
8397 * commands/i386/pc/play.c: Likewise.
8398 * commands/i386/pc/pxecmd.c: Likewise.
8399 * commands/i386/pc/vbeinfo.c: Likewise.
8400 * commands/i386/pc/vbetest.c: Likewise.
8401 * commands/ieee1275/suspend.c: Likewise.
8402 * disk/loopback.c: Likewise.
8403 * font/font_cmd.c: Likewise.
8404 * hello/hello.c: Likewise.
8405 * loader/efi/appleloader.c: Likewise.
8406 * loader/efi/chainloader.c: Likewise.
8407 * loader/i386/bsd.c: Likewise.
8408 * loader/i386/efi/linux.c: Likewise.
8409 * loader/i386/ieee1275/linux.c: Likewise.
8410 * loader/i386/linux.c: Likewise.
8411 * loader/i386/pc/chainloader.c: Likewise.
8412 * loader/i386/pc/linux.c: Likewise.
8413 * loader/powerpc/ieee1275/linux.c: Likewise.
8414 * loader/multiboot_loader.c: Likewise.
8415 * term/gfxterm.c: Likewise.
8416 * term/i386/pc/serial.c: Likewise.
8417 * term/terminfo.c: Likewise.
8418
8419 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
8420 * term/i386/pc/vga.c: Likewise.
8421 * video/readers/jpeg.c: Likewise.
8422 * video/readers/png.c: Likewise.
8423 * video/readers/tga.c: Likewise.
8424
8425 * util/grub-fstest (cmd_loopback): Removed.
8426 (cmd_blocklist): Likewise.
8427 (cmd_ls): Likewise.
8428 (grub_register_command): Likewise.
8429 (grub_unregister_command): Likewise.
8430 (execute_command): Use grub_command_find to locate command and execute
8431 it.
8432
8433 * include/grub/efi/chainloader.h: Removed.
8434 * loader/efi/chainloader_normal.c: Likewise.
8435 * loader/i386/bsd_normal.c: Likewise.
8436 * loader/i386/pc/chainloader_normal.c: Likewise.
8437 * loader/i386/pc/multiboot_normal.c: Likewise.
8438 * loader/linux_normal.c: Likewise.
8439 * loader/multiboot_loader_normal.c: Likewise.
8440 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
8441
8442 * gencmdlist.sh: Scan new registration command grub_register_extcmd
8443 and grub_register_command_p1.
8444
8445 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
8446 kern/command.c, lib/arg.c and commands/extcmd.c.
8447 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
8448 (minicmd_mod_SOURCES): New variable.
8449 (minicmd_mod_CFLAGS): Likewise.
8450 (minicmd_mod_LDFLAGS): Likewise.
8451 (extcmd_mod_SOURCES): Likewise.
8452 (extcmd_mod_CFLAGS): Likewise.
8453 (extcmd_mod_LDFLAGS): Likewise.
8454 (boot_mod_SOURCES): Removed.
8455 (boot_mod_CFLAGS): Likewise.
8456 (boot_mod_LDFLAGS): Likewise.
8457
8458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
8459 kern/corecmd.c.
8460 (kernel_img_HEADERS): Add command.h.
8461 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
8462 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
8463 and lib/arg.c.
8464 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
8465 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
8466 remove the corresponding normal mode command.
8467 (normal_mod_SOURCES): Remove normal/arg.c.
8468 * conf/i386-coreboot.rmk: Likewise.
8469 * conf/i386-efi.rmk: Likewise.
8470 * conf/i386-ieee1275.rmk: Likewise.
8471 * conf/powerpc-ieee1275.rmk: Likewise.
8472 * conf/x86_64-efi.rmk: Likewise.
8473
8474 * include/grub/arg.h: Move from here ...
8475 * include/grub/lib/arg.h: ... to here.
8476
8477 * normal/arg.c: Move from here ...
8478 * lib/arg.c: ... to here.
8479
8480 * commands/extcmd.c: New file.
8481 * commands/minicmd.c: Likewise.
8482 * include/grub/command.h: Likewise.
8483 * include/grub/extcmd.h: Likewise.
8484 * kern/command.c: Likewise.
8485 * kern/corecmd.c: Likewise.
8486
8487 * kern/list.c (grub_list_iterate): Return int instead of void.
8488 (grub_list_insert): New function.
8489 (grub_prio_list_insert): Likewise.
8490
8491 * kern/rescue.c (grub_rescue_command): Removed.
8492 (grub_rescue_command_list): Likewise.
8493 (grub_rescue_register_command): Likewise.
8494 (grub_rescue_unregister_command): Likewise.
8495 (grub_rescue_cmd_boot): Move to minicmd.c
8496 (grub_rescue_cmd_help): Likewise.
8497 (grub_rescue_cmd_info): Likewise.
8498 (grub_rescue_cmd_boot): Likewise.
8499 (grub_rescue_cmd_testload): Likewise.
8500 (grub_rescue_cmd_dump): Likewise.
8501 (grub_rescue_cmd_rmmod): Likewise.
8502 (grub_rescue_cmd_lsmod): Likewise.
8503 (grub_rescue_cmd_exit): Likewise.
8504 (grub_rescue_print_devices): Moved to corecmd.c.
8505 (grub_rescue_print_files): Likewise.
8506 (grub_rescue_cmd_ls): Likewise.
8507 (grub_rescue_cmd_insmod): Likewise.
8508 (grub_rescue_cmd_set): Likewise.
8509 (grub_rescue_cmd_unset): Likewise.
7d074e3c 8510 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 8511 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 8512 commands, remove grub_rescue_register_command calls.
b1b797cb 8513
7d074e3c 8514 * normal/command.c (grub_register_command): Removed.
b1b797cb 8515 (grub_unregister_command): Likewise.
8516 (grub_command_find): Likewise.
8517 (grub_iterate_commands): Likewise.
8518 (rescue_command): Likewise.
8519 (export_command): Moved to corecmd.c.
8520 (set_command): Removed.
8521 (unset_command): Likewise.
8522 (insmod_command): Likewise.
8523 (rmmod_command): Likewise.
8524 (lsmod_command): Likewise.
8525 (grub_command_init): Likewise.
8526
8527 * normal/completion.c (iterate_command): Use cmd->prio to check for
8528 active command.
8529 (complete_arguments): Use grub_extcmd_t structure to find options.
8530 (grub_normal_do_completion): Change function grub_iterate_commands to
8531 grub_command_iterate.
8532
8533 * normal/execute.c (grub_script_execute_cmd): No need to parse
8534 argument here.
8535
8536 * normal/main.c (grub_dyncmd_dispatcher): New function.
8537 (read_command_list): Register unload commands as dyncmd.
8538 (grub_cmd_normal): Use new command interface, register rescue,
8539 unregister normal at entry, register normal, unregister rescue at exit.
8540
8541 * include/grub/list.h (grub_list_test_t): New type.
8542 (grub_list_iterate): Return int instead of void.
8543 (grub_list_insert): New function.
8544 (GRUB_AS_NAMED_LIST_P): New macro.
8545 (GRUB_AS_PRIO_LIST): Likewise.
8546 (GRUB_AS_PRIO_LIST_P): Likewise.
8547 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
8548 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
8549 (grub_prio_list): New structure.
8550 (grub_prio_list_insert): New function.
8551 (grub_prio_list_remove): New inline function.
8552
8553 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
8554 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
8555 (GRUB_COMMAND_FLAG_MENU): Likewise.
8556 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8557 (GRUB_COMMAND_FLAG_TITLE): Likewise.
8558 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8559 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
8560 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
8561 (grub_command): Likewise.
8562 (grub_register_command): Likewise.
8563 (grub_command_find): Likewise.
8564 (grub_iterate_commands): Likewise.
8565 (grub_command_init): Likewise.
8566 (grub_arg_parse): Likewise.
8567 (grub_arg_show_help): Likewise.
8568
8569 * include/grub/rescue.h (grub_rescue_register_command): Removed.
8570 (grub_rescue_unregister_command): Likewise.
8571
8572 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
8573 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
8574 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
8575
8576 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
8577 grub_rescue_cmd_initrd.
8578 * include/grub/i386/loader.h: Likewise.
8579 * include/grub/x86_64/loader.h: Likewise.
8580
8581 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
8582
1f4147aa 85832009-03-21 Bean <bean123ch@gmail.com>
8584
8585 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
8586 instead of stat in mingw environment.
8587
8588 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
8589
8590 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
8591
8592 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
8593 AC_CONFIG_LINKS.
8594
2156d5ba 85952009-03-21 Bean <bean123ch@gmail.com>
8596
8597 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
8598 out of range error.
8599
177b82ca 86002009-03-18 Michel Dänzer <michel@daenzer.net>
8601
8602 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
8603 checking inode flags for EXT4_EXTENTS_FLAG.
8604
14aad807 86052009-03-18 Robert Millan <rmh@aybabtu.com>
8606
8607 * loader/i386/linux.c: Include `<grub/video.h>' and
8608 `<grub/i386/pc/vbe.h>'..
8609 (grub_linux_setup_video): New function. Loosely based on the EFI one.
8610 (grub_linux32_boot): Attempt to configure video settings with
8611 grub_linux_setup_video().
8612 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
8613 to avoid grub_console_fini() which would step out of graphical mode
8614 unconditionally.
8615
8cf83a27 86162009-03-14 Robert Millan <rmh@aybabtu.com>
8617
8618 Fix build on powerpc.
8619 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
8620
40164e75 86212009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
8624 background image command.
8625
c58bc32a 86262009-03-12 Colin D Bennett <colin@gibibit.com>
8627
8628 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
8629 (grub_gfxterm_putchar): Extract pairs of identical calls to
8630 draw_cursor out of conditional blocks.
8631
5415144a 86322009-03-11 Pavel Roskin <proski@gnu.org>
8633
8634 * fs/hfs.c (grub_hfs_strncasecmp): New function.
8635 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
8636
6394042e 86372009-03-11 Robert Millan <rmh@aybabtu.com>
8638
8639 * loader/i386/multiboot_elfxx.c
8640 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
8641
b7b50e5f 86422009-03-11 Felix Zielcke <fzielcke@z-51.de>
8643
8644 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
8645 `kern/handler.c'.
8646
1ca7fc96 86472009-03-11 Robert Millan <rmh@aybabtu.com>
8648
8649 * loader/i386/multiboot.c (code_size): New variable.
8650 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 8651 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 8652 4-byte alignment to MBI and others by increasing
7d074e3c 8653 `boot_loader_name_length' appropriately.
1ca7fc96 8654
8655 * loader/i386/multiboot_elfxx.c
8656 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
8657
a83ea1d2 86582009-03-09 Felix Zielcke <fzielcke@z-51.de>
8659
8660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
8661 `fs/ext2.c'.
8662
aa9f3bff 86632009-03-08 Robert Millan <rmh@aybabtu.com>
8664
8665 Make loader/i386/linux.c usable on i386-pc again.
8666
8667 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
8668 memory to heap.
8669 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
8670 `#error' stanza.
8671
d8b3b60e 86722009-03-07 Bean <bean123ch@gmail.com>
8673
8674 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
8675 allocation.
8676
b362c9e9 86772009-03-06 Robert Millan <rmh@aybabtu.com>
8678
8679 Fix display issue on terminals with screen size other than 80x25
8680 (e.g. gfxterm with resolution higher than 640x480).
8681
8682 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 8683 position relative to the center of the terminal instead of relying
b362c9e9 8684 on a hardcoded offset.
8685
9304eef1 86862009-03-04 Robert Millan <rmh@aybabtu.com>
8687
8688 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
8689 installed.
8690
8691 * Makefile.in (host_kernel): New variable.
8692 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
8693 scripts instead of just the windows one.
8694 * configure.ac: Initialize and AC_SUBST `host_kernel'.
8695
eabc95fb 86962009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 8697
8698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
8699 `kern/handler.c'.
8700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8704 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8706
ceb1223c 87072009-03-04 Felix Zielcke <fzielcke@z-51.de>
8708
8709 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
8710 or if there's no space for the disk label and print the partition number on a
8711 invalid magic.
8712
4910684a 87132009-03-04 Felix Zielcke <fzielcke@z-51.de>
8714
8715 * util/misc.c: Include <time.h>.
8716 (grub_millisleep): New function.
8717
7e9ca17a 87182009-03-04 Bean <bean123ch@gmail.com>
8719
8720 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
8721 another option -mno-red-zone.
8722
8723 * commands/handler.c: Change module description.
8724
8725 * kern/handler.c: Add missing space at the end of description line.
8726
8727 * kern/list.c: Likewise.
8728
f501677c 87292009-03-03 Robert Millan <rmh@aybabtu.com>
8730
8731 Move more components to the relocation area, and fix mbi pointer
8732 handling to use the destination rather than the origin (thanks to
8733 Vladimir Serbinenko for spotting).
8734
8735 * loader/i386/multiboot.c (mbi_dest): New variable.
8736 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
8737 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
8738 relocation area.
8739
9902d047 87402009-03-01 Bean <bean123ch@gmail.com>
8741
50fb7002 8742 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 8743 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
8744 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
8745 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
8746
8747 * loader/i386/efi/linux.c (acpi_guid): New variable.
8748 (acpi_guid): Likewise.
8749 (EBDA_SEG_ADDR): New constant.
8750 (LOW_MEM_ADDR): Likewise.
8751 (FAKE_EBDA_SEG): Likewise.
8752 (fake_bios_data): New function.
8753 (grub_linux_boot): Call fake_bios_data.
8754
71b9f361 87552009-03-01 Bean <bean123ch@gmail.com>
8756
8757 * commands/terminal.c: Removed.
8758
8759 * commands/handler.c: New file.
8760
8761 * include/grub/list.h: Likewise.
8762
8763 * include/grub/handler.h: Likewise.
8764
8765 * kern/list.c: Likewise.
8766
8767 * kern/handler.c: Likewise.
8768
8769 * kern/term.h: Include header file <grub/handler.h>.
8770 (grub_term_input): Move next field to the beginning.
8771 (grub_term_output): Likewise.
8772 (grub_term_input_class): New variable.
8773 (grub_term_output_class): Likewise.
8774 (grub_term_register_input): Changed to inline function.
8775 (grub_term_register_output): Likewise.
8776 (grub_term_unregister_input): Likewise.
8777 (grub_term_unregister_output): Likewise.
8778 (grub_term_set_current_input): Likewise.
8779 (grub_term_set_current_output): Likewise.
8780 (grub_term_get_current_input): Likewise.
8781 (grub_term_get_current_output): Likewise.
8782 (grub_term_iterate_input): Removed.
8783 (grub_term_iterate_output): Likewise.
8784
8785 * kern/term.c (grub_term_list_input): Removed.
8786 (grub_term_list_output): Likewise.
8787 (grub_term_input_class): New variable.
8788 (grub_term_output_class): Likewise.
50fb7002 8789 (grub_cur_term_input): Change variable as macro.
71b9f361 8790 (grub_cur_term_output): Likewise.
8791 (grub_term_register_input): Removed.
8792 (grub_term_register_output): Likewise.
8793 (grub_term_unregister_input): Likewise.
8794 (grub_term_unregister_output): Likewise.
8795 (grub_term_set_current_input): Likewise.
8796 (grub_term_set_current_output): Likewise.
8797 (grub_term_iterate_input): Likewise.
8798 (grub_term_iterate_output): Likewise.
8799 (grub_term_get_current_input): Likewise.
8800 (grub_term_get_current_output): Likewise.
8801
8802 * util/grub-editenv.c: Include header file <grub/handler.h>.
8803 (grub_term_get_current_input): Removed.
8804 (grub_term_get_current_output): Likewise.
8805 (grub_term_input_class): New variable.
50fb7002 8806 (grub_term_output_class): Likewise.
71b9f361 8807
8808 * util/grub-fstest.c (grub_term_get_current_input): Removed.
8809 (grub_term_get_current_output): Likewise.
8810 (grub_term_input_class): New variable.
50fb7002 8811 (grub_term_output_class): Likewise.
71b9f361 8812
8813 * util/grub-probe.c (grub_term_get_current_input): Removed.
8814 (grub_term_get_current_output): Likewise.
8815 (grub_term_input_class): New variable.
50fb7002 8816 (grub_term_output_class): Likewise.
71b9f361 8817
8818 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
8819 (grub_term_get_current_output): Likewise.
8820 (grub_term_input_class): New variable.
50fb7002 8821 (grub_term_output_class): Likewise.
71b9f361 8822
8823 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
8824 (terminal_mod_SOURCES): Likewise.
8825 (terminal_mod_CFLAGS): Likewise.
8826 (terminal_mod_LDFLAGS): Likewise.
8827
8828 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
8829 handler.c.
8830 (kernel_img_SOURCES): Add list.c and handler.c.
8831 (kernel_img_HEADERS): Add list.h and handler.h.
8832
8833 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8834 handler.c.
8835 (kernel_mod_SOURCES): Add list.c and handler.c.
8836 (kernel_mod_HEADERS): Add list.h and handler.h.
8837
8838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
8839 handler.c.
8840 (kernel_elf_SOURCES): Add list.c and handler.c.
8841 (kernel_elf_HEADERS): Add list.h and handler.h.
8842
8843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8844 handler.c.
8845 (kernel_elf_SOURCES): Add list.c and handler.c.
8846 (kernel_elf_HEADERS): Add list.h and handler.h.
8847
8848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8849 handler.c.
8850 (kernel_mod_SOURCES): Add list.c and handler.c.
8851 (kernel_mod_HEADERS): Add list.h and handler.h.
8852
8853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8854 handler.c.
8855 (kernel_elf_SOURCES): Add list.c and handler.c.
8856 (kernel_elf_HEADERS): Add list.h and handler.h.
8857
8a31787f 88582009-02-27 Robert Millan <rmh@aybabtu.com>
8859
8860 Factorize elf32 / elf64 code in Multiboot loader. This will
8861 prevent it from getting out of sync again.
8862
8863 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
8864 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
8865 grub_multiboot_load_elf64): Move from here ...
8866 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
8867 grub_multiboot_load_elf): ... to here (new file).
8868
51cd3dfc 88692009-02-27 Robert Millan <rmh@aybabtu.com>
8870
8871 * util/grub.d/10_linux.in: Rename "single-user mode" to
8872 "recovery mode".
8873
6e8c9c3a 88742009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 Don't leak in SCSI code.
8877 * disk/scsi.c (grub_scsi_close): free `scsi'.
8878
4b6bf4f9 88792009-02-27 Robert Millan <rmh@aybabtu.com>
8880
8881 * loader/i386/pc/multiboot.c: Move from here ...
8882 * loader/i386/multiboot.c: ... to here. Update all users.
8883
b9413424 88842009-02-27 Robert Millan <rmh@aybabtu.com>
8885
8886 Patch from Alexandre Bique <bique.alexandre@gmail.com>
8887 * util/i386/pc/grub-setup.c (setup): Fix directory path.
8888
50fb7002 88892009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 8890
8891 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
8892 b-tree.
8893
8cc50345 88942009-02-27 Robert Millan <rmh@aybabtu.com>
8895
8896 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
8897 `0x' qualifier as 0 when base is specified as parameter).
8898
6e09b8b7 88992009-02-24 Bean <bean123ch@gmail.com>
8900
8901 * configure.ac: Check for -mcmodel=large in x86_64 target.
8902
8903 * include/grub/efi/api.h (efi_call_10): New macro.
8904 (efi_wrap_10): New function.
8905
8906 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
8907 (GRUB_PE32_REL_BASED_HIGH): Likewise.
8908 (GRUB_PE32_REL_BASED_LOW): Likewise.
8909 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
8910 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
8911 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
8912 (GRUB_PE32_REL_BASED_SECTION): Likewise.
8913 (GRUB_PE32_REL_BASED_REL): Likewise.
8914 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
8915 (GRUB_PE32_REL_BASED_DIR64): Likewise.
8916 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
8917
8918 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
8919 issue.
8920
8921 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
8922 (efi_wrap_10): New function.
8923
8924 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
8925
8926 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
8927 MB/MBP model (NV chipset).
8928 (devdata_devs): Add devpath_5 to the list.
8929
8930 * load/i386/efi/linux.c (video_base): Remove variable.
8931 (RGB_MASK): New macro.
8932 (RGB_MAGIC): Likewise.
8933 (LINE_MIN): Likewise.
8934 (LINE_MAX): Likewise.
8935 (FBTEST_STEP): Likewise.
8936 (FBTEST_COUNT): Likewise.
8937 (fb_list): New variable.
8938 (grub_find_video_card): Remove function.
8939 (find_framebuf): New function.
8940 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8941 line length.
8942
8943 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8944 problem for x86_64.
8945
74b21bee 89462009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8947
8948 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8949
8950 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8951 coding tool name.
8952
a455f472 89532009-02-22 Robert Millan <rmh@aybabtu.com>
8954
8955 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8956 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8957 in our relocation, instead of using it directly from heap. Also
8958 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8959
6374daf3 89602009-02-21 Robert Millan <rmh@aybabtu.com>
8961
8962 Implement USB keyboard support (based on patch by Marco Gerards)
8963
8964 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8965 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8966 (usb_keyboard_mod_LDFLAGS): New variables.
8967
8968 * term/usb_keyboard.c: New file.
8969
8fa4ea70 89702009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 Corrected wrong declaration
8973
8974 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8975
353976ac 89762009-02-14 Christian Franke <franke@computer.org>
8977
8978 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8979 (grub_lspci_iter): Print class code and programming interface byte.
8980
6aa1169b 89812009-02-14 Christian Franke <franke@computer.org>
8982
8983 * gendistlist.sh: Ignore `.svn' directories.
8984
265372ca 89852009-02-14 Felix Zielcke <fzielcke@z-51.de>
8986
8987 * fs/fat.c: Add 2009 to Copyright line.
8988
9ff516f3 89892009-02-14 Christian Franke <franke@computer.org>
8990
8991 * commands/hdparm.c: New file. Provides `hdparm' command
8992 which sends ATA commands via grub_disk_ata_pass_through ().
8993
8994 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
8995
8996 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
8997 and <grub/cpu/io.h> to include/grub/ata.h.
8998 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
8999 (GRUB_CDROM_SECTOR_SIZE): Remove.
9000 (GRUB_ATA_*): Move to include/grub/ata.h.
9001 (GRUB_ATAPI_*): Likewise.
9002 (enum grub_ata_commands): Likewise.
9003 (enum grub_ata_timeout_milliseconds): Likewise.
9004 (struct grub_ata_device): Likewise.
9005 (grub_ata_regset): Likewise.
9006 (grub_ata_regget): Likewise.
9007 (grub_ata_regset2): Likewise.
9008 (grub_ata_regget2): Likewise.
9009 (grub_ata_check_ready): Likewise.
9010 (grub_ata_wait_not_busy): Remove static, exported in
9011 include/grub/ata.h.
9012 (grub_ata_wait_drq): Likewise.
9013 (grub_ata_pio_read): Likewise.
9014
9015 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
9016 function for hdparm.mod.
9017
9018 * include/grub/ata.h: New file, contains declarations from
9019 disk/ata.c.
9020 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9021
9022 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9023 (grub_disk_ata_pass_through): New exported variable.
9024
9025 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9026
772e23da 90272009-02-13 Colin D Bennett <colin@gibibit.com>
9028
9029 Support multiple fallback entries, and provide an API to support
9030 executing default+fallback menu entries. Renamed the `terminal' menu
9031 viewer to `text'.
9032
9033 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9034 variable declaration.
9035 (grub_menu_execute_callback): New structure declaration.
9036 (grub_menu_execute_callback_t): New typedef.
9037 (grub_menu_execute_with_fallback): New function declaration.
9038 (grub_menu_get_entry): Likewise.
9039 (grub_menu_get_timeout): Likewise.
9040 (grub_menu_set_timeout): Likewise.
9041
9042 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9043
9044 * normal/menu.c (grub_wait_after_message): Moved to
9045 `normal/menu_text.c'.
9046 (draw_border): Likewise.
9047 (print_message): Likewise.
9048 (print_entry): Likewise.
9049 (print_entries): Likewise.
9050 (grub_menu_init_page): Likewise.
9051 (get_entry_number): Likewise.
9052 (print_timeout): Likewise.
9053 (run_menu): Likewise.
9054 (grub_menu_execute_entry): Likewise.
9055 (show_text_menu): Likewise.
9056 (get_and_remove_first_entry_number): New function.
9057 (grub_menu_execute_with_fallback): Likewise.
9058 (get_entry): Renamed to ...
9059 (grub_menu_get_entry): .. this and made it global.
9060 (get_timeout): Renamed to ...
9061 (grub_menu_get_timeout): ... this and made it global.
9062 (set_timeout): Renamed to ...
9063 (grub_menu_set_timeout): ... this and made it global.
9064 (grub_normal_terminal_menu_viewer): Renamed to ...
9065 (grub_normal_text_menu_viewer): ... this.
9066
9067 * normal/menu_text.c: New file. Extracted text-menu-specific code
9068 from normal/menu.c.
9069
9070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9071 (normal_mod_SOURCES): Likewise.
9072
9073 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9074 (normal_mod_SOURCES): Likewise.
9075
9076 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9077 (normal_mod_SOURCES): Likewise.
9078
9079 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9080 (normal_mod_SOURCES): Likewise.
9081
9082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9083 (normal_mod_SOURCES): Likewise.
9084
9085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9086 (normal_mod_SOURCES): Likewise.
9087
9088 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9089 (normal_mod_SOURCES): Likewise.
9090
16ac430e 90912009-02-11 Robert Millan <rmh@aybabtu.com>
9092
9093 * util/grub.d/00_header.in: Update old reference to `font' command.
9094
06ff20fc 90952009-02-10 Felix Zielcke <fzielcke@z-51.de>
9096
9097 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9098
9099 Based on patch from Javier Martín.
9100
96da9407 91012009-02-09 Felix Zielcke <fzielcke@z-51.de>
9102
9103 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 9104 to avoid false positives with FAT.
96da9407 9105 (grub_fstest_SOURCES): Likewise.
9106 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9107 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9111 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9112
6dca6fe4 91132009-02-09 Felix Zielcke <fzielcke@z-51.de>
9114
06ff20fc 9115 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 9116 bpb.version_specific.fat12_or_fat16.fstype and
9117 bpb.version_specific.fat32.fstype.
9118
2550c62f 91192009-02-08 Robert Millan <rmh@aybabtu.com>
9120
be110b30 9121 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 9122
56978920 91232009-02-08 Robert Millan <rmh@aybabtu.com>
9124
9125 * Makefile.in (host_os, host_cpu): New variables.
9126 (target_os): Remove. Update all users.
9127
d64399b5 91282009-02-08 Marco Gerards <marco@gnu.org>
9129
9130 * Makefile.in (enable_grub_emu_usb): New variable.
9131 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
9132 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
9133 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
9134 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
9135 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
9136 `usbtest.mod' and `usbms.mod'.
9137 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
9138 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
9139 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
9140 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
9141 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
9142 variables.
9143
9144 * disk/usbms.c: New file.
9145
9146 * include/grub/usb.h: Likewise.
9147
9148 * include/grub/usbtrans.h: Likewise.
9149
9150 * include/grub/usbdesc.h: Likewise.
9151
9152 * bus/usb/usbtrans.c: Likewise.
9153
9154 * bus/usb/ohci.c: Likewise.
9155
9156 * bus/usb/uhci.c: Likewise.
9157
9158 * bus/usb/usbhub.c: Likewise.
9159
9160 * bus/usb/usb.c: Likewise.
9161
9162 * commands/usbtest.c: Likewise.
9163
9164 * util/usb.c: Likewise.
50fb7002 9165
d64399b5 9166 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
9167
9168 * configure.ac: Test for libusb presence.
50fb7002 9169
d64399b5 9170 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
9171
2b40d6bb 91722009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
9173
9174 * kern/mm.c: Add more comments.
9175
73a4ce81 91762009-02-08 Robert Millan <rmh@aybabtu.com>
9177
9178 Patch from Javier Martín.
9179 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
9180 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
9181
f821ce59 91822009-02-08 Robert Millan <rmh@aybabtu.com>
9183
9184 * fs/cpio.c: Split tar functionality to ...
9185 * fs/tar.c: ... here (new file). Update all users.
9186
aebfc4b0 91872009-02-07 Robert Millan <rmh@aybabtu.com>
9188
9189 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
9190 backward-incompatible features.
9191
9192 Based on patch from Javier Martín, with some adjustments.
9193
50fb7002 91942009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 9195
9196 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
9197
0bb5115e 91982009-02-07 Robert Millan <rmh@aybabtu.com>
9199
9200 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
9201 position of `disk/lvm.c' to ensure grub_init_all() always picks it
9202 after the RAID stuff.
9203
38a0f8e7 92042009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
9205
50fb7002 9206 Fixes problem when running vbetest command as reported by
38a0f8e7 9207 Vladimir Serbinenko <phcoder@gmail.com>.
9208
9209 * (grub_vbe_set_video_mode): Fixed problem with text modes.
9210
3143cc1c 92112009-02-04 Felix Zielcke <fzielcke@z-51.de>
9212
9213 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
9214 /dev/md/NpN style mdraid devices.
9215
9cba6fce 92162009-02-03 Felix Zielcke <fzielcke@z-51.de>
9217
9218 * util/unifont2pff.rb: Remove.
9219
e507a2c1 92202009-02-03 Felix Zielcke <fzielcke@z-51.de>
9221
9222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
9223 `#'.
9224
d2c2b4cd 92252009-02-03 Felix Zielcke <fzielcke@z-51.de>
9226
9227 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
9228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9229 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9232 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9234
b4315fb0 92352009-02-02 Christian Franke <franke@computer.org>
9236
9237 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
9238
de3aa260 92392009-02-01 Felix Zielcke <fzielcke@z-51.de>
9240
7c3ff286 9241 * INSTALL: Note that we now require at least autoconf 2.59 and
9242 that LZO is optional.
de3aa260 9243
825a182b 92442009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9245
9246 Base on patch on bug #24154 created by Tomas Tintera
9247 <trosos@seznam.cz>.
9248
9249 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
9250
a69ef770 92512009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9252
7c3ff286 9253 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 9254 <bero@arklinux.org>.
9255
9256 * normal/parser.y (script_init): Add missing semicolon.
9257
6fa42fa6 92582009-01-31 Colin D Bennett <colin@gibibit.com>
9259
7c3ff286 9260 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 9261 (free_menu_entry_classes): Added.
9262 (grub_normal_menu_addentry): Added class property handling.
9263 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
9264 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
9265
9266 * normal/menu_viewer.c: New file.
9267
9268 * normal/menu.c (run_menu_entry): Renamed to ...
9269 (grub_menu_execute_entry): ... this and made it as global.
9270 (grub_menu_run): Renamed to ...
9271 (show_text_menu): ... this and made it local.
9272 (show_text_menu): Adapt to new function names.
9273 (grub_normal_terminal_menu_viewer): New global variable.
9274
9275 * include/grub/menu.h: New file.
9276
9277 * include/grub/menu_viewer.h: New file.
9278
9279 * include/grub/normal.h: Added include to grub/menu.h.
9280 (grub_menu_entry): Moved to include/grub/menu.h.
9281 (grub_menu_entry_t): Likewise.
9282 (grub_menu): Likewise.
9283 (grub_menu_t): Likewise.
9284 (grub_normal_terminal_menu_viewer): Added.
9285 (grub_menu_execute_entry): Likewise.
9286 (grub_menu_run): Removed.
9287
9288 * DISTLIST: Added include/grub/menu.h.
9289 Added include/grub/menu_viewer.h.
9290 Added normal/menu_viewer.c.
9291
92922009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
9293
9294 * normal/execute.c (grub_script_execute_menuentry): Changed to use
9295 arglist for menutitle arguments.
9296
9297 * normal/main.c (grub_normal_menu_addentry): Likewise.
9298
9299 * normal/parser.y (menuentry): Likewise.
9300
9301 * normal/script.c (grub_script_create_cmdmenu): Likewise.
9302
9303 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
9304 (grub_script_create_cmdmenu): Likewise.
9305
9306 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
9307
9308 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
9309 changes.
9310
9311 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
9312
9313 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
9314
9315 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
9316
9317 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9318
9319 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9320
9321 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9322
56192c23 93232009-01-30 Christian Franke <franke@computer.org>
9324
9325 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
9326 in option help text.
9327
d72521b3 93282009-01-27 Pavel Roskin <proski@gnu.org>
9329
9330 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
9331
994b5e84 93322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9333
9334 * commands/lsmmap.c: Add include to grub/machine/memory.h.
9335
9336 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
9337
9338 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
9339 unregister function.
9340
6a7eab2c 93412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9342
9343 * disk/scsi.c (grub_scsi_read): Fix sign problem.
9344
9345 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
9346
9347 * util/grub-mkfont.c (usage): Fix typo.
9348
9349 * util/elf/grub-mkimage.c (load_modules): Fix warning.
9350
1806b56e 93512009-01-26 Daniel Mierswa <impulze@impulze.org>
9352
3fb18f09 9353 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
9354
336e1fb9 9355 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
9356
1806b56e 9357 * kern/misc.c (grub_strcasecmp): New function.
9358 (grub_strcasecmp): Use grub_size_t instead of int for length.
9359 Fix return value.
9360 * include/grub/misc.h: Update function prototypes.
9361
580b2a0f 93622009-01-26 Robert Millan <rmh@aybabtu.com>
9363
9364 * configure.ac: Fix cross-compilation check.
ef257b36 9365
d31c24f1 93662009-01-22 Christian Franke <franke@computer.org>
9367
9368 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
9369 (precision) digit string. Allow `.format2' without `format1' (width).
9370 Limit input chars for `%s' output to `format2' if specified. This is
9371 compatible with standard printf ().
9372
3138b44c 93732009-01-22 Christian Franke <franke@computer.org>
9374
9375 * disk/ata.c (grub_ata_wait_status): Replace by ...
9376 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
9377 other status bits may be invalid while BSY is asserted.
9378 (grub_ata_check_ready): New function.
9379 (grub_ata_cmd): Removed.
9380 (grub_ata_wait_drq): New function.
9381 (grub_ata_strncpy): Remove inline.
9382 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
9383 and error check now done by grub_ata_wait_drq ().
9384 (grub_ata_pio_write): Likewise.
9385 (grub_atapi_identify): Set DEV before check for !BSY. Use
9386 grub_ata_wait_drq () to wait for data.
9387 (grub_ata_device_initialize): Add status register check to
9388 detect missing SATA slave devices. Add debug messages.
9389 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
9390 (grub_atapi_packet): Set DEV before check for !BSY. Replace
9391 transfer loop by grub_ata_pio_write ().
9392 (grub_ata_identify): Set DEV before check for !BSY. Use
9393 grub_ata_wait_drq () to wait for data.
ef257b36 9394 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 9395 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
9396 read/write in one loop. Fix invalid command on write. Fix incomplete
9397 command on (size % batch) == 0. Add missing error check after write of
9398 last block. Add debug messages.
9399 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
9400
59a64ef6 94012009-01-19 Christian Franke <franke@computer.org>
9402
9403 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
9404 (GRUB_ATAPI_IREASON_*): Likewise.
9405 (grub_ata_pio_write): Fix timeout error return.
9406 (grub_atapi_identify): Add grub_ata_wait () after cmd.
9407 (grub_atapi_wait_drq): New function.
9408 (grub_atapi_packet): New parameter `size'.
9409 Use grub_atapi_wait_drq () and direct write instead of
9410 grub_ata_pio_write ().
9411 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
9412 reads the number of bytes requested by the device for each DRQ
9413 assertion.
9414 (grub_atapi_write): Remove old implementation, return not
9415 implemented instead.
9416
1cfe20b3 94172009-01-19 Christian Franke <franke@computer.org>
9418
9419 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
9420 of 512 to calculate data size.
9421 (grub_scsi_read12): Likewise.
9422 (grub_scsi_write10): Likewise.
9423 (grub_scsi_write12): Likewise.
9424 (grub_scsi_read): Adjust size according to blocksize.
9425 Add checks for invalid blocksize and unaligned transfer.
9426
bee5fe5d 94272009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
9428
9429 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
9430
ef257b36 9431 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 9432 width glyphs.
9433
3e643f8c 94342009-01-19 Robert Millan <rmh@aybabtu.com>
9435
9436 * config.guess: Update to latest version from config git.
9437 * config.sub: Likewise.
9438
4fa80998 94392009-01-17 Felix Zielcke <fzielcke@z-51.de>
9440
9441 * Makefile.in: Change font compilation to use new grub-mkfont instead
9442 of java version.
9443
9444 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
9445 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
9446 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9447 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9448 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
9449 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
9450 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
9451 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
9452 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9453
7086085b 94542009-01-16 Christian Franke <franke@computer.org>
9455
9456 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
9457 (enum grub_ata_timeout_milliseconds): New enum.
9458 (grub_ata_wait_status): Add parameter milliseconds.
9459 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
9460 recovery from timed-out commands.
9461 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
9462 return grub_errno instead of REG_ERROR.
9463 (grub_ata_pio_write): Add parameter milliseconds.
9464 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
9465 Pass milliseconds to grub_ata_wait_status () and
9466 grub_ata_pio_read ().
9467 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
9468 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
9469 grub_ata_wait_status (). Fix IDENTIFY timeout check.
9470 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
9471 It is not suitable for device detection, because DEV bit is ignored,
9472 the command may run too long, and not all devices set the signature
9473 properly.
9474 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
9475 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
9476 Fix device selection, DEV bit must be set first to address the registers
9477 of the correct device.
9478 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
9479 grub_ata_pio_read/write ().
9480 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
9481 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
9482
4a412913 94832009-01-13 Carles Pina i Estany <carles@pina.cat>
9484
9485 * util/grub-editenv.c (main): Use fseeko(), not fseek().
9486
7795c55e 94872009-01-13 Bean <bean123ch@gmail.com>
d913988c 9488
9489 * util/grub-mkfont.c (write_font): forget to remove some debug code.
9490
7795c55e 94912009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 9492
9493 * Makefile.in: (enable_grub_mkfont): New variable.
9494 (freetype_cflags): Likewise.
9495 (freetype_libs): Likewise.
9496
9497 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
9498 (grub_mkfont_SOURCES): New variable.
9499 (grub_mkfont_CFLAGS): Likewise.
9500 (grub_mkfont_LDFLAGS): Likewise.
9501
9502 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
9503 library if `--enable-grub-mkfont' is requested.
9504 (enable_grub_mkfont): New variable.
9505 (freetype_cflags): Likewise.
9506 (freetype_libs): Likewise.
9507
9508 * util/grub-mkfont.c: New file.
9509
093af1fe 95102009-01-12 Christian Franke <franke@computer.org>
9511
9512 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
9513 mode check. Fix setting of compat_use[].
9514
f36cc108 95152009-01-10 Robert Millan <rmh@aybabtu.com>
9516
9517 Update a few copyright years which we forgot to do in 2008 (only for
9518 files whose changes made in 2008 were copyright-significant)
9519
9520 * Makefile.in: Add 2008 to Copyright line.
9521 * disk/ieee1275/ofdisk.c: Likewise.
9522 * disk/efi/efidisk.c: Likewise.
9523 * kern/dl.c: Likewise.
9524 * kern/sparc64/ieee1275/init.c: Likewise.
9525 * kern/mm.c: Likewise.
9526 * kern/efi/mm.c: Likewise.
9527 * boot/i386/pc/boot.S: Likewise.
9528 * genfslist.sh: Likewise.
9529 * fs/iso9660.c: Likewise.
9530 * fs/hfs.c: Likewise.
9531 * fs/jfs.c: Likewise.
9532 * fs/minix.c: Likewise.
9533 * fs/ufs.c: Likewise.
9534 * gensymlist.sh.in: Likewise.
9535 * genkernsyms.sh.in: Likewise.
9536 * include/grub/misc.h: Likewise.
9537 * include/grub/types.h: Likewise.
9538 * include/grub/symbol.h: Likewise.
9539 * include/grub/elf.h: Likewise.
9540 * include/grub/kernel.h: Likewise.
9541 * include/grub/disk.h: Likewise.
9542 * include/grub/dl.h: Likewise.
9543 * include/grub/i386/linux.h: Likewise.
9544 * include/grub/i386/pc/biosdisk.h: Likewise.
9545 * include/grub/efi/api.h: Likewise.
9546 * include/grub/efi/pe32.h: Likewise.
9547 * include/grub/util/misc.h: Likewise.
9548 * normal/execute.c: Likewise.
9549 * normal/arg.c: Likewise.
9550 * normal/completion.c: Likewise.
9551 * normal/lexer.c: Likewise.
9552 * normal/parser.y: Likewise.
9553 * normal/misc.c: Likewise.
9554 * commands/i386/pc/vbeinfo.c: Likewise.
9555 * commands/hexdump.c: Likewise.
9556 * commands/terminal.c: Likewise.
9557 * commands/ls.c: Likewise.
9558 * commands/help.c: Likewise.
9559 * partmap/pc.c: Likewise.
9560 * loader/efi/chainloader.c: Likewise.
9561 * loader/multiboot_loader.c: Likewise.
9562 * loader/i386/pc/multiboot2.c: Likewise.
9563 * term/efi/console.c: Likewise.
9564 * term/i386/pc/serial.c: Likewise.
9565 * util/lvm.c: Likewise.
9566 * util/console.c: Likewise.
9567 * util/i386/efi/grub-mkimage.c: Likewise.
9568 * util/raid.c: Likewise.
9569
7f02114b 95702009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
9571
9572 * commands/videotest.c: Removed include to grub/machine/memory.h.
9573
9574 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
9575 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
9576 (video_mod_SOURCES): Removed.
9577 (video_mod_CFLAGS): Likewise.
9578 (video_mod_LDFLAGS): Likewise.
9579 (gfxterm_mod_SOURCES): Likewise.
9580 (gfxterm_mod_CFLAGS): Likewise.
9581 (gfxterm_mod_LDFLAGS): Likewise.
9582 (videotest_mod_SOURCES): Likewise.
9583 (videotest_mod_CFLAGS): Likewise.
9584 (videotest_mod_LDFLAGS): Likewise.
9585 (bitmap_mod_SOURCES): Likewise.
9586 (bitmap_mod_CFLAGS): Likewise.
9587 (bitmap_mod_LDFLAGS): Likewise.
9588 (tga_mod_SOURCES): Likewise.
9589 (tga_mod_CFLAGS): Likewise.
9590 (tga_mod_LDFLAGS): Likewise.
9591 (jpeg_mod_SOURCES): Likewise.
9592 (jpeg_mod_CFLAGS): Likewise.
9593 (jpeg_mod_LDFLAGS): Likewise.
9594 (png_mod_SOURCES): Likewise.
9595 (png_mod_CFLAGS): Likewise.
9596 (png_mod_LDFLAGS): Likewise.
9597
9598 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
9599 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
9600 (video_mod_SOURCES): Added.
9601 (video_mod_CFLAGS): Likewise.
9602 (video_mod_LDFLAGS): Likewise.
9603 (videotest_mod_SOURCES): Likewise.
9604 (videotest_mod_CFLAGS): Likewise.
9605 (videotest_mod_LDFLAGS): Likewise.
9606 (bitmap_mod_SOURCES): Likewise.
9607 (bitmap_mod_CFLAGS): Likewise.
9608 (bitmap_mod_LDFLAGS): Likewise.
9609 (tga_mod_SOURCES): Likewise.
9610 (tga_mod_CFLAGS): Likewise.
9611 (tga_mod_LDFLAGS): Likewise.
9612 (jpeg_mod_SOURCES): Likewise.
9613 (jpeg_mod_CFLAGS): Likewise.
9614 (jpeg_mod_LDFLAGS): Likewise.
9615 (png_mod_SOURCES): Likewise.
9616 (png_mod_CFLAGS): Likewise.
9617 (png_mod_LDFLAGS): Likewise.
9618 (gfxterm_mod_SOURCES): Likewise.
9619 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 9620 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 9621
9622 * term/gfxterm.c: Removed include to grub/machine/memory.h,
9623 grub/machine/console.h.
9624
644fff97 96252009-01-04 Jerone Young <jerone@gmail.com>
9626
9627 Make on screen instructions clearer
9628
9629 Based on patch created by Jidanni <jidanni@jidanni.org>
9630
9631 * normal/menu.c: print clearer instructions on the screen
9632
1e901a75 96332009-01-02 Colin D Bennett <colin@gibibit.com>
9634
9635 New font engine.
34c44600 9636
1e901a75 9637 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
9638 build system and fixed gfxterm.c to work with different sized fonts.
9639
9640 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 9641
1e901a75 9642 * configure: Re-generated.
34c44600 9643
1e901a75 9644 * DISTLIST: Removed font/manager.c.
9645 Added font/font.c.
9646 Added font/font_cmd.c.
34c44600 9647
1e901a75 9648 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
9649 compilation.
34c44600 9650
1e901a75 9651 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 9652
9653 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 9654
9655 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 9656
1e901a75 9657 * normal/menu.c: Likewise.
34c44600 9658
1e901a75 9659 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
9660 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 9661
1e901a75 9662 * include/grub/font.h: Replaced with new file.
34c44600 9663
1e901a75 9664 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
9665 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
9666 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
9667 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
9668 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 9669 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 9670 fg_red, fg_green, fg_blue, fg_alpha.
9671 (grub_video_adapter): Removed blit_glyph.
34c44600 9672 (grub_video_blit_glyph): Removed.
9673
1e901a75 9674 * font/manager.c: Removed file.
34c44600 9675
9676 * font/font.c: New file.
9677
1e901a75 9678 * font/font_cmd.c: Likewise.
34c44600 9679
1e901a75 9680 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 9681
1e901a75 9682 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
9683 (grub_video_vbe_map_rgba): Likewise.
9684 (grub_video_vbe_unmap_color_int): Likewise.
9685 (grub_video_vbe_blit_glyph): Removed.
9686 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 9687
1e901a75 9688 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
9689 (get_pixel): Likewise.
34c44600 9690 (set_pixel): Likewise.
9691
1e901a75 9692 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 9693
1e901a75 9694 * term/gfxterm.c: Adapted to new font engine.
34c44600 9695
1e901a75 9696 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 9697
1e901a75 9698 * term/i386/pc/vga.c: Likewise.
34c44600 9699
1e901a75 9700 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 9701
1e901a75 9702 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 9703
1e901a75 9704 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9705
1e901a75 9706 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9707
1e901a75 9708 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 9709
1e901a75 9710 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 9711
1e901a75 9712 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 9713
1e901a75 9714 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 9715
1e901a75 9716 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9717
9718 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 9719
1e901a75 9720 * util/grub-mkconfig_lib.in: Changed font extension.
9721
278922e8 97222008-12-28 Felix Zielcke <fzielcke@z-51.de>
9723
9724 * util/getroot.c (grub_util_get_grub_dev): Add support for
9725 /dev/md/dNNpNN style partitionable mdraid devices.
9726
3ced05cf 97272008-12-12 Alex Smith <alex@alex-smith.me.uk>
9728
9729 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
9730 at a time limit of the PXE TFTP API correctly.
9731 (grub_pxefs_close): Likewise.
9732
7fd0ee30 97332008-11-29 Robert Millan <rmh@aybabtu.com>
9734
34c44600 9735 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 9736 grub_ata_device_initialize() calls.
9737
34c44600 97382008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 9739
9740 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
9741 iteration failed.
9742 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
9743
89313780 97442008-11-28 Robert Millan <rmh@aybabtu.com>
9745
9746 Fix build on powerpc-ieee1275. Based on patch created by
9747 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
9748 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9749 `kern/ieee1275/mmap.c'.
9750 * include/grub/powerpc/ieee1275/memory.h: New file.
9751
15257703 9752 Provide grub-install on coreboot.
9753 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
9754 (grub_install_SOURCES): New variable.
9755 * util/i386/pc/grub-install.in: Add a few condition checks to make it
9756 usable on coreboot.
9757
9fc5388a 97582008-11-25 Felix Zielcke <fzielcke@z-51.de>
9759
9760 * util/grub-fstest.c (grub_term_get_current_input): Change return type
9761 to `grub_term_input_t'.
9762 (grub_term_get_current_output): Change return type to
9763 `grub_term_output_t'.
9764
bc3a2f31 97652008-11-22 Robert Millan <rmh@aybabtu.com>
9766
34c44600 9767 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 9768 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
9769 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
9770 grub_vga_text_cls().
9771
80fc88f2 9772 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 9773 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 9774
cbf36fd3 9775 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
9776 to 0x200000 (avoids trouble with some OFW implementations, and matches
9777 with the one in Yaboot).
9778 Reported by Manoel Abranches
9779
73e8e268 97802008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 9781
9782 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
9783 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
9784
73e8e268 9785 * util/grub-mkconfig_lib.in (grub_warn): New function.
9786 (convert_system_path_to_grub_path): Use grub_warn() when issuing
9787 warnings, to obtain consistent formatting.
9788 * util/grub.d/00_header.in: Likewise.
9789 * util/update-grub_lib.in: Likewise.
9790
e94045a1 9791 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 9792 Move comment text to `#error' stanza.
e94045a1 9793
79d29fd7 9794 Harmonize ieee1275's grub_available_iterate() with the generic
9795 grub_machine_mmap_iterate() interface (fixes a recently-introduced
9796 build problem on i386-ieee1275):
9797 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
9798 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
9799 parameter `type'. Update all users of this function.
9800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
9801 `kern/ieee1275/mmap.c'.
9802 * kern/ieee1275/init.c
9803 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
9804 with ...
9805 (grub_machine_mmap_iterate): ... this.
9806 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
9807 return type to `grub_err_t'. Update all implementations of this
9808 function prototype.
9809 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
9810 Likewise.
9811
60d6b16e 9812 Add `lsmmap' command (lists firmware-provided memory map):
9813 * commands/lsmmap.c: New file.
9814 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
9815 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
9816 variables.
9817 * conf/powerpc-ieee1275.rmk: Likewise.
9818 * conf/i386-coreboot.rmk: Likewise.
9819 * conf/i386-ieee1275.rmk: Likewise.
9820
ebaaf49b 98212008-11-19 Robert Millan <rmh@aybabtu.com>
9822
9823 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 9824 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
9825 constraints to initrd allocation (based on code from
9826 loader/i386/pc/linux.c). Without them, initrd was allocated too high
9827 for Linux to find it.
ebaaf49b 9828
dfab719f 98292008-11-14 Robert Millan <rmh@aybabtu.com>
9830
9831 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
9832 order to cope with duplicate slashes.
9833
10fc3eb9 98342008-11-14 Robert Millan <rmh@aybabtu.com>
9835
9836 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
9837 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
9838 don't want to mess with lower memory, because it is used in the Linux
9839 loader.
9840
9841 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 9842 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 9843 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
9844 is in our heap (probably as a result of it being corrupted during
2f2a3442 9845 decompression). Add #error instance with comment to explain why this
9846 loader isn't currently usable on PC/BIOS.
10fc3eb9 9847
e2e07847 98482008-11-14 Robert Millan <rmh@aybabtu.com>
9849
9850 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 9851 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 9852
fe8e8d69 98532008-11-12 Robert Millan <rmh@aybabtu.com>
9854
9855 Make loader/i386/linux.c buildable on i386-pc (although disabled).
9856
9857 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
9858 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
9859 from here ...
9860 * include/grub/i386/pc/memory.h: ... to here.
9861
976b07d0 98622008-11-12 Robert Millan <rmh@aybabtu.com>
9863
9864 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
9865 split).
9866
9867 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
9868 (grub_console_cur_color, grub_console_real_putchar)
9869 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9870 (grub_console_setcolorstate, grub_console_setcolor)
9871 (grub_console_getcolor): Move from here ...
9872 * include/grub/i386/vga_common.h: ... to here (new file).
9873
9874 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
9875 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
9876 `<grub/i386/io.h>'.
9877 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
9878 `<grub/i386/vga_common.h>'.
9879
76679cd3 98802008-11-12 Robert Millan <rmh@aybabtu.com>
9881
9882 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
9883 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
9884 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
9885 variables.
9886 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9887 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
9888
9889 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
9890 grub_console_init() with call to grub_vga_text_init().
9891 (grub_machine_fini): Replace call to
9892 grub_console_fini() with call to grub_vga_text_fini() and
9893 grub_at_keyboard_fini().
9894
9895 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
9896 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9897 (grub_console_setcolorstate, grub_console_setcolor)
9898 (grub_console_getcolor): New function prototypes.
9899
9900 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
9901 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
9902 (grub_vga_text_setcursor): Static-ize.
9903 (grub_vga_text_term): New structure.
9904 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
9905
9906 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
9907 (grub_console_cur_color, grub_console_standard_color)
9908 (grub_console_normal_color, grub_console_highlight_color)
9909 (map_char, grub_console_putchar, grub_console_getcharwidth)
9910 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
9911 (grub_console_getcolor): Move from here ...
9912 * term/i386/vga_common.c: ... to here (same function names).
9913
95b841d3 99142008-11-12 Robert Millan <rmh@aybabtu.com>
9915
9916 Use newly-added Multiboot support in coreboot.
9917
9918 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9919 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
9920
9921 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
9922 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
9923 (codestart): Store the MBI in `startup_multiboot_info' when we're
9924 being loaded using Multiboot.
9925
9926 * kern/i386/coreboot/init.c (grub_machine_init): Move
9927 grub_at_keyboard_init() call to beginning of function (useful for
9928 debugging). Call grub_machine_mmap_init() before attempting to use
9929 grub_machine_mmap_iterate().
9930 (grub_lower_mem, grub_upper_mem): Move from here ...
9931 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
9932 here (new file).
9933
9934 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
9935 function prototype.
9936
761ca975 99372008-11-12 Robert Millan <rmh@aybabtu.com>
9938
9939 Fix a regression introduced by the at_keyboard.mod split. Because
9940 some terminals are default on some platforms and non-default on
9941 others, the first terminal being registered determines which is
9942 going to be default.
9943
9944 * kern/term.c (grub_term_register_input): If this is the first
9945 terminal being registered, set it as the current one.
9946 (grub_term_register_output): Likewise.
9947
9948 * term/efi/console.c (grub_console_init): Do not call
9949 grub_term_set_current_output() or grub_term_set_current_input().
9950 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9951 * term/i386/pc/console.c (grub_console_init): Likewise.
9952 (grub_console_fini): Do not call grub_term_set_current_input()
9953 (but leave grub_term_set_current_output() to restore text mode).
9954
6c529df7 99552008-11-10 Robert Millan <rmh@aybabtu.com>
9956
9957 * util/grub.d/00_header.in: Add backward compatibility check for
9958 versions of terminal.mod that don't understand `terminal_input' or
9959 `terminal_output'.
9960
132e4113 99612008-11-09 Robert Millan <rmh@aybabtu.com>
9962
9963 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9964 `terminal_input' / `terminal_output', not `terminal'.
9965
ac293d50 99662008-11-08 Robert Millan <rmh@aybabtu.com>
9967
9968 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9969 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9970
0025933a 99712008-11-08 Robert Millan <rmh@aybabtu.com>
9972
9973 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9974 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9975 members. Update all users.
9976 * util/console.c (grub_ncurses_term): Split in ...
9977 (grub_ncurses_term_input): ... this, and ...
9978 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9979 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9980
37c86336 99812008-11-08 Robert Millan <rmh@aybabtu.com>
9982
9983 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9984 (PKGDATA): Add $(pkgdata_SRCDIR).
9985 (pkglib_BUILDDIR): New variable.
9986 (pkgdata_SRCDIR): New variable.
9987 (build_env.mk): New target.
9988 (include_DATA): New variable.
9989 (install-local): Install $(include_DATA) files in $(includedir).
9990
b6c15a2d 99912008-11-07 Pavel Roskin <proski@gnu.org>
9992
d99d46f1 9993 * gendistlist.sh: Use C locale for sorting to ensure consistent
9994 output on all systems.
9995
b6c15a2d 9996 * util/grub.d/00_header.in: Remove incorrect space before
9997 "serial".
9998
c32ee8c9 99992008-11-07 Robert Millan <rmh@aybabtu.com>
10000
10001 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
10002 per specification.
10003 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
10004 * loader/multiboot_loader.c (find_multi_boot2_header): New function
10005 (based on find_multi_boot1_header).
10006 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
10007 using find_multi_boot2_header(), and abort if neither Multiboot or
10008 Multiboot headers were found.
10009
651c29b7 100102008-11-07 Robert Millan <rmh@aybabtu.com>
10011
10012 Modularize at_keyboard.mod:
10013
10014 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
10015 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10016 (at_keyboard_mod_LDFLAGS): New variables.
10017
10018 Actual terminal split:
10019
10020 * include/grub/term.h (struct grub_term): Split in ...
10021 (struct grub_term_input): ... this, and ...
10022 (struct grub_term_output): ... this. Update all users.
10023 (grub_term_set_current): Split in ...
10024 (grub_term_set_current_input): ... this, and ...
10025 (grub_term_set_current_output): ... this.
10026 (grub_term_get_current): Split in ...
10027 (grub_term_get_current_input): ... this, and ...
10028 (grub_term_get_current_output): ... this.
10029 (grub_term_register): Split in ...
10030 (grub_term_register_input): ... this, and ...
10031 (grub_term_register_output): ... this.
10032 (grub_term_unregister): Split in ...
10033 (grub_term_unregister_input): ... this, and ...
10034 (grub_term_unregister_output): ... this.
10035 (grub_term_iterate): Split in ...
10036 (grub_term_iterate_input): ... this, and ...
10037 (grub_term_iterate_output): ... this.
10038
10039 * kern/term.c (grub_term_list): Split in ...
10040 (grub_term_list_input): ... this, and ...
10041 (grub_term_list_output): ... this. Update all users.
10042 (grub_cur_term): Split in ...
10043 (grub_cur_term_input): ... this, and ...
10044 (grub_cur_term_output): ... this. Update all users.
10045 (grub_term_set_current): Split in ...
10046 (grub_term_set_current_input): ... this, and ...
10047 (grub_term_set_current_output): ... this.
10048 (grub_term_get_current): Split in ...
10049 (grub_term_get_current_input): ... this, and ...
10050 (grub_term_get_current_output): ... this.
10051 (grub_term_register): Split in ...
10052 (grub_term_register_input): ... this, and ...
10053 (grub_term_register_output): ... this.
10054 (grub_term_unregister): Split in ...
10055 (grub_term_unregister_input): ... this, and ...
10056 (grub_term_unregister_output): ... this.
10057 (grub_term_iterate): Split in ...
10058 (grub_term_iterate_input): ... this, and ...
10059 (grub_term_iterate_output): ... this.
10060
10061 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
10062 a check for input and one for output (and only attempt to get keys
10063 from user when input works).
10064
10065 * util/grub-probe.c (grub_term_get_current): Split in ...
10066 (grub_term_get_current_input): ... this, and ...
10067 (grub_term_get_current_output): ... this.
10068 * util/grub-fstest.c: Likewise.
10069 * util/i386/pc/grub-setup.c: Likewise.
10070 * util/grub-editenv.c: Likewise.
10071
10072 Portability adjustments:
10073
10074 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10075 `term/i386/pc/at_keyboard.c'.
10076 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10077 grub_keyboard_controller_init() (now handled by terminal .init).
10078 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10079 grub_at_keyboard_init().
10080 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10081 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10082 at_keyboard.mod via input terminal interface).
10083 * include/grub/i386/coreboot/console.h: Convert into a stub for
10084 `<grub/i386/pc/console.h>'.
10085
10086 Migrate full terminals to new API:
10087
10088 * term/efi/console.c (grub_console_term): Split into ...
10089 (grub_console_term_input): ... this, and ...
10090 (grub_console_term_output): ... this. Update all users.
10091 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10092 (grub_ofconsole_init): Split into ...
10093 (grub_ofconsole_init_input): ... this, and ...
10094 (grub_ofconsole_init_output): ... this.
10095 (grub_ofconsole_term): Split into ...
10096 (grub_ofconsole_term_input): ... this, and ...
10097 (grub_ofconsole_term_output): ... this. Update all users.
10098 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10099 (grub_serial_term_input): ... this, and ...
10100 (grub_serial_term_output): ... this. Update all users.
10101 * term/i386/pc/console.c (grub_console_term): Split into ...
10102 (grub_console_term_input): ... this, and ...
10103 (grub_console_term_output): ... this. Update all users.
10104 (grub_console_term_input): Only enable it on PC/BIOS platform.
10105 (grub_console_init): Remove grub_keyboard_controller_init() call.
10106
10107 Migrate input terminals to new API:
10108
10109 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
10110 `i386' and `i386/pc' to enable build on x86_64 (this driver is
10111 i386-specific anyway).
10112 (grub_console_checkkey): Rename to ...
10113 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
10114 users.
10115 (grub_keyboard_controller_orig): New variable.
10116 (grub_console_getkey): Rename to ...
10117 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
10118 users.
10119 (grub_keyboard_controller_init): Static-ize. Save original
10120 controller value so that it can be restored ...
10121 (grub_keyboard_controller_fini): ... here (new function).
10122 (grub_at_keyboard_term): New structure.
10123 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
10124 functions.
10125
10126 Migrate output terminals to new API:
10127
10128 * term/i386/pc/vga.c (grub_vga_term): Change type to
10129 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10130 members. Update all users.
10131 * term/gfxterm.c (grub_video_term): Change type to
10132 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10133 members. Update all users.
10134 * include/grub/i386/pc/console.h (grub_console_checkkey)
10135 (grub_console_getkey): Do not export (no longer needed by gfxterm,
10136 etc).
10137
10138 Migrate `terminal' command and userland tools to new API:
10139
10140 * commands/terminal.c (grub_cmd_terminal): Split into ...
10141 (grub_cmd_terminal_input): ... this, and ...
10142 (grub_cmd_terminal_output): ... this.
10143 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
10144 `terminal_input' and `terminal_output'.
10145 * util/grub.d/00_header.in: Adjust `terminal' calls to new
10146 `terminal_input' / `terminal_output' API.
10147 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
10148 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
10149 provided ${GRUB_TERMINAL}, convert it).
10150
96e5d876 101512008-11-04 Robert Millan <rmh@aybabtu.com>
10152
10153 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
10154 for FreeBSD.
10155 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
10156
556f3775 101572008-11-03 Bean <bean123ch@gmail.com>
10158
10159 * kern/elf.c (grub_elf32_load): Revert to previous code.
10160 (grub_elf64_load): Likewise.
10161
10162 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
10163
926b9823 101642008-11-01 Robert Millan <rmh@aybabtu.com>
10165
10166 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
10167 (TARGET_CPPFLAGS): Likewise.
10168 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
10169
1432e958 101702008-11-01 Carles Pina i Estany <carles@pina.cat>
10171
10172 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
10173
dba3f844 101742008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 10175
10176 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
10177 addition of objects until the code is not going to be able to fail.
10178
dba3f844 101792008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 10180
10181 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
10182 (add a missing NULL check, and correct them by moving the pointer
10183 operations after the actual check).
10184
7ab28c21 101852008-10-29 Robert Millan <rmh@aybabtu.com>
10186
10187 * util/i386/pc/grub-install.in: Handle empty string as output from
10188 make_system_path_relative_to_its_root().
10189
1b7748eb 101902008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
10191
10192 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
10193 circular metadata worst case scenario. If the metadata is circular
10194 then copy the wrap in place.
10195 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
10196 project lib/format_text/layout.h
10197 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
10198
c9618ab2 101992008-10-03 Felix Zielcke <fzielcke@z-51.de>
10200
7a36edca 10201 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 10202
bf981c62 102032008-10-03 Felix Zielcke <fzielcke@z-51.de>
10204
10205 * util/update-grub_lib.in: Mention filename in warning message.
10206
6d994591 102072008-09-29 Felix Zielcke <fzielcke@z-51.de>
10208
10209 * NEWS: Update for rename of update-grub to grub-mkconfig.
10210
18ade780 102112008-09-29 Felix Zielcke <fzielcke@z-51.de>
10212
10213 * util/update-grub_lib.in: Copy to ...
10214 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 10215 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 10216 * util/update-grub.in: Rename to ...
10217 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
10218 option. Add `--output' option to allow users to specify the generated
10219 configuration file. Default to stdout.
10220 (update_grub_dir): Rename to ...
10221 (grub_mkconfig_dir): ... this.
10222 (grub_cfg): Default to an empty string.
10223 * conf/common.rmk (update-grub): Rename to ...
10224 (grub-mkconfig): ... this.
10225 (update-grub_lib): Copy to ...
10226 (grub-mkconfig_lib): ... this.
10227 (update-grub_SCRIPTS): Copy to ...
10228 (grub-mkconfig_SCRIPTS): ... this. Update all users.
10229 (update-grub_DATA): Rename to ...
10230 (grub-mkconfig_DATA): ... this.
10231
556ce6ac 102322008-09-28 Robert Millan <rmh@aybabtu.com>
10233
10234 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
10235 to `modified'. Add the real `created' field.
10236 (grub_iso9660_uuid): Use `modified' rather than `created' for
10237 constructing the UUID.
10238
102392008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 10240
10241 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
10242 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
10243
92274e85 102442008-09-28 Bean <bean123ch@gmail.com>
10245
10246 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
10247 Thanks to Christian Franke for finding this bug.
10248
add6f17a 102492008-09-25 Robert Millan <rmh@aybabtu.com>
10250
10251 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
10252 instances of grub_util_get_disk_name() (see previous commit).
10253
d2a367b8 102542008-09-25 Robert Millan <rmh@aybabtu.com>
10255
10256 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
10257 `util/i386/get_disk_name.c'.
10258 * conf/i386-efi.rmk: Likewise.
10259 * conf/x86_64-efi.rmk: Likewise.
10260 * conf/i386-coreboot.rmk: Likewise.
10261 * conf/i386-ieee1275.rmk: Likewise.
10262 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
10263 `util/ieee1275/get_disk_name.c'.
10264 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
10265 * util/ieee1275/get_disk_name.c: Remove file.
10266 * util/i386/get_disk_name.c: Remove file.
10267 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
10268 "hd%d" for device.map entries, rather than using
10269 grub_util_get_disk_name().
10270
81a06771 102712008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 10272
10273 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
10274 warning.
10275 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
10276
5a004279 102772008-09-24 Carles Pina i Estany <carles@pina.cat>
10278
10279 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
10280 Changed to 0x5100.
10281 (GRUB_TERM_PPAGE): Changed to 0x4900.
10282
397093d3 102832008-09-24 Robert Millan <rmh@aybabtu.com>
10284
10285 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
10286 macros (they were i386-pc specific).
10287 * include/grub/sparc64/ieee1275/console.h: Likewise.
10288 * include/grub/efi/console.h: Likewise.
10289
a91b6c7c 102902008-09-22 Bean <bean123ch@gmail.com>
10291
10292 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
10293 resident and in attribute list.
10294
10295 * include/grub/ntfs.h (BMP_LEN): Removed.
10296
c40fd116 102972008-09-22 Bean <bean123ch@gmail.com>
10298
81a06771 10299 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 10300 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
10301
10302 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
10303 error occurs, as grub_disk_open will call grub_disk_close, which will
10304 call p->close (scsi).
10305
81a06771 103062008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 10307
10308 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
10309 (AC_PREREQ): Bumped to 2.59.
10310 (AC_TRY_COMPILE): Replace obsolete macro with ...
10311 (AC_COMPILE_IFELSE): ... this.
10312 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
10313 (AC_LINK_IFELSE): ... this.
10314
5dc43410 103152008-09-21 Felix Zielcke <fzielcke@z-51.de>
10316
10317 * autogen.sh: Add a call to `gendistlist.sh'.
10318
9035dce4 103192008-09-19 Christian Franke <franke@computer.org>
10320
10321 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
10322 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
10323 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
10324 Export __enable_execute_stack() to modules.
10325 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
10326 New function.
10327
7fd75377 103282008-09-09 Felix Zielcke <fzielcke@z-51.de>
10329
040030b3 10330 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
10331 Sort the list.
10332
103332008-09-09 Felix Zielcke <fzielcke@z-51.de>
10334
10335 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 10336 #include <grub/util/hostdisk.h>.
10337
89d5ffcf 103382008-09-08 Robert Millan <rmh@aybabtu.com>
10339
10340 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
10341 segments when their filesz is zero (grub_file_read() interprets
81a06771 10342 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 10343 Use `lowest_segment' rather than 0 for calculating the current
10344 segment load address.
10345
40da438f 103462008-09-08 Robert Millan <rmh@aybabtu.com>
10347
10348 * util/hostdisk.c (open_device): Replace a grub_util_info() call
10349 with grub_dprintf("hostdisk", ...), as it was so verbose that it
10350 clobbered useful information.
10351
ddbf5556 103522008-09-08 Robert Millan <rmh@aybabtu.com>
10353
10354 * include/grub/util/biosdisk.h: Move to ...
10355 * include/grub/util/hostdisk.h: ... here. Update all users.
10356 * util/biosdisk.c: Move to ...
10357 * util/hostdisk.c: ... here. Update all users.
10358
783d0f48 103592008-09-07 Robert Millan <rmh@aybabtu.com>
10360
10361 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
10362 variables.
10363 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
10364 and length can be stored directly in the `mbi->mmap_addr' and
10365 `mbi->mmap_length' struct fields.
10366
548e2ea5 103672008-09-07 Robert Millan <rmh@aybabtu.com>
10368
10369 * conf/i386.rmk: New file. Provides declaration for building
10370 `cpuid.mod'.
10371 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
10372 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
10373 variables.
10374 Include `conf/i386.mk'.
10375 * conf/i386-efi.rmk: Likewise.
10376 * conf/x86_64-efi.rmk: Likewise.
10377 * conf/i386-coreboot.rmk: Likewise.
10378 * conf/i386-ieee1275.rmk: Likewise.
10379
0ea85a37 103802008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
10381
10382 Based on patch created by Colin D Bennett <colin@gibibit.com>.
10383 Adds optimization support for BGR based modes.
10384
10385 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
10386 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10388 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10389 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10390 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10391 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10393 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10394 (grub_video_i386_vbeblit_index_index): Likewise.
10395 (grub_video_i386_vbeblit_replace_directN): Added.
10396 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10397 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10398 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10399 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10400 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10401 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 10402 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 10403 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10404 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10405 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10406 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10407 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10408 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
10409
10410 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
10411 (grub_video_i386_vbefill_R8G8B8): Likewise.
10412 (grub_video_i386_vbefill_index): Likewise.
10413 (grub_video_i386_vbefill_direct32): Added.
10414 (grub_video_i386_vbefill_direct24): Likewise.
10415 (grub_video_i386_vbefill_direct16): Likewise.
10416 (grub_video_i386_vbefill_direct8): Likewise.
10417
81a06771 10418 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 10419 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
10420 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
10421 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
10422 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
10423 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 10424
0ea85a37 10425 * video/video.c (grub_video_get_blit_format): Updated to use new
10426 blit formats. Added handling for 16 bit color modes.
81a06771 10427
10428 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 10429 fillers.
10430 (common_blitter): Updated to use new blitters.
10431
10432 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
10433 Removed.
10434 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10436 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10437 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10438 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10439 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10440 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10441 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10442 (grub_video_i386_vbeblit_index_index): Likewise.
10443 (grub_video_i386_vbeblit_replace_directN): Added.
10444 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10445 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10446 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10447 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10448 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10449 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
10450 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
10451 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10452 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10453 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10454 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10455 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10456 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 10457
0ea85a37 10458 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
10459 (grub_video_i386_vbefill_R8G8B8): Likewise.
10460 (grub_video_i386_vbefill_index): Likewise.
10461 (grub_video_i386_vbefill_direct32): Added.
10462 (grub_video_i386_vbefill_direct24): Likewise.
10463 (grub_video_i386_vbefill_direct16): Likewise.
10464 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 10465
0ea85a37 10466 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
10467 types.
81a06771 10468
0ea85a37 10469 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
10470 types.
81a06771 10471
0ea85a37 10472 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
10473 blitter types.
81a06771 10474
0ea85a37 10475 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
10476 types.
10477
e8a83df6 104782008-09-06 Felix Zielcke <fzielcke@z-51.de>
10479
10480 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
10481 RAID level 1.
10482
6bcd8ee5 104832008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 10484
6bcd8ee5 10485 * fs/iso9660.c (grub_iso9660_date): New structure.
10486 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
10487 (grub_iso9660_uuid): New function.
c375ae58 10488
59261157 104892008-09-05 Bean <bean123ch@gmail.com>
10490
10491 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
10492
10493 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
10494 insensitive bit for names in Win32 and Win32 & DOS namespace.
10495
10496 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
10497
10498 * include/grub/types.h (LONG_MAX): Likewise.
10499
58b6645a 105002008-09-04 Felix Zielcke <fzielcke@z-51.de>
10501
4ee55921 10502 * util/getroot.c: Include <config.h>.
10503 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
10504 add support for /dev/md/N devices and handle LVM double dash escaping.
10505
105062008-09-04 Felix Zielcke <fzielcke@z-51.de>
10507
10508 * config.guess: Update to latest version from config git.
10509 * config.sub: Likewise.
58b6645a 10510
9124f65d 105112008-09-03 Robert Millan <rmh@aybabtu.com>
10512
10513 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
10514 `disk->total_sectors'.
10515
81a06771 105162008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 10517
10518 * include/grub/normal.h: Fixed incorrect comment for
10519 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
10520
81a06771 105212008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 10522
10523 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
10524 values with defines.
10525
10526 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
10527 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
10528 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
10529 (GRUB_VBE_MODEATTR_COLOR): Likewise.
10530 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
10531 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
10532 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
10533 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
10534 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
10535 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
10536 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
10537 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
10538 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
10539 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
10540 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
10541 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
10542 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
10543 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
10544 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
10545
93d5cbf8 105462008-08-31 Robert Millan <rmh@aybabtu.com>
10547
10548 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
10549 declaration.
10550 (grub_multiboot): Fix a few warnings.
10551
21751d50 105522008-08-31 Robert Millan <rmh@aybabtu.com>
10553
10554 * loader/i386/pc/multiboot.c: Update comment not to say that
10555 boot_device support is unimplemented.
10556
e27a75c5 105572008-08-31 Robert Millan <rmh@aybabtu.com>
10558
10559 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
10560 or memory map support are unimplemented.
10561
81a06771 105622008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 10563
10564 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
10565
81a06771 105662008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 10567
10568 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
10569 total video memory in 'vbeinfo' output; show color format details for
10570 each video mode.
10571
7c5d8d95 105722008-08-30 Pavel Roskin <proski@gnu.org>
10573
10574 * util/genmoddep.c: Remove for real this time.
10575 * DISTLIST: Remove util/genmoddep.c.
10576
4cebd25a 105772008-08-30 Robert Millan <rmh@aybabtu.com>
10578
10579 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
10580 as required by Multiboot spec (it was already 4-byte aligned, but
10581 only by chance).
10582
b497a269 105832008-08-29 Pavel Roskin <proski@gnu.org>
10584
e3925185 10585 * kern/powerpc/ieee1275/crt0.S: Rename to ...
10586 * kern/powerpc/ieee1275/startup.S: ... this.
10587 * conf/powerpc-ieee1275.rmk: Adjust for the above.
10588 * DISTLIST: Likewise.
10589
b497a269 10590 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
10591 grub/cpu/kernel.h. Add start label for consistency with other
10592 platforms. Add grub_prefix immediately after start. Add jump
10593 to the code after grub_prefix.
10594 * include/grub/powerpc/kernel.h: Provide valid values for
10595 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
10596
6e5a42fe 105972008-08-29 Bean <bean123ch@gmail.com>
10598
10599 * configure.ac: Change host_os to cygwin for mingw.
10600 (asprintf): New check for function.
10601
10602 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
10603 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
10604
10605 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 10606 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 10607 sync, sleep and grub_util_get_disk_size for mingw.
10608
10609 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
10610 to get size in mingw.
10611 (open_device): Use flag O_BINARY if it's defined.
10612 (find_root_device): Add dummy code for mingw.
10613
10614 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
10615 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
10616 (get_scsi_disk_name): Return 0 for mingw.
10617
10618 * util/hostfs.c: #include <grub/util/misc.h>.
10619 (grub_hostfs_open): Use "rb" flag to open file, use
10620 grub_util_get_disk_size to get disk size for mingw.
10621
10622 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
10623 (asprintf): New function if HAVE_ASPRINTF is not set.
10624 (sync): New function for mingw.
10625 (sleep): Likewise.
10626 (grub_util_get_disk_size): Likewise.
10627
ab3f2673 106282008-08-28 Pavel Roskin <proski@gnu.org>
10629
10630 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10631 kern/time.c.
10632
1c282483 106332008-08-28 Robert Millan <rmh@aybabtu.com>
10634
10635 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
10636
678e849c 106372008-08-28 Robert Millan <rmh@aybabtu.com>
10638
10639 Change find_grub_drive() syntax so it doesn't prevent it from
10640 detecting NULL names as errors.
10641
10642 * util/biosdisk.c (find_grub_drive): Move free slot search code
10643 from here ...
10644 (find_free_slot): ... to here.
10645 (read_device_map): Use find_free_slot() to search for free slots.
10646
965c75ca 106472008-08-27 Marco Gerards <marco@gnu.org>
10648
10649 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
10650 (scsi_mod_SOURCES): New variable.
10651 (scsi_mod_CFLAGS): Likewise
10652 (scsi_mod_LDFLAGS): Likewise.
10653
10654 * disk/scsi.c: New file.
10655
10656 * include/grub/scsi.h: Likewise.
10657
10658 * include/grub/scsicmd.h: Likewise.
10659
10660 * disk/ata.c: Include <grub/scsi.h>.
10661 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
10662 instead.
10663 (grub_ata_iterate): Skip ATAPI devices.
10664 (grub_ata_open): Only handle ATAPI devices.
10665 (struct grub_atapi_read): Removed.
10666 (grub_atapi_readsector): Likewise.
10667 (grub_ata_read): No longer handle ATAPI devices.
10668 (grub_ata_write): Likewise.
10669 (grub_atapi_iterate): New function.
10670 (grub_atapi_read): Likewise.
10671 (grub_atapi_write): Likewise.
10672 (grub_atapi_open): Likewise.
10673 (grub_atapi_close): Likewise.
10674 (grub_atapi_dev): New variable.
10675 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
10676 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
10677
10678 * include/grub/disk.h (enum grub_disk_dev_id): Add
10679 `GRUB_DISK_DEVICE_SCSI_ID'.
10680
c07ae501 106812008-08-26 Robert Millan <rmh@aybabtu.com>
10682
10683 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
10684 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
10685 descriptive.
10686
5ed20adc 106872008-08-23 Bean <bean123ch@gmail.com>
10688
10689 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
10690 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10691 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
10692 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
10693 dm_nv.mod.
10694 (raid5rec_mod_SOURCES): New macro.
10695 (raid5rec_mod_CFLAGS): Likewise.
10696 (raid5rec_mod_LDFLAGS): Likewise.
10697 (raid6rec_mod_SOURCES): Likewise.
10698 (raid6rec_mod_CFLAGS): Likewise.
10699 (raid6rec_mod_LDFLAGS): Likewise.
10700 (mdraid_mod_SOURCES): Likewise.
10701 (mdraid_mod_CFLAGS): Likewise.
10702 (mdraid_mod_LDFLAGS): Likewise.
10703 (dm_nv_mod_SOURCES): Likewise.
10704 (dm_nv_mod_CFLAGS): Likewise.
10705 (dm_nv_mod_LDFLAGS): Likewise.
10706
10707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
10708 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10709 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10710
10711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
10712 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10713
10714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10715
10716 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10717
10718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10719
10720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10721
10722 * disk/raid5_recover.c: New file.
10723
10724 * disk/raid6_recover.c: Likewise.
10725
10726 * disk/mdraid_linux.c: Likewise.
10727
10728 * disk/dmraid_nvidia.c: Likewise.
10729
10730 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
10731 ULONG_MAX.
10732
10733 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
10734 calculate the size of raid device.
10735 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
10736 different layout of raid5.
10737 (grub_raid_scan_device): Remove code specific to mdraid.
10738 (grub_raid_list): New variable.
10739 (free_array): New function.
10740 (grub_raid_register): Likewise.
10741 (grub_raid_unregister): Likewise.
10742 (grub_raid_rescan): Likewise.
10743 (GRUB_MOD_INIT): Don't iterate device here.
10744 (GRUB_MOD_FINI): Use free_array to release resource.
10745
10746 * include/grub/raid.h: Remove macro and structure specific to mdraid.
10747 (grub_raid5_recover_func_t): New function variable type.
10748 (grub_raid6_recover_func_t): Likewise.
10749 (grub_raid5_recover_func): New variable.
10750 (grub_raid6_recover_func): Likewise.
10751 (grub_raid_register): New function.
10752 (grub_raid_unregister): Likewise.
10753 (grub_raid_rescan): Likewise.
10754 (grub_raid_block_xor): Likewise.
10755
10756 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
10757 (CMD_CRC): New macro.
10758 (part): Removed.
10759 (read_file): Handle device as well as file.
10760 (cmd_crc): New function.
10761 (fstest): Handle multiple disks.
10762 (options): Remove part, raw and long, add root and diskcount.
10763 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 10764 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 10765 add handling for the new options, support multiple disks.
10766
10767 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
10768
29c18915 107692008-08-23 Bean <bean123ch@gmail.com>
10770
10771 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
10772
10773 * genfslist.sh: Ignore kernel.mod.
10774
10775 * genpartmaplist.sh: Likewise.
10776
8415f261 107772008-08-23 Robert Millan <rmh@aybabtu.com>
10778
10779 * util/getroot.c (find_root_device): Skip anything that starts with
10780 a dot, not just directories. This avoids things like /dev/.tmp.md0.
10781
d5a7dc5b 107822008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 10783
d5a7dc5b 10784 * util/update-grub.in (GRUB_GFXMODE): Export variable.
10785 * util/grub.d/00_header.in: Allow the administrator to change default
10786 gfxmode via ${GRUB_GFXMODE}.
10787
380cfbb4 107882008-08-21 Felix Zielcke <fzielcke@z-51.de>
10789
10790 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
10791
c9baafe7 107922008-08-21 Robert Millan <rmh@aybabtu.com>
10793
10794 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
10795 loader.
10796 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
10797 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
10798
e290bef2 107992008-08-20 Carles Pina i Estany <carles@pina.cat>
10800
10801 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
10802 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
10803
f9dbfc96 108042008-08-19 Robert Millan <rmh@aybabtu.com>
10805
10806 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
10807 (struct grub_virtual_screen): Remove `cursor_color'.
10808 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
10809 initialization.
10810 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
10811
dd6bd6ab 108122008-08-18 Robert Millan <rmh@aybabtu.com>
10813
10814 Unify (identical) linux_normal.c files.
10815 * loader/i386/efi/linux_normal.c: Move from here ...
10816 * loader/linux_normal.c: ... to here. Update all users.
10817 * loader/i386/pc/linux_normal.c: Delete. Update all users.
10818 * loader/i386/ieee1275/linux_normal.c: Likewise.
10819
7f42f83e 108202008-08-18 Robert Millan <rmh@aybabtu.com>
10821
10822 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
10823 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
10824 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
10825 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
10826 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
10827 New macros.
10828 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
10829 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
10830 (GRUB_LINUX_CL_END_OFFSET): ... to here.
10831 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
10832 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
10833 (GRUB_EFI_CL_END_OFFSET): Rename to ...
10834 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
10835 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
10836 Initialize `params->video_cursor_x' and `params->video_cursor_y'
10837 portably using grub_getxy().
10838 Replace `-EFI' with `-bzImage' in boot message.
10839
38487ddb 108402008-08-17 Robert Millan <rmh@aybabtu.com>
10841
10842 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
10843
deceb3ec 108442008-08-17 Robert Millan <rmh@aybabtu.com>
10845
10846 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
10847
10848 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
10849 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
10850 (grub_machine_mmap_iterate): New function declaration.
10851 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
10852 structure.
10853 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
10854 macros.
10855
10856 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
10857 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
10858 Move e820 parsing from here ...
10859 * kern/i386/pc/mmap.c: New file.
10860 (grub_machine_mmap_iterate): ... to here.
10861
10862 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
10863 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
10864 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
10865 (grub_available_iterate): Redeclare to return `void', and redeclare
10866 its hook to use grub_uint64_t as addr and size parameters, and rename
10867 to ...
10868 (grub_machine_mmap_iterate): ... this. Update all users.
10869
10870 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
10871 to make it more readable. Rename to ...
10872 (grub_machine_mmap_iterate): ... this.
10873
10874 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
10875 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
10876 (grub_multiboot): Allocate an extra region after the payload, and fill
10877 it with a Multiboot memory map. Adjust a.out loader to calculate size
10878 with the extra space.
10879 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
10880 with the extra space.
10881
f8aa0f43 108822008-08-17 Carles Pina i Estany <carles@pina.cat>
10883
9807deb9 10884 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 10885
605f5bb6 108862008-08-17 Felix Zielcke <fzielcke@z-51.de>
10887
10888 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
10889 mdate-sh to the list `find' searches for.
10890 * DISTLIST: Regenerated.
10891
210db6c6 108922008-08-16 Felix Zielcke <fzielcke@z-51.de>
10893
10894 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
10895 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 10896 genmoddep.awk, gensymlist.sh.in.
10897 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 10898 * DISTLIST: Regenerated.
48cdbfd4 10899 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 10900
1082b929 109012008-08-16 Robert Millan <rmh@aybabtu.com>
10902
10903 * disk/raid.c (grub_raid_init): Handle/report errors set by
10904 grub_device_iterate().
10905 * disk/lvm.c (grub_lvm_init): Likewise.
10906
42ce5170 109072008-08-15 Bean <bean123ch@gmail.com>
10908
10909 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10910 and datehook.mod.
10911 (datetime_mod_SOURCES): New macro.
10912 (datetime_mod_CFLAGS): Likewise.
10913 (datetime_mod_LDFLAGS): Likewise.
10914 (date_mod_SOURCES): Likewise.
10915 (date_mod_CFLAGS): Likewise.
10916 (date_mod_LDFLAGS): Likewise.
10917 (datehook_mod_SOURCES): Likewise.
10918 (datehook_mod_CFLAGS): Likewise.
10919 (datehook_mod_LDFLAGS): Likewise.
10920
10921 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10922 and datehook.mod.
10923 (datetime_mod_SOURCES): New macro.
10924 (datetime_mod_CFLAGS): Likewise.
10925 (datetime_mod_LDFLAGS): Likewise.
10926 (date_mod_SOURCES): Likewise.
10927 (date_mod_CFLAGS): Likewise.
10928 (date_mod_LDFLAGS): Likewise.
10929 (datehook_mod_SOURCES): Likewise.
10930 (datehook_mod_CFLAGS): Likewise.
10931 (datehook_mod_LDFLAGS): Likewise.
10932
10933 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10934 and datehook.mod.
10935 (datetime_mod_SOURCES): New macro.
10936 (datetime_mod_CFLAGS): Likewise.
10937 (datetime_mod_LDFLAGS): Likewise.
10938 (date_mod_SOURCES): Likewise.
10939 (date_mod_CFLAGS): Likewise.
10940 (date_mod_LDFLAGS): Likewise.
10941 (datehook_mod_SOURCES): Likewise.
10942 (datehook_mod_CFLAGS): Likewise.
10943 (datehook_mod_LDFLAGS): Likewise.
10944
10945 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10946 and datehook.mod.
10947 (datetime_mod_SOURCES): New macro.
10948 (datetime_mod_CFLAGS): Likewise.
10949 (datetime_mod_LDFLAGS): Likewise.
10950 (date_mod_SOURCES): Likewise.
10951 (date_mod_CFLAGS): Likewise.
10952 (date_mod_LDFLAGS): Likewise.
10953 (datehook_mod_SOURCES): Likewise.
10954 (datehook_mod_CFLAGS): Likewise.
10955 (datehook_mod_LDFLAGS): Likewise.
10956
10957 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10958 and datehook.mod.
10959 (datetime_mod_SOURCES): New macro.
10960 (datetime_mod_CFLAGS): Likewise.
10961 (datetime_mod_LDFLAGS): Likewise.
10962 (date_mod_SOURCES): Likewise.
10963 (date_mod_CFLAGS): Likewise.
10964 (date_mod_LDFLAGS): Likewise.
10965 (datehook_mod_SOURCES): Likewise.
10966 (datehook_mod_CFLAGS): Likewise.
10967 (datehook_mod_LDFLAGS): Likewise.
10968
10969 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10970
10971 * commands/date.c: New file.
10972
10973 * hook/datehook.c: Likewise.
10974
10975 * include/grub/lib/datetime.h: Likewise.
10976
10977 * include/grub/i386/cmos.h: Likewise.
10978
10979 * lib/datetime.c: Likewise.
10980
10981 * lib/i386/datetime.c: Likewise.
10982
10983 * lib/efi/datetime.c: Likewise.
10984
0e9242da 109852008-08-14 Robert Millan <rmh@aybabtu.com>
10986
10987 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10988 (grub_mkelfimage_SOURCES): New variable.
10989 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10990
10991 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10992 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10993 * conf/powerpc-ieee1275.rmk: Likewise.
10994 * conf/i386-ieee1275.rmk: Likewise.
10995
10996 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
10997 * kern/i386/coreboot/init.c: Likewise.
10998
10999 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
11000 with `<grub/cpu/kernel.h>'.
11001 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
11002 to ...
11003 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
11004 * kern/i386/coreboot/startup.S: Likewise.
11005
11006 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
11007 (GRUB_MOD_GAP): Remove.
11008 * include/grub/powerpc/kernel.h: New file.
11009 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
11010 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11011 * include/grub/i386/kernel.h: New file.
11012 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
11013 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
11014 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11015
11016 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11017 `grub-mkelfimage'.
11018 Use --directory when invoking grub_mkimage.
11019
11020 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11021 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11022 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11023 and GRUB_KERNEL_CPU_PREFIX.
11024
b86408f8 110252008-08-14 Felix Zielcke <fzielcke@z-51.de>
11026
d5e619ca 11027 * include/grub/err.h (grub_err_printf): New function prototype.
11028 * util/misc.c (grub_err_printf): New function.
11029 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11030 grub_printf.
11031 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11032
7161f0e0 110332008-08-13 Robert Millan <rmh@aybabtu.com>
11034
11035 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11036
a1967522 110372008-08-13 Robert Millan <rmh@aybabtu.com>
11038
11039 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11040 boot entry.
11041
371458b5 110422008-08-12 Robert Millan <rmh@aybabtu.com>
11043
11044 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11045 of the relocation code from here ...
11046 (grub_multiboot): ... to here.
11047 (forward_relocator, backward_relocator): Move from here ...
11048 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11049 (grub_multiboot_backward_relocator): ... to here.
11050 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11051 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11052 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11053 (grub_multiboot_forward_relocator_end)
11054 (grub_multiboot_backward_relocator)
11055 (grub_multiboot_backward_relocator_end): New variables.
11056
05f9452b 110572008-08-12 Bean <bean123ch@gmail.com>
11058
11059 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11060
20024ab0 110612008-08-11 Robert Millan <rmh@aybabtu.com>
11062
11063 * kern/i386/linuxbios/startup.S: Move from here ...
11064 * kern/i386/coreboot/startup.S: ... to here.
11065
11066 * kern/i386/linuxbios/init.c: Move from here ...
11067 * kern/i386/coreboot/init.c: ... to here.
11068
11069 * kern/i386/linuxbios/table.c: Move from here ...
11070 * kern/i386/coreboot/mmap.c: ... to here.
11071
11072 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11073
e352e9cd 110742008-08-11 Robert Millan <rmh@aybabtu.com>
11075
11076 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11077 errors. Leave it to the upper layer to handle them.
11078
2d05bc6a 110792008-08-09 Christian Franke <franke@computer.org>
11080
11081 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11082 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11083 Install `grub.d/10_windows' only on Cygwin.
11084 * configure.ac: Add subst of `target_os'.
11085 Check `target_os' also before setting TARGET_OBJ2ELF.
11086 Add `--enable-grub-pe2elf'.
11087
042bd419 110882008-08-08 Robert Millan <rmh@aybabtu.com>
11089
11090 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11091 (grub_last_time): Change type to grub_uint64_t.
11092 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11093 (grub_disk_close): Likewise.
11094
11095 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11096 (run_menu): Migrate code from to using grub_get_time_ms().
11097
11098 * util/misc.c (grub_get_time_ms): New function.
11099
7f280db5 111002008-08-08 Marco Gerards <marco@gnu.org>
11101
11102 * disk/ata.c (grub_ata_regget): Change return type to
11103 `grub_uint8_t'.
11104 (grub_ata_regget2): Likewise.
11105 (grub_ata_wait_status): New function.
11106 (grub_ata_wait_busy): Removed function, updated all users to use
11107 `grub_ata_wait_status'.
11108 (grub_ata_wait_drq): Likewise.
11109 (grub_ata_cmd): New function.
11110 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
11111 error handling.
11112 (grub_ata_pio_write): Add error handling.
11113 (grub_atapi_identify): Likewise.
11114 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
11115 handling.
11116 (grub_ata_identify): Use `grub_ata_cmd' and improve error
11117 handling. Actually use the detected registers. Reorder the
11118 detection logic such that it is easier to read.
11119 (grub_ata_pciinit): Do not assign the same ID to each controller.
11120 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
11121 handling.
11122 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
11123
11124 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
11125
1fbc5e66 111262008-08-08 Marco Gerards <marco@gnu.org>
11127
11128 * NEWS: Update.
11129
819ce6c0 111302008-08-07 Bean <bean123ch@gmail.com>
11131
11132 * include/grub/x86_64/pci.h: New file.
11133
5c41d44d 111342008-08-07 Christian Franke <franke@computer.org>
11135
11136 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
11137 (TIMER2_GATE): Likewise.
11138 (grub_pit_wait): Add enable/disable of the timer2 gate
11139 bit of port 0x61. This fixes a possible infinite loop.
11140
5ebc275d 111412008-08-07 Bean <bean123ch@gmail.com>
11142
11143 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
11144 kern/i386/tsc.c and kern/i386/pit.c.
11145
11146 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
11147 x86_64 platform.
11148
11149 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
11150 <grub/i386/tsc.h>.
11151
11152 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
11153
e383b3d0 111542008-08-07 Bean <bean123ch@gmail.com>
11155
11156 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
11157
11158 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
11159
11160 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
11161 multiple inclusion. Add #include <grub/types.h>.
11162
1cbb58ac 111632008-08-06 Christian Franke <franke@computer.org>
11164
11165 * conf/common.rmk: Build and install `10_windows'.
11166 * util/grub.d/10_windows.in: New script.
11167
337f5a1e 111682008-08-06 Pavel Roskin <proski@gnu.org>
11169
11170 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
11171
057bc4ac 111722008-08-06 Robert Millan <rmh@aybabtu.com>
11173
11174 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
11175 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
11176
2b99f123 111772008-08-06 Bean <bean123ch@gmail.com>
11178
11179 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
11180 (grub_pxefs_fs_int): Remove dummy definition.
11181 (grub_pxefs_open): Use data->block_size to store the current block
11182 size setting.
11183 (grub_pxefs_read): Use block size stored in data->block_size. As the
11184 value of grub_pxe_blksize can be changed after the file is opened.
11185
9f0234cb 111862008-08-06 Bean <bean123ch@gmail.com>
11187
11188 * fs/i386/pc/pxe.c (curr_file): new variable.
11189 (grub_pxefs_open): Simply the handling of pxe file system. Don't
11190 require the dummy internal file system anymore.
11191 (grub_pxefs_read): Removed.
11192 (grub_pxefs_close): Likewise.
11193 (grub_pxefs_fs_int): Likewise.
11194 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
11195 connection when we switch file.
11196 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
11197
a55d42e0 111982008-08-06 Robert Millan <rmh@aybabtu.com>
11199
11200 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
11201 `halt.mod'.
11202 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
11203 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
11204
11205 * kern/i386/halt.c: New file.
11206 * kern/i386/reboot.c: Likewise.
11207 * include/grub/i386/reboot.h: Likewise.
11208 * include/grub/i386/halt.h: Likewise.
11209
11210 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
11211 Include `<grub/cpu/halt.h>'.
11212 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
11213 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
11214
11215 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
11216 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
11217 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
11218 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
11219 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
11220 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
11221 from here ...
11222 * include/grub/i386/at_keyboard.h: ... to here.
11223
24371d26 112242008-08-05 Robert Millan <rmh@aybabtu.com>
11225
11226 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
11227 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
11228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
11229 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11230 `kern/generic/millisleep.c'.
11231
11232 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
11233 instead of grub_get_rtc().
11234 (grub_tsc_init): Initialize `tsc_boot_time'.
11235
11236 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
11237 (grub_machine_init): Use grub_tsc_init() rather than
11238 installing an RTC-based handler via grub_install_get_time_ms().
11239
11240 * kern/i386/pit.c: New file.
11241 * include/grub/i386/pit.h: Likewise.
11242
9e7007b3 112432008-08-05 Bean <bean123ch@gmail.com>
11244
11245 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
11246
11247 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
11248 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
11249 (pxe_mod_SOURCES): New macro.
11250 (pxe_mod_CFLAGS): Likewise.
11251 (pxe_mod_LDFLAGS): Likewise.
11252 (pxecmd_mod_SOURCES): Likewise.
11253 (pxecmd_mod_CFLAGS): Likewise.
11254 (pxecmd_mod_LDFLAGS): Likewise.
11255
11256 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
11257 (grub_pxe_call): Likewise.
11258
11259 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
11260
11261 * commands/i386/pc/pxecmd.c: New file.
11262
9f0234cb 11263 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 11264
11265 * include/grub/i386/pc/pxe.h: Likewise.
11266
6977d49f 112672008-08-05 Bean <bean123ch@gmail.com>
11268
11269 * util/console.c (grub_console_cur_color): New variable.
11270 (grub_console_standard_color): Likewise.
11271 (grub_console_normal_color): Likewise.
11272 (grub_console_highlight_color): Likewise.
11273 (color_map): Likewise.
11274 (use_color): Likewise.
11275 (NUM_COLORS): New macro.
11276 (grub_ncurses_setcolorstate): Handle color properly.
11277 (grub_ncurses_setcolor): Don't change color here, just remember the
11278 settings, color will be set in grub_ncurses_setcolorstate.
11279 (grub_ncurses_getcolor): New function.
11280 (grub_ncurses_init): Initialize color pairs.
11281 (grub_ncurses_term): New member grub_ncurses_getcolor.
11282
9c2ff3ee 112832008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 11284
9c2ff3ee 11285 High resolution timer support. Implemented for x86 CPUs using TSC.
11286 Extracted generic grub_millisleep() so it's linked in only as needed.
11287 This requires a Pentium compatible CPU; if the RDTSC instruction is
11288 not supported, then it falls back on the generic grub_get_time_ms()
11289 implementation that uses the machine's RTC.
11290
11291 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
11292 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11293 `kern/generic/millisleep.c'.
11294
11295 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
11296 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
11297
11298 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
11299 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
11300
11301 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11302
11303 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11304 `kern/generic/millisleep.c'.
11305
11306 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11307
11308 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
11309
11310 * kern/generic/rtc_get_time_ms.c: New file.
11311
11312 * kern/generic/millisleep.c: New file.
337f5a1e 11313
9c2ff3ee 11314 * kern/misc.c: Don't include
11315 <kern/time.h> anymore.
11316 (grub_millisleep_generic): Removed.
11317
11318 * commands/sleep.c (grub_interruptible_millisleep): Uses
11319 grub_get_time_ms() instead of grub_get_rtc().
11320
11321 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
11322 function.
11323 (grub_cpu_is_cpuid_supported): New inline function.
11324 (grub_cpu_is_tsc_supported): New inline function.
11325 (grub_tsc_init): New function prototype.
11326 (grub_tsc_get_time_ms): New function prototype.
11327
11328 * kern/i386/tsc.c (grub_get_time_ms): New file.
11329
11330 * include/grub/time.h: Include <grub/types.h.
11331 (grub_millisleep_generic): Removed.
11332 (grub_get_time_ms): New prototype.
11333 (grub_install_get_time_ms): New prototype.
11334 (grub_rtc_get_time_ms): New prototype.
11335
11336 * kern/time.c (grub_get_time_ms): New function.
11337 (grub_install_get_time_ms): New function.
11338
11339 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
11340 <grub/time.h> anymore.
11341 (grub_millisleep): Removed.
11342 (grub_machine_init): Call grub_tsc_init.
11343
11344 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
11345 get_time_ms() implementation.
11346
11347 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
11348 (ieee1275_get_time_ms): New function.
11349 (grub_machine_init): Install get_time_ms() implementation.
11350
11351 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
11352 (grub_machine_init): Call grub_tsc_init().
11353 (grub_millisleep): Removed.
bf06a93f 11354
9c2ff3ee 11355 * kern/ieee1275/init.c (grub_millisleep): Removed.
11356 (grub_machine_init): Install ieee1275_get_time_ms()
11357 implementation.
11358 (ieee1275_get_time_ms): New function.
11359 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
11360 real work.
11361
9ec92aaf 113622008-08-05 Marco Gerards <marco@gnu.org>
11363
11364 * disk/ata.c: Include <grub/pci.h>.
11365 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
11366 (grub_ata_initialize): Rewritten.
11367 (grub_ata_device_initialize): New function.
11368
8d23f507 113692008-08-04 Pavel Roskin <proski@gnu.org>
11370
11371 * kern/main.c: Include grub/mm.h.
11372
5e15ee3d 113732008-08-04 Robert Millan <rmh@aybabtu.com>
11374
11375 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
11376 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
11377 corruption problem).
11378
a9053f8f 113792008-08-04 Robert Millan <rmh@aybabtu.com>
11380
11381 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
11382 warnings introduced in my last commit.
11383
dd19c7d7 113842008-08-03 Robert Millan <rmh@aybabtu.com>
11385
11386 Make PCI available on all i386 architectures.
11387
11388 * include/grub/i386/pc/pci.h: Move from here ...
11389 * include/grub/i386/pci.h: ... to here.
11390
11391 * include/grub/i386/pc/pci.h: Remove.
11392 * include/grub/i386/efi/pci.h: Remove.
11393 * include/grub/x86_64/efi/pci.h: Remove.
11394
11395 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
11396 `<grub/cpu/pci.h>'.
11397
11398 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
11399 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
11400 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
11401
11402 * conf/i386-ieee1275.rmk: Likewise.
11403
e14a6184 114042008-08-03 Robert Millan <rmh@aybabtu.com>
11405
11406 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
11407 (grub_console_setcursor): Make it possible to set cursor off.
11408
52768e37 114092008-08-03 Robert Millan <rmh@aybabtu.com>
11410
11411 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
11412 of modules instead of assuming which platform provides what.
11413 * util/update-grub.in: Likewise.
11414
2d52f57f 114152008-08-03 Robert Millan <rmh@aybabtu.com>
11416
11417 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
11418 instead of `grub_install_dos_part' to determine whether a drive needs
11419 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 11420 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 11421
2a5cd121 114222008-08-02 Robert Millan <rmh@aybabtu.com>
11423
11424 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
11425
93808428 114262008-08-02 Robert Millan <rmh@aybabtu.com>
11427
11428 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
11429 of informational grub_dprintf() calls.
11430
3bd0a12a 114312008-08-02 Robert Millan <rmh@aybabtu.com>
11432
11433 * disk/memdisk.c (memdisk_size): Don't initialize.
11434 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
11435
11436 * include/grub/i386/pc/kernel.h
11437 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
11438 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
11439 (grub_memdisk_image_size, grub_arch_memdisk_addr)
11440 (grub_arch_memdisk_size): Remove.
11441
11442 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
11443 field (was only used to transfer a constant). Add `type' field to
11444 support multiple module types.
11445 (grub_module_iterate): New function.
11446
11447 * kern/device.c (grub_device_open): Do not hide error messages
11448 when grub_disk_open() fails. Use grub_print_error() instead.
11449
11450 * kern/i386/pc/init.c (grub_arch_modules_addr)
11451 (grub_arch_memdisk_size): Remove functions.
11452 (grub_arch_modules_addr): Return the module address in high memory
11453 (now that it isn't copied anymore).
11454
11455 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
11456 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
11457 decompression routine (grub_total_module_size already includes that
11458 now). Don't copy modules back to low memory.
11459
11460 * kern/main.c: Include `<grub/mm.h>'.
11461 (grub_load_modules): Split out (and use) ...
11462 (grub_module_iterate): ... this function, which iterates through
11463 module objects and runs a hook.
11464 Comment out grub_mm_init_region() call, as it would cause non-ELF
11465 modules to be overwritten.
11466
11467 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
11468 the memdisk image in its own region, make it part of the module list.
11469 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
11470 (main): Parse --memdisk|-m option, and pass user-provided path as
11471 parameter to generate_image().
11472 (add_segments): Pass `memdisk_path' down to load_modules().
11473 (load_modules): Embed memdisk image in module section when requested.
11474 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
11475 `header.type' instead of `header.offset'.
11476
11477 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
11478 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
11479 (memdisk_mod_LDFLAGS): New variables.
11480 * conf/i386-coreboot.rmk: Likewise.
11481 * conf/i386-ieee1275.rmk: Likewise.
11482
a927cc73 114832008-08-02 Robert Millan <rmh@aybabtu.com>
11484
11485 * loader/i386/pc/multiboot.c (playground, forward_relocator)
11486 (backward_relocator): New variables. Used to allocate and relocate
11487 the payload, respectively.
11488 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 11489 address, install the appropriate relocator code in each bound of
a927cc73 11490 the payload, and set the entry point such that
11491 grub_multiboot_real_boot() will jump to one of them.
11492
11493 * kern/i386/loader.S (grub_multiboot_payload_size)
11494 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11495 (grub_multiboot_payload_entry_offset): New variables.
11496 (grub_multiboot_real_boot): Set cpu context to what the relocator
11497 expects, and jump to the relocator instead of the payload.
11498
11499 * include/grub/i386/loader.h (grub_multiboot_payload_size)
11500 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11501 (grub_multiboot_payload_entry_offset): Export.
11502
b15d8a0c 115032008-08-01 Bean <bean123ch@gmail.com>
11504
11505 * normal/menu_entry.c (editor_getline): Don't return the original
11506 string as result, as it will be released by lexer once it has done
11507 using it.
11508
cdfb3d22 115092008-08-01 Robert Millan <rmh@aybabtu.com>
11510
11511 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
11512 within menuentries, not before them.
11513 util/grub.d/10_hurd.in: Likewise.
11514
9175e93d 115152008-08-01 Bean <bean123ch@gmail.com>
11516
11517 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
11518 (bufio_mod_SOURCES): New macro.
11519 (bufio_mod_CFLAGS): Likewise.
11520 (bufio_mod_LDFLAGS): Likewise.
11521
11522 * include/grub/bufio.h: New file.
11523
11524 * io/bufio.c: Likewise.
11525
11526 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
11527 (grub_video_reader_png): Use grub_buffile_open to open file.
11528
11529 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
11530 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
11531
11532 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
11533 (grub_video_reader_tga): Use grub_buffile_open to open file.
11534
11535 * font/manager.c: Include <grub/bufio.h>.
11536 (add_font): Use grub_buffile_open to open file.
11537
3d8383e7 115382008-07-31 Robert Millan <rmh@aybabtu.com>
11539
11540 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
11541 ELF segments, use a macro for arbitrarily accessing any of them instead
11542 of preparing a pointer that allows access to one at a time.
11543 (grub_multiboot_load_elf64): Likewise.
11544
16e641b6 115452008-07-31 Bean <bean123ch@gmail.com>
11546
11547 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
11548 GRUB_KERNEL_MACHINE_DATA_END.
11549
59198b72 115502008-07-30 Robert Millan <rmh@aybabtu.com>
11551
11552 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
11553 Increase from 0x50 to 0x60.
11554 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
11555 use UUIDs to identify the root drive for them. If that's not
11556 possible, abort.
11557 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
11558 check, for cross-disk installs.
11559
ae88bca3 115602008-07-30 Robert Millan <rmh@aybabtu.com>
11561
11562 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
11563 is non-empty, use it to set the `prefix' environment variable instead
11564 of the usual approach.
11565 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
11566 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
11567 environment variable instead of dummy make_install_device().
11568
11569 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
11570 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 11571 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 11572
11573 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
11574 New variable reference.
11575 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
11576 New macro. Defines offset of `grub_prefix' within startup.S (relative
11577 to `start').
11578 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
11579 section within startup.S (relative to `start').
11580 * include/grub/i386/coreboot/kernel.h: Likewise.
11581
11582 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
11583 Overwrite grub_prefix with its contents, at the beginning of the
11584 first segment.
11585 (main): Understand -p|--prefix.
11586
14f41dd1 115872008-07-30 Robert Millan <rmh@aybabtu.com>
11588
11589 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
11590
4ca049a3 115912008-07-30 Robert Millan <rmh@aybabtu.com>
11592
11593 * term/i386/pc/vga_text.c (grub_console_cls): Use
11594 grub_console_gotoxy() to go back to beginning of the screen.
11595 Found by Patrick Georgi <patrick.georgi@coresystems.de>
11596
2921d337 115972008-07-29 Christian Franke <franke@computer.org>
11598
11599 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11600 Add conversion of emulated mount points on Cygwin.
11601
b609876d 116022008-07-29 Christian Franke <franke@computer.org>
11603
11604 * util/update-grub.in: Add a check for admin
11605 group on Cygwin.
11606 Remove old `grub.cfg.new' before creation.
11607 Add `-f' to `mv' to handle the different filesystem
11608 semantics of Windows.
11609
e93e4679 116102008-07-29 Bean <bean123ch@gmail.com>
11611
11612 * normal/main.c (get_line): Fix buffer overflow bug.
11613
41694fd0 116142008-07-28 Robert Millan <rmh@aybabtu.com>
11615
11616 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
11617 (struct grub_apple_header): New struct. Describes the layout of
11618 the partmap header.
11619 (apple_partition_map_iterate): Check the header magic as well as the
11620 partition magic (which was already being checked).
11621
cfd0b4e6 116222008-07-28 Pavel Roskin <proski@gnu.org>
11623
11624 * genmk.rb: Add a warning to the beginning of the output that
11625 it's a generated file and should not be edited.
11626
93cce016 116272008-07-28 Robert Millan <rmh@aybabtu.com>
11628
11629 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11630 with the same number are found, just use issue a warning with
11631 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 11632
cd1df915 116332008-07-27 Robert Millan <rmh@aybabtu.com>
11634
11635 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
11636 information.
11637
b70a8427 116382008-07-27 Bean <bean123ch@gmail.com>
11639
11640 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
11641 (grub_fat_find_dir): Ignore case when comparing filename.
11642
8f5e379f 116432008-07-27 Bean <bean123ch@gmail.com>
11644
11645 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
11646 smallino, as it's more descriptive, and i8count can be confused with
11647 the other field count.
11648 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
11649 inode type.
11650
a85cd5a0 116512008-07-27 Bean <bean123ch@gmail.com>
11652
11653 * commands/crc.c: New file.
11654
11655 * lib/crc.c: Likewise.
11656
11657 * include/grub/lib/crc.h: Likewise.
11658
11659 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
11660
11661 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
11662 (hexdump): Move this function to ...
11663
11664 * lib/hexdump.c: ... here.
11665
11666 * include/grub/hexdump.h: Renamed to ...
11667
11668 * include/grub/lib/hexdump.h: ... this.
11669
11670 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
11671
11672 * util/grub-editenv.c: Likewise.
11673
11674 * include/envblk.h: Renamed to ...
11675
11676 * include/lib/envblk.h: ... this.
11677
11678 * util/envblk.c: Renamed to ...
11679
11680 * lib/envblk.c: ... this.
11681
11682 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
11683 lib/hexdump.c.
11684 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
11685 (pkglib_MODULES): Add crc.mod.
11686 (hexdump_mod_SOURCES): Add lib/hexdump.c.
11687 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
11688 (crc_mod_SOURCES): New macro.
11689 (crc_mod_CFLAGS): Likewise.
11690 (crc_mod_LDFLAGS): Likewise.
11691
11692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
11693
11694 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11695
11696 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11697
11698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11699
11700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11701
c298def0 117022008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 11703
11704 * commands/help.c: Include <grub/term.h>.
11705 (TERM_WIDTH): Removed. Updated all users.
11706
cc349fb3 117072008-07-27 Pavel Roskin <proski@gnu.org>
11708
11709 * util/getroot.c (find_root_device): Rephrase a comment to avoid
11710 spurious warnings about a comment within a comment.
11711
9051607e 117122008-07-25 Robert Millan <rmh@aybabtu.com>
11713
11714 * util/getroot.c (find_root_device): Skip devices that match
11715 /dev/dm-[0-9]. This lets the real device be found for any type of
11716 abstraction (LVM, EVMS, RAID..).
11717 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
11718 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
11719 device is found first, find_root_device() will now skip it.
11720
01453bfc 117212008-07-24 Pavel Roskin <proski@gnu.org>
11722
11723 * include/grub/types.h: Use __builtin_bswap32() and
11724 __builtin_bswap64() with gcc 4.3 and newer.
11725
6af9849f 117262008-07-24 Christian Franke <franke@computer.org>
11727
3a0fa256 11728 * util/i386/pc/grub-install.in: If `--debug' is specified,
11729 pass `--verbose' to grub-setup.
11730 Abort script if make_system_path_relative_to_its_root() fails.
11731
7810e747 117322008-07-24 Bean <bean123ch@gmail.com>
11733
11734 * configure.ac: Fixed a bug caused by the previous cygwin patch,
11735 variable `target_platform' should be `platform'.
11736
42290e17 117372008-07-24 Bean <bean123ch@gmail.com>
11738
51cc5193 11739 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 11740 (grub_png_init_fixed_block): New function.
11741 (grub_png_decode_image_data): Handle fixed huffman code compression.
11742
2a8a80e4 117432008-07-24 Bean <bean123ch@gmail.com>
11744
11745 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
11746 (grub_pe2elf_SOURCES): New macro.
11747 (CLEANFILES): Add grub-pe2elf.
11748
11749 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
11750 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
11751 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
11752 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
11753 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
11754 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
11755 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
11756 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
11757 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
11758 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
11759 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
11760 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
11761 (GRUB_PE32_DT_FUNCTION): Likewise.
11762 (GRUB_PE32_REL_I386_DIR32): Likewise.
11763 (GRUB_PE32_REL_I386_REL32): Likewise.
11764 (grub_pe32_symbol): New structure.
11765 (grub_pe32_reloc): Likewise.
11766
11767 * util/grub-pe2elf.c: New file.
11768
11769 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
11770 start symbol in non pc platform.
11771
11772 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
11773
11774 The following patches are from Christian Franke.
11775
11776 * include/grub/dl.h: Remove .previous, gas supports this only
11777 for ELF format.
11778
11779 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
11780 Remove .type, gas supports this only for ELF format.
11781
11782 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
11783 nullbytes in symbol table. This fixes an infinite loop if table is
11784 zero filled.
11785
11786 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
11787 TARGET_IMG_LDFLAGS and EXEEXT.
11788
11789 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
11790 TARGET_IMG_LDFLAGS_AC.
11791 (grub_CHECK_STACK_ARG_PROBE): New function.
11792
11793 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
11794
11795 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
11796
11797 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
11798 to set TARGET_IMG_LD* accordingly.
11799 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
11800 Add call to grub_CHECK_STACK_ARG_PROBE.
11801 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
11802
11803 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
11804
11805 * genmk.rb: Add EXEEXT to CLEANFILES.
11806
12ccdb75 118072008-07-23 Robert Millan <rmh@aybabtu.com>
11808
11809 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
11810 define the codes for arrows and lines used for the menu).
11811 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
11812 as well.
11813
11814 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
11815 fonts, because the latter are too slow.
11816
18eeaf04 118172008-07-21 Bean <bean123ch@gmail.com>
11818
11819 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
11820 a20. Run keyboard test last, as it will cause macbook to halt.
11821
b095e2ad 118222008-07-18 Pavel Roskin <proski@gnu.org>
11823
11824 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
11825 load foreign architecture modules correctly anyway. Keep
11826 support for loading host architecture modules, whether we
11827 compile them or not.
11828
737feb35 118292008-07-17 Pavel Roskin <proski@gnu.org>
11830
3f4ce737 11831 * configure.ac: Use -m32 or -m64 regardless of whether we had to
11832 change target_cpu. The compiler default can mismatch target_cpu
11833 in any case.
11834
4ad2d049 11835 * disk/efi/efidisk.c: Fix format warnings on x86_64.
11836 * kern/efi/efi.c: Likewise.
11837
f6130a12 11838 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
11839 target compiler is functional.
11840 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
11841 are set up.
11842
58393a2d 11843 * configure.ac: Default to efi platform for x86_64-apple. Allow
11844 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
11845 adjustments from the rest, only do them if target is not
11846 explicitly given. Merge other adjustments with the final sanity
11847 check. Remove an extraneous check for supported CPU. Be
11848 specific which CPU and which platform is not supported.
11849
737feb35 11850 * configure.ac: Default to pc platform for x86_64.
11851
546f966a 118522008-07-17 Robert Millan <rmh@aybabtu.com>
11853
11854 Partial LinuxBIOS -> Coreboot rename.
11855
11856 * conf/i386-linuxbios.rmk: Renamed to ...
11857 * conf/i386-coreboot.rmk: ... this.
11858 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
11859 * configure.ac: Accept "coreboot" as input platform (but maintain
11860 compatibility with "linuxbios").
11861 * include/grub/i386/linuxbios: Renamed to ...
11862 * include/grub/i386/coreboot: ... this.
11863
20011694 118642008-07-17 Bean <bean123ch@gmail.com>
11865
11866 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 11867 (appleldr_mod_SOURCE): New variable.
20011694 11868 (appleldr_mod_CFLAGS): Likewise.
11869 (appleldr_mod_LDFLAGS): Likewise.
11870 (pci_mod_SOURCES): Likewise.
11871 (pci_mod_CFLAGS): Likewise.
11872 (pci_mod_LDFLAGS): Likewise.
11873 (lspci_mod_SOURCES): Likewise.
11874 (lspci_mod_CFLAGS): Likewise.
11875 (lspci_mod_LDFLAGS): Likewise.
11876
11877 * conf/x86_64-efi.rmk: New file.
11878
11879 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
11880 macro.
11881 (grub_efidisk_write): Likewise.
11882
11883 * include/efi/api.h (efi_call_0): New macro.
11884 (efi_call_1): Likewise.
11885 (efi_call_2): Likewise.
11886 (efi_call_3): Likewise.
11887 (efi_call_4): Likewise.
11888 (efi_call_5): Likewise.
11889 (efi_call_6): Likewise.
11890
11891 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
11892 grub_rescue_cmd_chainloader.
11893
11894 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
11895 (grub_pe32_optional_header): Change some fields based on i386 or
11896 x86_64 platform.
11897 (GRUB_PE32_PE32_MAGIC): Likewise.
11898
11899 * include/grub/efi/uga_draw.h: New file.
11900
11901 * include/grub/elf.h (STN_ABS): New constant.
11902 (R_X86_64_NONE): Relocation constant for x86_64.
11903 (R_X86_64_64): Likewise.
11904 (R_X86_64_PC32): Likewise.
11905 (R_X86_64_GOT32): Likewise.
11906 (R_X86_64_PLT32): Likewise.
11907 (R_X86_64_COPY): Likewise.
11908 (R_X86_64_GLOB_DAT): Likewise.
11909 (R_X86_64_JUMP_SLOT): Likewise.
11910 (R_X86_64_RELATIVE): Likewise.
11911 (R_X86_64_GOTPCREL): Likewise.
11912 (R_X86_64_32): Likewise.
11913 (R_X86_64_32S): Likewise.
11914 (R_X86_64_16): Likewise.
11915 (R_X86_64_PC16): Likewise.
11916 (R_X86_64_8): Likewise.
11917 (R_X86_64_PC8): Likewise.
11918
11919 * include/grub/i386/efi/pci.h: New file.
11920
11921 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
11922 Change it value based on platform.
11923 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
11924 (GRUB_E820_RAM): Likewise.
11925 (GRUB_E820_RESERVED): Likewise.
11926 (GRUB_E820_ACPI): Likewise.
11927 (GRUB_E820_NVS): Likewise.
11928 (GRUB_E820_EXEC_CODE): Likewise.
11929 (GRUB_E820_MAX_ENTRY): Likewise.
11930 (grub_e820_mmap): New structure.
11931 (linux_kernel_header): Change the efi field according to different
11932 kernel version, also field from linux_kernel_header.
11933
11934 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
11935
11936 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11937 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11938 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11939 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11940 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11941 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11942 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11943 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11944 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11945 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11946
11947 * include/grub/x86_64/efi/kernel.h: New file.
11948
11949 * include/grub/x86_64/efi/loader.h: Likewise.
11950
11951 * include/grub/x86_64/efi/machine.h: Likewise.
11952
11953 * include/grub/x86_64/efi/pci.h: Likewise.
11954
11955 * include/grub/x86_64/efi/time.h: Likewise.
11956
11957 * include/grub/x86_64/linux.h: Likewise.
11958
11959 * include/grub/x86_64/setjmp.h: Likewise.
11960
11961 * include/grub/x86_64/time.h: Likewise.
11962
11963 * include/grub/x86_64/types.h: Likewise.
11964
11965 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11966 GRUB_TARGET_SIZEOF_VOID_P.
11967
11968 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11969 (grub_efi_locate_handle): Likewise.
11970 (grub_efi_open_protocol): Likewise.
11971 (grub_efi_set_text_mode): Likewise.
11972 (grub_efi_stall): Likewise.
11973 (grub_exit): Likewise.
11974 (grub_reboot): Likewise.
11975 (grub_halt): Likewise.
11976 (grub_efi_exit_boot_services): Likewise.
11977 (grub_get_rtc): Likewise.
11978
11979 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11980 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11981 (grub_efi_allocate_pages): Wrap efi calls.
11982 (grub_efi_free_pages): Wrap efi calls.
11983 (grub_efi_get_memory_map): Wrap efi calls.
11984
11985 * kern/x86_64/dl.c: New file.
11986
11987 * kern/x86_64/efi/callwrap.S: Likewise.
11988
11989 * kern/x86_64/efi/startup.S: Likewise.
11990
11991 * loader/efi/appleloader.c: Likewise.
11992
11993 * loader/efi/chainloader.c (cmdline): New variable.
11994 (grub_chainloader_unload): Wrap efi calls.
11995 (grub_chainloader_boot): Likewise.
11996 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
11997 command line.
11998
11999 * loader/efi/chainloader_normal.c (chainloader_command):
12000 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
12001 command line.
12002
12003 * loader/i386/efi/linux.c (allocate_pages): Change allocation
12004 method.
12005 (grub_e820_add_region): New function.
12006 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
12007 booting.
12008 (grub_find_video_card): New function.
12009 (grub_linux_setup_video): New function.
12010 (grub_rescue_cmd_linux): Probe for video information.
12011
12012 * normal/x86_64/setjmp.S: New file.
12013
12014 * term/efi/console.c (map_char): New function.
12015 (grub_console_putchar): Map unicode char.
12016 (grub_console_checkkey): Wrap efi calls.
12017 (grub_console_getkey): Likewise.
12018 (grub_console_getwh): Likewise.
12019 (grub_console_gotoxy): Likewise.
12020 (grub_console_cls): Likewise.
12021 (grub_console_setcolorstate): Likewise.
12022 (grub_console_setcursor): Likewise.
12023
12024 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12025
59652a20 120262008-07-16 Pavel Roskin <proski@gnu.org>
12027
ef294055 12028 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12029 format strings.
12030
59652a20 12031 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12032 pointer, not an integer. This fixes a warning and prevents
12033 precision loss on 64-bit systems.
12034 (relocate_addresses): Remove unneeded cast.
12035
afc3b5d7 120362008-07-15 Pavel Roskin <proski@gnu.org>
12037
506b2b3e 12038 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12039
62ead89c 12040 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12041
c4cd51d7 12042 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12043 Fix comparison between signed and unsigned.
12044
0d3d8f28 12045 * include/grub/i386/ieee1275/console.h: Declare
12046 grub_console_init() and grub_console_fini().
12047
8804b286 12048 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12049 It's empty and unused.
12050
ee01cf35 12051 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12052 beginning to avoid warnings with some compilers.
12053
afc3b5d7 12054 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12055 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12056
e4e8eaa5 120572008-07-14 Pavel Roskin <proski@gnu.org>
12058
407aceb4 12059 * kern/env.c (grub_register_variable_hook): Don't copy empty
12060 string, it leaks memory. Pass "" to grub_env_set(), it should
12061 handle constant strings.
12062
e4e8eaa5 12063 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12064 * commands/cmp.c (grub_cmd_cmp): Likewise.
12065 * kern/dl.c (grub_dl_flush_cache): Likewise.
12066 (grub_dl_load_core): Likewise.
12067 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12068 (grub_elf64_load_phdrs): Likewise.
12069
d4e2dad3 120702008-07-13 Pavel Roskin <proski@gnu.org>
12071
12072 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12073 between signed and unsigned.
12074 (LzmaEnc_Finish): Fix warning about an unused parameter.
12075
aa24b516 120762008-07-13 Bean <bean123ch@gmail.com>
12077
12078 * Makefile.in (enable_lzo): New rule.
12079
12080 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12081
12082 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12083
12084 * boot/i386/pc/lnxboot.S: #include <config.h>.
12085
12086 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12087 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12088
12089 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12090 compression algorithm according to configure macro.
12091
12092 * kern/i386/pc/startup.S (codestart): Likewise.
12093
12094 * kern/i386/pc/lzma_decode.S: New file.
12095
12096 * include/grub/lib/LzFind.h: Likewise.
12097
12098 * include/grub/lib/LzHash.h: Likewise.
12099
12100 * include/grub/lib/LzmaDec.h: Likewise.
12101
12102 * include/grub/lib/LzmaEnc.h: Likewise.
12103
12104 * include/grub/lib/LzmaTypes.h: Likewise.
12105
12106 * lib/LzFind.c: Likewise.
12107
12108 * lib/LzmaDec.c: Likewise.
12109
12110 * lib/LzmaEnc.c: Likewise.
12111
4ae821ac 121122008-07-13 Bean <bean123ch@gmail.com>
12113
12114 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
12115 (grub_ext4_extent_header): New structure.
12116 (grub_ext4_extent): Likewise.
12117 (grub_ext4_extent_idx): Likewise.
12118 (grub_ext4_find_leaf): New function.
12119 (grub_ext2_read_block): Handle extents.
12120
9a745147 121212008-07-12 Robert Millan <rmh@aybabtu.com>
12122
12123 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
12124
d49a4cf6 121252008-07-11 Robert Millan <rmh@aybabtu.com>
12126
12127 * util/grub.d/40_custom.in: New file. Example on how to add custom
12128 entries to /etc/grub.d.
12129 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
12130 40_custom (implicitly, by merging all the grub.d rules).
12131
947414b4 121322008-07-11 Pavel Roskin <proski@gnu.org>
12133
0059cf6f 12134 * commands/read.c (grub_getline): Fix invalid memory access.
12135 Don't add newline to the variable value.
12136
947414b4 12137 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
12138 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
12139 (serial_hw_get_port): Check validity of the port number.
12140 (grub_cmd_serial): Check return value of serial_hw_get_port().
12141
62a02d00 121422008-07-07 Pavel Roskin <proski@gnu.org>
12143
12144 * boot/i386/pc/diskboot.S (notification_string): Replace
12145 "Loading kernel" with just "loading". This is shorter, less
12146 confusing and saves a few bytes for possible future changes.
12147
3e5581b0 121482008-07-05 Pavel Roskin <proski@gnu.org>
12149
ea387a48 12150 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
12151 size for ATAPI devices, they are undefined. Output sector
12152 number in decimal form.
12153
3e5581b0 12154 * disk/ata.c: Use named constants for status bits.
12155
fdecb8fd 121562008-07-04 Pavel Roskin <proski@gnu.org>
12157
bcd35b90 12158 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
12159 grub_addr_t before casting it to the void pointer to fix a
12160 warning. Non-addressable regions are discarded earlier.
12161 (grub_arch_modules_addr): Cast _end to grub_addr_t.
12162 * kern/i386/linuxbios/table.c: Include grub/misc.h.
12163 (check_signature): Don't shadow table_header.
12164 (grub_linuxbios_table_iterate): Cast numeric constants to
12165 grub_linuxbios_table_header_t.
12166 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
12167 grub_stop().
12168
af58ab3d 12169 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
12170 prevent warnings.
12171
1759aa57 12172 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
12173 pointer, which can cause warnings. Support 64-bit addresses.
12174
fdecb8fd 12175 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
12176 of sizeof(long). This fixes PowerPC image generation on x86_64.
12177
8516d2a8 121782008-07-04 Robert Millan <rmh@aybabtu.com>
12179
12180 This fixes a performance issue when pc & gpt partmap iterators
12181 didn't abort iteration even after our hook found what it was
fe987087 12182 looking for (often causing expensive probes of non-existent drives).
8516d2a8 12183
12184 Some callers relied on previous buggy behaviour, since they would
34c44600 12185 raise an error when their own hooks caused early abortion of its
8516d2a8 12186 iteration.
12187
12188 * kern/device.c (grub_device_open): Improve error message.
12189 * disk/lvm.c (grub_lvm_open): Likewise.
12190 * disk/raid.c (grub_raid_open): Likewise.
12191
12192 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
12193 when hook requests it, independently of grub_errno.
12194 (pc_partition_map_probe): Do not fail when find_func() caused
12195 early abortion of pc_partition_map_iterate().
12196
12197 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
12198 when hook requests it, independently of grub_errno.
12199 (gpt_partition_map_probe): Do not fail when find_func() caused
12200 early abortion of gpt_partition_map_iterate().
12201
12202 * kern/partition.c (grub_partition_iterate): Abort parent iteration
12203 when hook requests it, independently of grub_errno. Do not fail when
12204 part_map_iterate_hook() caused early abortion of p->iterate().
12205
12206 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
12207 when grub_partition_iterate() returned with non-zero.
12208
277d0de9 122092008-07-03 Pavel Roskin <proski@gnu.org>
12210
12211 * disk/ata.c (grub_ata_pio_write): Check status before writing,
12212 like we do in grub_ata_pio_read().
12213 (grub_ata_readwrite): Always write individual sectors. Fix the
12214 sector count for the remainder.
12215 (grub_ata_write): Enable writing to ATA devices. Correctly
12216 report error for ATAPI devices.
12217
d4c9b428 122182008-07-02 Pavel Roskin <proski@gnu.org>
12219
e43fc690 12220 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
12221 warning.
12222
f707af42 12223 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
12224 for every read sector, we already increment it for the whole
12225 batch. This fixes reading more than 256 sectors at once.
12226
11e16b15 12227 * util/grub-editenv.c (cmd_info): Cast argument to long
12228 explicitly. ptrdiff_t reduces to int on i386.
12229
cbabfdd4 12230 * util/grub-editenv.c (main): Be specific which parameter is
12231 missing.
12232
b8fbce0a 12233 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
12234 (memdisk): Make memdisk_orig_addr a pointer.
12235
c9c8e606 12236 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
12237 for file offsets, use grub_off_t instead. Fix printf format
12238 warnings.
12239
ca62e598 12240 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
12241 there. Real unexpected warnings should not drown in the noise
12242 about known problems.
12243
ce8d1766 12244 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
12245 grub_disk_addr_t for memory addresses.
12246
00c7a56a 12247 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
12248 explicitly to fix a warning.
12249
08d3ef09 12250 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
12251
cb71ba20 12252 * Makefile.in (MODULE_LDFLAGS): New variable.
12253 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
12254 the linker accepts --build-id=none.
12255 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
12256 MODULE_LDFLAGS.
12257 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
12258
d4c9b428 12259 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
12260 those in Linux XFS code. Provide a way to access 64-bit parent
12261 inode.
12262 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
12263 the end of struct grub_xfs_dir_header.
12264
d4156eee 122652008-07-02 Bean <bean123ch@gmail.com>
12266
12267 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
12268 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12269 and GRUB_IEEE1275_FLAG_NO_ANSI.
12270
12271 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
12272 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12273 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
12274
12275 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
12276 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
12277
12278 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
12279 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
12280
12281 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
12282 esc sequence on non ANSI terminal.
12283 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
12284
12285 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
12286 beginning of file.
12287
2270f77b 122882008-07-02 Bean <bean123ch@gmail.com>
12289
12290 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
12291 (grub_editenv_SOURCES): New variable.
12292 (pkglib_MODULES): Add loadenv.mod.
12293 (loadenv_mod_SOURCES): New variable.
12294 (loadenv_mod_CFLAGS): Likewise.
12295 (loadenv_mod_LDFLAGS): Likewise.
12296
12297 * include/grub/envblk.h: New file.
12298
12299 * util/envblk.c: New file.
12300
12301 * util/grub-editenv.c: New file.
12302
12303 * commands/loadenv.c: New file.
12304
0e9e51ec 123052008-07-01 Pavel Roskin <proski@gnu.org>
12306
d89b7634 12307 * include/multiboot2.h (struct multiboot_tag_module): Use char,
12308 not unsigned char. This fixes warnings and is consistent with
12309 other tags.
12310
bf1835b1 12311 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
12312
8222a04b 12313 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
12314
6a42d99d 12315 * term/tparm.c (analyze): Always set *popcount.
12316
10b159d1 12317 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
12318 cast to fix a warning.
12319
b8789f6c 12320 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
12321 cast to suppress a warning.
12322
29d7e38a 12323 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
12324 grub_fshelp_read_file() expects.
12325
f341f669 12326 * fs/fat.c: Fix UUID calculation on big-endian systems. We
12327 write uuid as a 32-bit value in CPU byte order, so declare and
12328 use it as such.
12329
0e9e51ec 12330 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
12331 long if the format specifier expects it.
12332 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
12333 * partmap/pc.c (pc_partition_map_iterate): Likewise.
12334 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
12335 long to fix a warning.
12336 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
12337 grub_dprintf() arguments to fix warnings.
12338
3aefa857 123392008-06-30 Pavel Roskin <proski@gnu.org>
12340
56c7668b 12341 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
12342 install_bsd_part immediately before core.img is embedded or
12343 modified on disk. This fixes core.img verification if core.img
12344 cannot be embedded.
12345
3aefa857 12346 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
12347 core_path to calculate the blocklist.
12348 Patch from Javier Martín <lordhabbit@gmail.com>
12349
5444088d 123502008-06-29 Robert Millan <rmh@aybabtu.com>
12351
12352 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
12353 block to disk block.
12354 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
12355 Patch from Niels Böhm <bitbucket@arcor.de>
12356
674835c8 123572008-06-29 Robert Millan <rmh@aybabtu.com>
12358
12359 * util/update-grub_lib.in (font_path): Search for fonts in
12360 /boot/grub first, which is more likely to be readable (we aren't
12361 deciding where fonts live, just looking for them).
12362
f527dbc8 123632008-06-26 Pavel Roskin <proski@gnu.org>
12364
6c2d8df6 12365 * util/biosdisk.c (read_device_map): Don't leave dead map
12366 entries for devices failing stat() check.
12367
f527dbc8 12368 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
12369 core_path_dev for the core.img path on the target device.
12370
aebe3d13 123712008-06-26 Robert Millan <rmh@aybabtu.com>
12372
12373 * disk/fs_uuid.c: New file.
12374 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
12375 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
12376 (fs_uuid_mod_LDFLAGS): New variables.
12377 * include/grub/disk.h (grub_disk_dev_id): Add
12378 `GRUB_DISK_DEVICE_UUID_ID'.
12379 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
12380 implement iterate().
12381
37aaf354 123822008-06-26 Robert Millan <rmh@aybabtu.com>
12383
12384 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
12385 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
12386 Linux image includes no initrd.
12387
25ff262a 123882008-06-21 Javier Martín <lordhabbit@gmail.com>
12389
12390 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
12391 call to resolve the core image location that effectively appended the
12392 name twice.
12393
76a2bd44 123942008-06-21 Robert Millan <rmh@aybabtu.com>
12395
12396 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
12397 call from here ...
12398
12399 * util/grub.d/10_hurd.in: ... to here ...
12400 * util/grub.d/10_linux.in: ... and here.
12401
650e1c79 124022008-06-19 Robert Millan <rmh@aybabtu.com>
12403
fe987087 12404 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 12405 after it has been set by grub_machine_set_prefix().
12406
6ce63911 124072008-06-19 Robert Millan <rmh@aybabtu.com>
12408
12409 * commands/search.c (search_label, search_fs_uuid, search_file): Print
12410 search result when not saving to variable, not the other way around.
12411 When saving to variable, abort iteration as soon as a match is found.
12412
73940cec 124132008-06-19 Robert Millan <rmh@aybabtu.com>
12414
12415 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
12416 check for partition that provides /boot/grub. Its logic is flawed,
12417 as it prevents prepare_grub_to_access_device() from being called
12418 multiple times.
12419
3c62a39d 124202008-06-19 Robert Millan <rmh@aybabtu.com>
12421
12422 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
12423 "insmod" command directly when abstraction modules are needed,
fe987087 12424 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 12425 since it had already been processed).
12426
47395a42 124272008-06-19 Pavel Roskin <proski@gnu.org>
12428
12429 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
12430 changed. This is needed in case GRUB_LIBDIR changes.
12431 * conf/i386-ieee1275.rmk: Likewise.
12432 * conf/i386-linuxbios.rmk: Likewise.
12433 * conf/i386-pc.rmk: Likewise.
12434 * conf/powerpc-ieee1275.rmk: Likewise.
12435
a145ac2d 124362008-06-18 Pavel Roskin <proski@gnu.org>
12437
12438 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
12439 kernel_elf_symlist.c to symlist.c for consistency with other
12440 architectures. Update all users.
12441 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12442
7847c51e 124432008-06-18 Robert Millan <rmh@aybabtu.com>
12444
12445 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
12446 it in prefix.
12447
12448 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
12449 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
12450 a RAID device, run setup() for all members independently on whether
12451 LVM abstraction is being used.
12452 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
12453 If grub-mkimage has set `*install_dos_part == -2', don't override this
12454 value.
12455 Perform *install_dos_part adjustments independently on whether
12456 we're embedding or not.
12457 Clarify error message when image is too big for embedding.
12458 Remove duplicate *install_dos_part stanza.
12459
b23e5644 124602008-06-17 Robert Millan <rmh@aybabtu.com>
12461
12462 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
12463 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
12464 variables.
12465 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
12466 values in grub_ofconsole_normal_color and
12467 grub_ofconsole_highlight_color (they're not directly related to
12468 background and foreground).
12469 (grub_ofconsole_setcolorstate): Extract background and foreground
12470 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
12471
0aac2f79 124722008-06-17 Robert Millan <rmh@aybabtu.com>
12473
12474 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
12475 /boot/grub for the check in last commit, not /boot (they could be
12476 different partitions).
12477
3cca7ef3 124782008-06-16 Robert Millan <rmh@aybabtu.com>
12479
12480 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
12481 asked to setup access for the same partition that provides /boot,
12482 don't bother using UUIDs since our root already has the value we
12483 want.
12484
347396d8 124852008-06-16 Robert Millan <rmh@aybabtu.com>
12486
12487 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
12488 I2O devices.
12489 Patch from Sven Mueller <sven@debian.org>.
12490
991477f8 124912008-06-16 Robert Millan <rmh@aybabtu.com>
12492
12493 * util/update-grub.in: Check for $EUID instead of $UID.
12494 Reported by Vincent Zweije.
12495
d31a32a1 124962008-06-16 Bean <bean123ch@gmail.com>
12497
fe987087 12498 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 12499 (grub_ext2_read_block): Likewise.
12500 (grub_ext2_read_inode): Likewise.
12501 (grub_ext2_mount): Likewise.
12502 (grub_ext2_close): Likewise.
12503 (grub_ext3_get_journal): Removed.
12504
fe987087 12505 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 12506 (grub_reiserfs_read_symlink): Likewise.
12507 (grub_reiserfs_mount): Likewise.
12508 (grub_reiserfs_open): Likewise.
12509 (grub_reiserfs_read): Likewise.
12510 (grub_reiserfs_close): Likewise.
12511 (grub_reiserfs_get_journal): Removed.
12512
12513 * fs/fshelp.c (grub_fshelp_read): Removed.
12514 (grub_fshelp_map_block): Likewise.
12515
12516 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
12517 (grub_fshelp_journal): Likewise.
12518 (grub_fshelp_read): Likewise.
12519 (grub_fshelp_map_block): Likewise.
12520
3540a760 125212008-06-16 Pavel Roskin <proski@gnu.org>
12522
12523 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
12524 floating point anymore.
12525 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
12526
95614c84 125272008-06-15 Pavel Roskin <proski@gnu.org>
12528
12529 * commands/ls.c (grub_ls_list_files): Use integer calculations
12530 for human readable format, avoid floating point use.
12531 * kern/misc.c (grub_ftoa): Remove.
12532 (grub_vsprintf): Remove floating point support.
12533
50465dd6 125342008-06-15 Robert Millan <rmh@aybabtu.com>
12535
fe6b695a 12536 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 12537 devices.
12538 Reported by Max Vozeler.
12539
a9207284 125402008-06-15 Robert Millan <rmh@aybabtu.com>
12541
12542 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
12543 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
12544 skipped later.
12545 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
12546 the beginning of the prefix.
12547
12548 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
12549 It is assumed that if we have a memdisk, grub-mkimage has set
12550 grub_prefix to include the "(memdisk)" drive in it.
12551
a7cbd45a 125522008-06-15 Robert Millan <rmh@aybabtu.com>
12553
12554 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
12555 Initialize keyboard controller after registering the terminal, so that
12556 grub_printf() can be called from grub_keyboard_controller_init().
12557
21cf716a 125582008-06-15 Robert Millan <rmh@aybabtu.com>
12559
12560 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
12561 extent-btree which is written as big endian on disk.
12562 Reported by Alain Greppin <al@chilibi.org>.
12563
23a64d8e 125642008-06-14 Robert Millan <rmh@aybabtu.com>
12565
12566 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
12567 * util/i386/pc/grub-install.in (modules): Likewise.
12568
d687651c 125692008-06-13 Pavel Roskin <proski@gnu.org>
12570
12571 * commands/ls.c (grub_ls_list_files): Fix format warnings.
12572
dfe9ddd4 125732008-06-13 Bean <bean123ch@gmail.com>
12574
12575 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
12576
12577 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
12578
12579 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
12580 to indicate sparse block.
12581
16ae7781 125822008-06-12 Pavel Roskin <proski@gnu.org>
12583
e6d1a308 12584 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
12585 number, grub_fshelp_read() does it for us.
12586
16ae7781 12587 * fs/fshelp.c (grub_fshelp_read): New function. Implement
12588 linear disk read with journal translation.
12589 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
12590 * include/grub/fshelp.h: Declare grub_fshelp_read().
12591
40fd3a2b 125922008-06-09 Pavel Roskin <proski@gnu.org>
12593
12594 * fs/minix.c (grub_minix_mount): Handle error reading
12595 superblock.
12596
f5679726 125972008-06-08 Robert Millan <rmh@aybabtu.com>
12598
12599 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
12600 don't append the RAID prefix afterwards.
12601 Reported by Clint Adams.
12602
ce525529 126032008-06-08 Robert Millan <rmh@aybabtu.com>
12604
12605 Based on description from Pavel:
12606 * kern/disk.c (grub_disk_check_range): Rename to ...
12607 (grub_disk_adjust_range): ... this. Add a comment explaining the
12608 tasks performed by this function.
12609
ad4936a0 126102008-06-08 Robert Millan <rmh@aybabtu.com>
12611
12612 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
12613 `num_serial' (for consistency with other variables).
12614 (struct grub_ntfs_data): Add `uuid' member.
12615 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
12616 (grub_ntfs_uuid): New function.
12617 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
12618
dc20b0f9 126192008-06-07 Pavel Roskin <proski@gnu.org>
12620
12621 * util/biosdisk.c (open_device): Revert last change to the
12622 function, it broke installation. The sector needs to be
12623 different dependent on which device is opened.
12624
c5e3cfba 126252008-06-06 Robert Millan <rmh@aybabtu.com>
12626
12627 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
12628 rest of GRUB, and breakage doesn't happen if its value were modified.
12629
12630 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12631 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
12632 a constant (same value).
12633 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
12634 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
12635
26a1f8c4 126362008-06-06 Robert Millan <rmh@aybabtu.com>
12637
12638 * util/biosdisk.c (open_device): Do not modify sector offset when
12639 accessing a partition. kern/disk.c already handles this for us.
12640
25d6b327 126412008-06-06 Robert Millan <rmh@aybabtu.com>
12642
12643 * util/grub-emu.c (grub_machine_init): Move code in this function from
12644 here ...
12645 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
12646 segfault in case grub_printf() is called).
12647
12648 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
12649 grub_probe. Update all users not to explicitly add it again.
12650 (grub_device): New variable; contains corresponding device for grubdir.
12651 (fs_module, partmap_module, devabstraction_module): Pass
12652 `--device ${grub_device}' to grub_probe to avoid traversing /dev
12653 every time.
12654
9ece62fb 126552008-06-05 Robert Millan <rmh@aybabtu.com>
12656
12657 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
12658 is found, print it (same layout as with labels).
12659
1ad36d37 126602008-06-04 Robert Millan <rmh@aybabtu.com>
12661
12662 * util/biosdisk.c (get_drive): Rename to ...
12663 (find_grub_drive): ... this. Update all users.
12664
12665 (get_os_disk): Rename to ...
12666 (convert_system_partition_to_system_disk): ... this. Update all users.
12667
12668 (find_drive): Rename to ...
12669 (find_system_device): ... this. Update all users.
12670
e6a30859 126712008-06-04 Robert Millan <rmh@aybabtu.com>
12672
12673 * util/biosdisk.c (get_os_disk): Handle IDA devices.
12674 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12675 (make_device_map): Likewise.
12676
00c108a4 126772008-06-01 Robert Millan <rmh@aybabtu.com>
12678
12679 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
12680 before dereferencing it.
12681
12682 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
12683 union with fat12/fat16-specific ones. Add some new fields, including
12684 `num_serial' for both versions.
12685 (struct grub_fat_data): Add `uuid' member.
12686 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
12687 names. Initialize `data->uuid' using `num_serial'.
12688 (grub_fat_uuid): New function.
12689 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
12690
12691 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
12692 (grub_reiserfs_uuid): New function.
12693 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
12694 member.
12695
12696 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
12697 (grub_xfs_uuid): New function.
12698 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
12699
1385c5bb 127002008-06-01 Robert Millan <rmh@aybabtu.com>
12701
12702 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
12703 code that is backward compatible with pre-uuid search command.
12704
c682dfd7 127052008-05-31 Robert Millan <rmh@aybabtu.com>
12706
12707 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
12708 floppies after everything else, to ensure floppy drive isn't accessed
12709 unnecessarily (patch from Bean).
12710
b7db5d47 127112008-05-31 Robert Millan <rmh@aybabtu.com>
12712
12713 * commands/search.c (search_label, search_fs_uuid, search_file): Do
12714 not print device names when we were asked to set a variable.
12715
6e037aa9 127162008-05-31 Robert Millan <rmh@aybabtu.com>
12717
12718 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
12719 using "cursor-on" and "cursor-off" commands (understood at least by
12720 the Open Firmware flavour on OLPC).
12721
41305bc8 127222008-05-31 Michael Gorven <michael@gorven.za.net>
12723
12724 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
12725 on and off sequences.
12726
69ba137e 127272008-05-31 Robert Millan <rmh@aybabtu.com>
12728
12729 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
12730 * util/update-grub.in: Likewise.
12731
520ae21b 127322008-05-30 Pavel Roskin <proski@gnu.org>
12733
12734 * util/biosdisk.c (linux_find_partition): Simplify logic and
12735 make the code more universal. Keep special processing for
12736 devfs, but use a simple rule for all other devices. If the
12737 device ends with a number, append 'p' and the partition number.
12738 Otherwise, append only the partition number.
12739
5786569b 127402008-05-30 Robert Millan <rmh@aybabtu.com>
12741
12742 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
12743 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
12744 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
12745 the `root' parameter to Linux.
12746
51500452 127472008-05-30 Robert Millan <rmh@aybabtu.com>
12748
12749 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
12750 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
12751 --fs_uuid with --fs-uuid.
12752 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
12753 all filesystems support them).
12754
811d3878 127552008-05-30 Robert Millan <rmh@aybabtu.com>
12756
12757 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 12758 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 12759
cab63c95 127602008-05-30 Robert Millan <rmh@aybabtu.com>
12761
12762 * util/grub.d/00_header.in: Remove obsolete comment referencing
12763 convert_system_path_to_grub_path().
12764 * util/update-grub.in: Likewise.
12765 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
12766 (convert_system_path_to_grub_path): Add a warning message explaining
12767 that this function is deprecated. Rely on is_path_readable_by_grub()
12768 for the readability checks.
12769 (font_path): Use is_path_readable_by_grub() for the readability
12770 check rather than convert_system_path_to_grub_path().
12771
972e2f7a 127722008-05-30 Robert Millan <rmh@aybabtu.com>
12773
12774 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
12775 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
12776 converting it first.
12777 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
12778 grub.cfg for access to font file, and afterwards call it again to set
12779 the root device.
12780
62191274 127812008-05-30 Robert Millan <rmh@aybabtu.com>
12782
12783 * commands/search.c (options): Add --fs_uuid option.
12784 (search_fs_uuid): New function.
12785 (grub_cmd_search): Fix --set argument passing.
12786 Use search_fs_uuid() when requested via --fs_uuid.
12787 (grub_search_init): Update help message.
12788 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
12789 and redeclare it as an array of 16-bit words.
12790 (grub_ext2_uuid): New function.
12791 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
12792 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
12793 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
12794 (GRUB_DEVICE_BOOT_UUID): New variables.
12795 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
12796 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
12797 whenever possible.
12798 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
12799 just assume `root' variable has the right value.
12800 * util/grub.d/10_linux.in: Likewise.
12801 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
12802 via PRINT_FS_UUID.
12803 (main): Recognise `-t fs_uuid' argument.
12804
01b73ec8 128052008-05-30 Robert Millan <rmh@aybabtu.com>
12806
12807 * util/biosdisk.c (map): Redefine structure to hold information
12808 about GRUB drive name.
fe6b695a 12809 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 12810 drive names.
12811 (call_hook): Remove.
12812 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
12813 member. Assume drive has partitions.
12814 (grub_util_biosdisk_open): Access device names via `.device' struct
12815 member.
12816 (open_device): Likewise.
12817 (find_drive): Likewise.
12818 (read_device_map): Adjust map[] usage to match the new struct
12819 definition. Don't check for duplicates (still possible, but not cheap
12820 anymore).
12821 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
12822 (make_device_name): Remove assumption of BIOS-like drive names.
12823
22f16596 128242008-05-30 Pavel Roskin <proski@gnu.org>
12825
12826 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
12827 compiling execute.c doesn't need grub_script.tab.h anymore.
12828 (normal/command.c_DEPENDENCIES): Likewise.
12829 (normal/function.c_DEPENDENCIES): Likewise.
12830 * conf/i386-ieee1275.rmk: Likewise.
12831 * conf/i386-linuxbios.rmk: Likewise.
12832 * conf/i386-pc.rmk: Likewise.
12833 * conf/powerpc-ieee1275.rmk: Likewise.
12834 * conf/sparc64-ieee1275.rmk: Likewise.
12835
528ad8f2 128362008-05-29 Pavel Roskin <proski@gnu.org>
12837
d1dff95d 12838 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
12839 when scanning metadata for volume group name.
12840
528ad8f2 12841 * include/grub/script.h: Don't include grub_script.tab.h. It's
12842 a generated file, which may only be included from the files with
12843 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
12844 use union YYSTYPE, as the later allows forward declaration.
12845 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
12846
47248e08 128472008-05-29 Robert Millan <rmh@aybabtu.com>
12848
12849 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
12850 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
12851 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
12852 (grub_console_checkkey): Add grub_dprintf() call to report unknown
12853 scan codes.
12854
ee632529 128552008-05-29 Robert Millan <rmh@aybabtu.com>
12856
12857 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
12858 control key combinations.
12859
eee96e08 128602008-05-29 Robert Millan <rmh@aybabtu.com>
12861
12862 * util/powerpc/ieee1275/grub-install.in: Move from here ...
12863 * util/ieee1275/grub-install.in: ... to here.
12864 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
12865 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
12866 (grub_install_SOURCES): Likewise.
12867
da9a6a94 128682008-05-29 Robert Millan <rmh@aybabtu.com>
12869
12870 * fs/affs.c: Update copyright year.
12871 * fs/ext2.c: Likewise.
12872 * fs/fshelp.c: Likewise.
12873 * fs/hfsplus.c: Likewise.
12874 * fs/ntfs.c: Likewise.
12875 * fs/xfs.c: Likewise.
12876 * include/grub/fshelp.h: Likewise.
12877 * util/grub-mkdevicemap.c: Likewise.
12878
12e65f3a 128792008-05-28 Robert Millan <rmh@aybabtu.com>
12880
12881 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
12882 might need to be fatfs to support some firmware implementations
12883 (e.g. OFW or EFI).
12884
23023641 128852008-05-28 Robert Millan <rmh@aybabtu.com>
12886
12887 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
12888 devices.
12889 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12890 (make_device_map): Likewise.
12891
887d2619 128922008-05-20 Bean <bean123ch@gmail.com>
12893
12894 * fs/fshelp.c (grub_fshelp_map_block): New function.
12895 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
12896 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
12897
12898 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
12899 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
12900 (grub_fshelp_journal): New structure.
12901 (grub_fshelp_map_block): New function prototype.
12902 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
12903 (grub_fshelp_map_block): Likewise.
12904
12905 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
12906 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
12907 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
12908 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
12909 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
12910 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
12911 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
12912 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
12913 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
12914 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
12915 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
12916 (grub_ext2_sblock): New members for journal support.
12917 (grub_ext3_journal_header): New structure.
12918 (grub_ext3_journal_revoke_header): Likewise.
12919 (grub_ext3_journal_block_tag): Likewise.
12920 (grub_ext3_journal_sblock): Likewise.
12921 (grub_fshelp_node): New members logfile and journal.
12922 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
12923 grub_fshelp_map_block to get real block number.
12924 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
12925 number.
12926 (grub_ext2_read_inode): Likewise.
12927 (grub_ext3_get_journal): New function.
12928 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
12929 (grub_ext2_close): Release memory used by journal.
12930
12931 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
12932 (REISERFS_MAGIC_DESC_BLOCK): New macro.
12933 (grub_reiserfs_transaction_header): Renamed to
12934 grub_reiserfs_description_block, replace field data with real_blocks.
12935 (grub_reiserfs_commit_block): New structure.
12936 (grub_reiserfs_data): New member journal.
12937 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12938 number.
12939 (grub_reiserfs_read_symlink): Likewise.
12940 (grub_reiserfs_iterate_dir): Likewise.
12941 (grub_reiserfs_open): Likewise.
12942 (grub_reiserfs_read): Likewise.
12943 (grub_reiserfs_get_journal): New function.
12944 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12945 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12946 using grub_reiserfs_get_journal.
12947 (grub_reiserfs_close): Release memory used by journal.
12948
12949 * fs/affs.c (grub_affs_read_block): Change block type to
12950 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12951
12952 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12953
12954 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12955
12956 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12957
12958 * fs/udf.c (grub_udf_read_block): Change block type to
12959 grub_disk_addr_t. Use type cast to avoid warning.
12960
12961 * fs/xfs.c (grub_xfs_read_block): Likewise.
12962
b7c6bed5 129632008-05-16 Christian Franke <franke@computer.org>
12964
12965 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12966 to ensure that break with ESC will always work.
12967 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12968 Remove ESC from keyboard queue.
12969
eedf167f 129702008-05-16 Christian Franke <franke@computer.org>
12971
12972 * util/biosdisk.c: [__CYGWIN__] Add includes.
12973 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12974 (get_os_disk): Move variable declarations to OS specific
12975 parts to avoid warning.
12976 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12977 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12978 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12979 Cygwin.
12980 * util/getroot.c: [__CYGWIN__] Add includes.
12981 (strip_extra_slashes): Fix "/" case.
12982 [__CYGWIN__] (get_win32_path): New function.
12983 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12984 [__CYGWIN__] (find_root_device): Disable.
12985 [__CYGWIN__] (get_bootsec_serial): New function.
12986 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12987 [__linux__] (grub_guess_root_device): Add early returns to simplify
12988 structure.
12989 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12990 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12991 check for Linux only.
12992
a079699e 129932008-05-15 Bean <bean123ch@gmail.com>
12994
12995 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
12996 keyboard hang problem in apple's intel mac.
12997
1cf4059a 129982008-05-09 Robert Millan <rmh@aybabtu.com>
12999
13000 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
13001 devices.
13002 * util/grub-mkdevicemap.c (get_virtio_disk_name)
13003 (make_device_map): Likewise.
13004 Reported by Aurelien Jarno <aurel32@debian.org>
13005
ed759390 130062008-05-07 Ian Campbell <ijc@hellion.org.uk>
13007
13008 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
13009 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13010 (make_device_map): Output entries for xvd type disks.
13011
b56c4eaa 130122008-05-07 Robert Millan <rmh@aybabtu.com>
13013
13014 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
13015 devices.
13016 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13017 (make_device_map): Likewise.
13018 Reported by Roland Dreier <rdreier@cisco.com>
13019
7f8866ed 130202008-05-07 Robert Millan <rmh@aybabtu.com>
13021
13022 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13023 grub_strstr() call. Correct a few mistakes in failure path handling.
13024
b0346e0f 130252008-05-06 Robert Millan <rmh@aybabtu.com>
13026
13027 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13028 Do not print a trailing slash (therefore, the root directory is an
13029 empty string).
13030 (convert_system_path_to_grub_path): Do not remove trailing slash
13031 from make_system_path_relative_to_its_root() output.
13032
13033 * util/i386/pc/grub-install.in: Add trailing slash to output from
13034 make_system_path_relative_to_its_root().
13035
6cf12cbd 130362008-05-06 Robert Millan <rmh@aybabtu.com>
13037
13038 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13039 ensures that output lines aren't intermangled with those sent to
13040 stderr (via grub_util_info()).
13041 * util/grub-probe.c (grub_refresh): Likewise.
13042 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13043
0fbb3117 130442008-05-05 Christian Franke <franke@computer.org>
13045
13046 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13047 Add Cygwin device names.
13048 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13049 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13050 (check_device): Return error instead of success on empty name.
13051 (make_device_map): Move label inside linux specific code to
13052 prevent compiler warning.
13053
8124cdb7 130542008-04-30 Robert Millan <rmh@aybabtu.com>
13055
13056 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13057 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13058 first boot option.
13059 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13060
094c01d0 130612008-04-29 Robert Millan <rmh@aybabtu.com>
13062
13063 * docs/grub.cfg: New file (example GRUB configuration).
13064
f4b1fc02 130652008-04-26 Robert Millan <rmh@aybabtu.com>
13066
329ce2a5 13067 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13068 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13069 and `disk/ieee1275/nand.c'.
f4b1fc02 13070
25f16ec1 130712008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13072
25f16ec1 13073 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13074 i386-linuxbios.
13075
13076 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13077 change the buffer size to 4096 for cdrom device.
13078
13079 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13080 and nand.mod.
13081 (_linux_mod_SOURCES): New variable.
13082 (_linux_mod_CFLAGS): Likewise.
13083 (_linux_mod_LDFLAGS): Likewise.
13084 (linux_mod_SOURCES): Likewise.
13085 (linux_mod_CFLAGS): Likewise.
13086 (linux_mod_LDFLAGS): Likewise.
13087 (nand_mod_SOURCES): Likewise.
13088 (nand_mod_CFLAGS): Likewise.
13089 (nand_mod_LDFLAGS): Likewise.
13090
13091 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13092 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13093 type property. (nand device in olpc don't have this property)
13094
13095 * include/grub/disk.h (grub_disk_dev_id): New macro
13096 GRUB_DISK_DEVICE_NAND_ID.
13097
13098 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13099 function prototype.
13100 (grub_rescue_cmd_initrd): Likewise.
13101
13102 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
13103 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
13104 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 13105
25f16ec1 13106 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
13107 GRUB_MACHINE_IEEE1275 is defined.
13108
13109 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
13110 Use NESTED_FUNC_ATTR attribute on the hook parameter.
13111
13112 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
13113 on nested function heap_init.
13114 (grub_upper_mem): New variable for i386-ieee1275.
13115 (grub_get_extended_memory): New function for i386-ieee1275.
13116 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
13117
13118 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
13119 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
13120 property.
f19dbdb7 13121
25f16ec1 13122 * loader/i386/ieee1275/linux.c: New file.
13123
13124 * loader/i386/ieee1275/linux_normal.c: New file.
13125
13126 * disk/ieee1275/nand.c: New file.
13127
e89d61e9 131282008-04-18 Thomas Schwinge <tschwinge@gnu.org>
13129
13130 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
13131 value.
13132 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
13133
602566f6 131342008-04-18 Robert Millan <rmh@aybabtu.com>
13135
13136 Restructures early code path on ieee1275 to unify grub_main() as
13137 the first C function that is executed in every platform.
13138
13139 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
13140 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
13141 cmain().
13142 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
13143 * kern/ieee1275/cmain.c (cmain): Rename to ...
13144 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
13145 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
13146 at the beginning.
13147
57490c2b 131482008-04-18 Robert Millan <rmh@aybabtu.com>
13149
13150 * util/update-grub.in: Fix syntax error when setting
13151 `GRUB_PRELOAD_MODULES'.
13152 Reported by Stephane Chazelas <stephane@artesyncp.com>
13153
1977517d 131542008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
13155
13156 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
13157 section into account, newer toolchains generate unique build ids
13158 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 13159 we want build ids to be preserved
1977517d 13160 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
13161 far from other sections don't cause the raw binary images grow
13162 size
13163
bfb1f1a2 131642008-04-15 Robert Millan <rmh@aybabtu.com>
13165
13166 * disk/lvm.c: Update copyright year.
13167 * kern/misc.c: Likewise.
13168
01979850 131692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13170
13171 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 13172 there is no memory left for physical volume name.
01979850 13173
0a1150e2 131742008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13175
13176 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
13177 volume name mapping to support bigger than 9 character names properly.
13178
82ead3fe 131792008-04-13 Robert Millan <rmh@aybabtu.com>
13180
13181 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
13182 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
13183
e54a72f5 131842008-04-13 Christian Franke <franke@computer.org>
13185
13186 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
13187 to create a floppy emulation boot CD when non emulation mode
13188 does not work.
13189 Enable Joliet CD filesystem extension.
13190
9fe86034 131912008-04-13 Robert Millan <rmh@aybabtu.com>
13192
13193 * kern/misc.c (grub_strncat): Fix off-by-one error.
13194 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
13195
13196 * kern/env.c (grub_env_context_close): Clear current context, not
13197 previous one.
13198 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
13199
13200 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
13201
7ceeee39 132022008-04-13 Robert Millan <rmh@aybabtu.com>
13203
13204 Improve robustness when handling LVM.
13205
13206 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 13207 (and leave `*p' unmodified).
7ceeee39 13208 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
13209 through it.
13210 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
13211 iterating through it.
13212 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
13213 through it.
fe6b695a 13214 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 13215 when due) on each grub_lvm_getvalue() or grub_strstr() call.
13216 Don't assume `vg->pvs != NULL' when iterating through it.
13217
58cd3d85 132182008-04-13 Robert Millan <rmh@aybabtu.com>
13219
13220 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
13221 * genmk.rb (partmap): New variable.
13222 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
13223 (#{partmap}): New target rule.
13224 * genpartmaplist.sh: New file.
13225 * Makefile.in (pkglib_DATA): Add partmap.lst.
13226 (partmap.lst): New target rule.
13227 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
13228 modules (including all partition maps), instead of preloading them.
13229
78b51059 132302007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
13231
13232 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
13233 `linux-boot-prober' (if installed) to detect other operating
13234 systems which are installed on the computer and add them to
13235 the boot menu.
13236 * conf/common.rmk: Build and install 30_os-prober.
13237
a91627b4 132382008-04-12 Robert Millan <rmh@aybabtu.com>
13239
13240 * kern/powerpc/ieee1275/init.c: Move from here ...
13241 * kern/ieee1275/init.c: ... to here. Update all users.
13242
13243 * kern/powerpc/ieee1275/cmain.c: Move from here ...
13244 * kern/ieee1275/cmain.c: ... to here. Update all users.
13245
13246 * kern/powerpc/ieee1275/openfw.c: Move from here ...
13247 * kern/ieee1275/openfw.c: ... to here. Update all users.
13248
13249 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
13250 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
13251
322562ea 132522008-04-10 Pavel Roskin <proski@gnu.org>
13253
13254 * configure.ac: Always use "_cv_" in cache variables for
13255 compatibility with Autoconf 2.62.
13256
a02a73c5 132572008-04-07 Robert Millan <rmh@aybabtu.com>
13258
13259 Revert grub/machine/init.h addition by Pavel (since it breaks on
13260 i386-ieee1275 and others):
13261 * util/i386/pc/misc.c: Remove grub/machine/init.h.
13262 * util/powerpc/ieee1275/misc.c: Likewise.
13263
25c024b1 132642008-04-07 Robert Millan <rmh@aybabtu.com>
13265
13266 * util/grub-probe.c (probe): Improve error message.
13267
3cbd2f98 132682008-04-07 Robert Millan <rmh@aybabtu.com>
13269
13270 * util/biosdisk.c (read_device_map): Skip devices that don't exist
13271 (this prevents the presence of a bogus entry from ruining the whole
13272 thing).
13273
87a297bf 132742008-04-06 Pavel Roskin <proski@gnu.org>
13275
36747a62 13276 * util/biosdisk.c: Include grub/util/biosdisk.h.
13277 * util/grub-fstest.c (execute_command): Make static.
13278 * util/grub-mkdevicemap.c (check_device): Likewise.
13279 * util/i386/pc/misc.c: Include grub/machine/init.h.
13280 * util/powerpc/ieee1275/misc.c: Likewise.
13281 * util/lvm.c: Include grub/util/lvm.h.
13282 * util/misc.c: Include grub/kernel.h, grub/misc.h and
13283 grub/cache.h.
13284 * util/raid.c: Include grub/util/raid.h.
13285 (grub_util_getdiskname): Make static.
13286
87a297bf 13287 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
13288 grub_hostfs_fini(), as they are called from grub_init_all() and
13289 grub_fini_all() respectively. This fixes an infinite loop in
13290 grub-fstest due to double registration of hostfs.
13291 Reported by Christian Franke <Christian.Franke@t-online.de>
13292
f6ce7629 132932008-04-05 Pavel Roskin <proski@gnu.org>
13294
13295 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
13296 all 8 functions. Otherwise, probe function 0 only.
13297
070e49e4 132982008-04-04 Pavel Roskin <proski@gnu.org>
13299
8b088a4c 13300 * commands/lspci.c (grub_lspci_iter): Print the bus number
13301 correctly.
13302
4f657021 13303 * commands/lspci.c (grub_pci_classes): Fix typos.
13304 (grub_lspci_iter): Don't print func twice. Print vendor ID
13305 before device ID, as it's normally done.
13306
070e49e4 13307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13308 Fix signedness warnings.
13309 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
13310 Likewise.
13311 * util/ieee1275/get_disk_name.c: Include config.h so that
13312 _GNU_SOURCE is defined and getline() is declared. Mark an
13313 unused argument as such. Fix a signedness warning.
13314
ba7328dc 133152008-04-02 Pavel Roskin <proski@gnu.org>
13316
26887f22 13317 * genkernsyms.sh.in: Use more robust assignments for CC and
13318 srcdir. Quote srcdir.
13319 * gensymlist.sh.in: Likewise. Assert at the compile time that
13320 the symbol table is not empty.
13321
ba7328dc 13322 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
13323 * fs/cpio.c (grub_cpio_read): Likewise.
13324
0f582c6b 133252008-04-01 Pavel Roskin <proski@gnu.org>
13326
4b6e1995 13327 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
13328 * disk/host.c (grub_host_open): Likewise.
13329 * disk/loopback.c (grub_loopback_open): Likewise.
13330 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
13331 disk->id as in disk/host.c, not a multi-character constant.
13332
828a2768 13333 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
13334 later is obsolete, potentially dangerous and sets a bad example.
13335 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
13336 * util/misc.c (grub_util_get_image_size): Likewise.
13337
2bb4fb47 13338 * disk/loopback.c (options): Improve help for "--partitions".
13339
0f582c6b 13340 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
13341 options to align them with the short options, e.g. "echo -e".
13342
a33224e0 133432008-03-31 Bean <bean123ch@gmail.com>
13344
13345 * video/reader/png.c (grub_png_data): New member is_16bit and
13346 image_data.
13347 (grub_png_decode_image_header): Detect 16 bit png image.
13348 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
13349 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
13350 (grub_video_reader_png): Release memory occupied by image_data.
13351
13352 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
13353 4096 bytes.
13354 (grub_nfs_mount): Skip the test for sector per cluster.
13355
13356 * include/grub/ntfs.h (MAX_SPC): Removed.
13357
86cb4f54 133582008-03-31 Bean <bean123ch@gmail.com>
13359
13360 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
13361 (grub_probe_SOURCES): Add fs/afs.c.
13362 (grub_fstest_SOURCES): Likewise.
13363 (afs_mod_SOURCES): New variable.
13364 (afs_mod_CFLAGS): Likewise.
13365 (afs_mod_LDFLAGS): Likewise.
13366
13367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
13368 (grub_emu_SOURCES): Likewise.
13369
13370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13371
13372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13373
13374 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13375
13376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13377
13378 * fs/afs.c: New file.
13379
17c74c21 133802008-03-30 Pavel Roskin <proski@gnu.org>
13381
4cb68e89 13382 * disk/host.c: Include grub/misc.h to fix a warning.
13383 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
13384 warnings about implicit declarations.
13385
8790bb04 13386 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
13387 variable.
13388 * include/grub/i386/loader.h: Change declaration of
13389 grub_linux_boot() to match what grub_loader_set() expects.
13390 * util/getroot.c (grub_guess_root_device): Return const char* to
13391 fix a warning.
13392 * util/grub-probe.c (probe): Fix a warning about uninitialized
13393 abstraction_name variable.
13394 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
13395 second argument as unused to fix a warning.
13396
9a3f3296 13397 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
13398 missing grub_error() call.
13399
0ecef90d 13400 * util/update-grub_lib.in: Define datarootdir, since Autoconf
13401 2.60 and newer uses it to define datadir.
13402
0bf6d401 13403 * commands/sleep.c: Fix warning about implicit declaration.
13404 * disk/memdisk.c: Likewise.
13405 * loader/aout.c: Likewise.
13406 * loader/i386/bsd_normal.c: Likewise.
13407 * util/grub-probe.c: Likewise.
13408
7cdacf97 13409 * commands/i386/cpuid.c (has_longmode): Make static.
13410 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
13411 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
13412
17c74c21 13413 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
13414 GDT. This is more robust, as %ds can change.
13415 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
13416 calling real_to_prot().
13417 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
13418
80a3e68b 134192008-03-28 Pavel Roskin <proski@gnu.org>
13420
13421 * kern/i386/pc/startup.S: Assert that uncompressed functions
13422 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
13423 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
13424 code, as they push parts of the code (error handlers) beyond
13425 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
13426 code as correctness and size.
13427
77bcd272 134282008-03-28 Pavel Roskin <proski@gnu.org>
13429
13430 * kern/i386/pc/startup.S
13431 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
13432 data block address to the real mode, keep offset minimal. This
13433 works around a bug in AWARD BIOS on old Athlon systems, which
13434 makes CD detection hang.
13435
c5dfd43b 134362008-03-26 Pavel Roskin <proski@gnu.org>
13437
13438 * normal/color.c (grub_parse_color_name_pair): Make `name' a
13439 const.
13440 * include/grub/normal.h: Add grub_parse_color_name_pair()
13441 declaration.
13442
bf962df2 134432008-03-24 Bean <bean123ch@gmail.com>
13444
13445 * disk/i386/pc/biosdisk.c (cd_start): Removed.
13446 (cd_count): Removed.
13447 (cd_drive): New variable.
13448 (grub_biosdisk_get_drive): Don't check for (cdN) device.
13449 (grub_biosdisk_call_hook): Likewise.
13450 (grub_biosdisk_iterate): Change cdrom detection method.
13451 (grub_biosdisk_open): Replace cd_start with cd_drive.
13452 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
13453 detect cdrom device.
13454
13455 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
13456 Removed.
13457 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
13458 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
13459 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
13460 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
13461 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
13462 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
13463 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
13464 (grub_biosdisk_cdrp): New structure.
13465 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
13466
13467 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
13468
13469 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
13470 device.
13471
13472 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
13473 New function.
13474
68e7fc7a 134752008-03-20 Robert Millan <rmh@aybabtu.com>
13476
13477 Remove 2 TiB limit in ata.mod.
13478 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
13479 (grub_ata_dumpinfo): Print sector count with 0x%llx.
13480 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
13481 grub_uint64_t instead of grub_uint32_t.
13482
38ad2cf5 134832008-03-05 Bean <bean123ch@gmail.com>
13484
13485 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
13486 (grub_multiboot): Set boot device.
13487
13488 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
13489
2b89344e 134902008-03-02 Bean <bean123ch@gmail.com>
13491
13492 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
13493 symlink_buffer.
13494
87a95d1f 134952008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
13496
13497 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
13498 texinfo.tex.
13499
13500 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
13501 modified.
13502
13503 * docs/fdl.texi: New file.
f19dbdb7 13504
87a95d1f 13505 * docs/mdate-sh: New file. Copied from gnulib.
13506 * docs/texinfo.tex: Likewise.
13507
13508 * config.guess: Updated from gnulib.
13509 * install-sh: Likewise.
13510
7dc15d8e 135112008-02-28 Robert Millan <rmh@aybabtu.com>
13512
13513 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
13514 (aout_mod_SOURCES): New variable.
13515 (aout_mod_CFLAGS): Likewise.
13516 (aout_mod_LDFLAGS): Likewise.
13517
13518 * conf/i386-ieee1275.rmk: Likewise.
13519
b00ab696 135202008-02-28 Robert Millan <rmh@aybabtu.com>
13521
13522 * util/update-grub.in: Reorganise terminal validity check. Accept
13523 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
13524 Based on suggestion by Franklin PIAT.
13525
79ca2d78 135262008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
13527
13528 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
13529 function.
13530 * util/getroot.c (grub_util_check_block_device): New function that
13531 returns the given argument if it is a block device and returns NULL else.
13532 * util/grub-probe.c (argument_is_device): New variable.
13533 (probe): Promote device_name from a variable to an argument. Receive
13534 device_name from grub_util_check_block_device() if path is NULL and from
13535 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 13536 (options): Introduce new parameter '-d, --device'.
79ca2d78 13537 (main): Add description of the new parameter to the help screen.
13538 Rename path variable to argument. Set argument_is_device if the '-d'
13539 option is given. Pass argument to probe() depending on
13540 argument_is_device.
13541
0d16e571 135422008-02-24 Bean <bean123ch@gmail.com>
13543
13544 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
13545 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
13546 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
13547 (GRUB_ISO9660_VOLDESC_PART): Likewise.
13548 (GRUB_ISO9660_VOLDESC_END): Likewise.
13549 (grub_iso9660_primary_voldesc): New member escape.
13550 (grub_iso9660_data): New member joliet.
13551 (grub_iso9660_convert_string): New function.
13552 (grub_iso9660_mount): Detect joliet extension.
13553 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
13554 (grub_iso9660_iso9660_label): Likewise.
13555
13556 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
13557 (grub_setup_SOURCES): Add fs/udf.c.
13558 (grub_fstest_SOURCES): Likewise.
13559 (udf_mod_SOURCES): New variable.
13560 (udf_mod_CFLAGS): Likewise.
13561 (udf_mod_LDFLAGS): Likewise.
13562
13563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
13564 (grub_emu_SOURCES): Likewise.
13565
13566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13567
13568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13569
13570 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13571
13572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13573
13574 * fs/udf.c: New file.
13575
8a594a17 135762008-02-24 Robert Millan <rmh@aybabtu.com>
13577
13578 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
13579 (normal/lexer.c_DEPENDENCIES): New variables.
13580 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13581 (normal/lexer.c_DEPENDENCIES): Likewise.
13582 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
13583 (normal/lexer.c_DEPENDENCIES): Likewise.
13584 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
13585 (normal/lexer.c_DEPENDENCIES): Likewise.
13586 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13587 (normal/lexer.c_DEPENDENCIES): Likewise.
13588 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13589 (normal/lexer.c_DEPENDENCIES): Likewise.
13590
2dc33c03 135912008-02-23 Robert Millan <rmh@aybabtu.com>
13592
13593 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
13594 since they were intended to be in hex. This didn't break previously
13595 because of a bug in gpt_partition_map_iterate() (see below).
13596
13597 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
13598 when checking the validity of GPT header.
13599 Remove `partno', since it always provides the same information as `i'.
13600
f6f4cfb0 136012008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
13602
13603 * include/grub/efi/time.h: Fix a wrong comment.
13604
79ff665f 136052008-02-19 Pavel Roskin <proski@gnu.org>
13606
13607 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
13608 message.
13609
d38e24c2 136102008-02-19 Bean <bean123ch@gmail.com>
13611
13612 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
13613 (aout_mod_SOURCES): New variable.
13614 (aout_mod_CFLAGS): Likewise.
13615 (aout_mod_LDFLAGS): Likewise.
13616 (_bsd_mod_SOURCES): New variable.
13617 (_bsd_mod_CFLAGS): Likewise.
13618 (_bsd_mod_LDFLAGS): Likewise.
13619 (bsd_mod_SOURCES): New variable.
13620 (bsd_mod_CFLAGS): Likewise.
13621 (bsd_mod_LDFLAGS): Likewise.
13622
13623 * include/grub/aout.h: New file.
13624
13625 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
13626
13627 * include/grub/i386/bsd.h: New file.
13628
13629 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
13630 to make it public.
13631
13632 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
13633 function is called, so that it's possible to change it inside the hook.
13634 (grub_elf64_load): Likewise.
13635 (grub_elf_file): Don't close the file if elf header is not found.
13636 (grub_elf_close): Close the file if grub_elf_file fails (The new
13637 grub_elf_file won't close it).
13638 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
13639 (grub_elf64_size): Likewise.
13640
13641 * kern/i386/loader.S (grub_unix_real_boot): New function.
13642
13643 * loader/aout.c: New file.
13644
13645 * loader/i386/bsd.c: New file.
13646
13647 * loader/i386/bsd_normal.c: New file.
13648
13649 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
13650
13651 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 13652 can test other formats.
d38e24c2 13653
b93bdb0f 136542008-02-19 Robert Millan <rmh@aybabtu.com>
13655
13656 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
13657 (grub_gpt_partition_type_empty): Redefine with macro from
13658 `<grub/gpt_partition.h>'.
13659 (gpt_partition_map_iterate): Adjust partition type comparison.
13660
13661 Export `entry' as partmap-specific `part.data' struct.
13662 (grub_gpt_header, grub_gpt_partentry): Move from here ...
13663
13664 * include/grub/gpt_partition.h (grub_gpt_header)
13665 (grub_gpt_partentry): ... to here (new file).
13666
13667 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
13668
13669 (grub_gpt_partition_type_bios_boot): New const variable, defined
13670 with macro from `<grub/gpt_partition.h>'.
13671
13672 (setup): Replace `first_start' with `embed_region', which keeps
13673 track of the embed region (and is partmap-agnostic).
13674
13675 Replace find_first_partition_start() with find_usable_region(),
13676 which finds a usable region for embedding using partmap-specific
13677 knowledge (supports PC/MSDOS and GPT).
13678
13679 Fix all assumptions that the embed region start at sector 1, using
13680 `embed_region.start' from now on. Similarly, use `embed_region.end'
13681 rather than `first_start' to calculate available size.
13682
13683 In grub_util_info() message, replace "into after the MBR" with an
13684 indication of the specific sector our embed region starts at.
13685
66cb40f6 136862008-02-19 Robert Millan <rmh@aybabtu.com>
13687
13688 * DISTLIST: Replace `commands/ieee1275/halt.c' and
13689 `commands/ieee1275/reboot.c' with `commands/halt.c' and
13690 `commands/reboot.c'.
13691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13692 (halt_mod_SOURCES): Likewise.
13693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13694 (halt_mod_SOURCES): Likewise.
13695
b7202015 136962008-02-17 Christian Franke <franke@computer.org>
13697
13698 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
13699
32b0fc49 137002008-02-17 Robert Millan <rmh@aybabtu.com>
13701
13702 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13703 set `first_start' to 0 for non-PC/MSDOS partition maps.
13704
aca63502 137052008-02-16 Robert Millan <rmh@aybabtu.com>
13706
13707 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13708 do not assume partition map is PC/MSDOS before performing checks that
13709 are specific to that layout.
13710
0de8be86 137112008-02-13 Robert Millan <rmh@aybabtu.com>
13712
13713 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
13714 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
13715 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
13716
c3db8364 137172008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
13718
13719 * configure.ac: Only a cosmetic change on the handling of
13720 -fno-stack-protector.
13721
f714229e 137222008-02-12 Alexandre Boeglin <alex@boeglin.org>
13723
c3db8364 13724 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
13725 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
13726 reboot.c.
f714229e 13727 (grub_install_SOURCES): Add halt.mod and reboot.mod.
13728 (halt_mod_SOURCES): New variable.
13729 (halt_mod_CFLAGS): Likewise.
13730 (halt_mod_LDFLAGS): Likewise.
13731 (reboot_mod_SOURCES): Likewise.
13732 (reboot_mod_CFLAGS): Likewise.
13733 (reboot_mod_LDFLAGS): Likewise.
13734
c3db8364 13735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
13736 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
13737 reboot.c.
f714229e 13738 (halt_mod_SOURCES): Likewise.
13739 (reboot_mod_SOURCES): Likewise.
13740
c3db8364 13741 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
13742 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 13743 (reboot_mod_SOURCES): Likewise.
13744
13745 * commands/i386/pc/reboot.c: merge this file ...
13746
13747 * commands/ieee1275/reboot.c: ... and this file ...
13748
13749 * commands/reboot.c: ... to this file.
c3db8364 13750 Add some precompiler directive to include the correct header for
13751 each machine.
f714229e 13752
13753 * commands/ieee1275/halt.c: move this file ...
13754
13755 * commands/halt.c: ... to here.
c3db8364 13756 Add some precompiler directive to include the correct header for
13757 each machine.
f714229e 13758
13759 * include/grub/efi/efi.h (grub_reboot): New function declaration.
13760 (grub_halt): Likewise.
13761
13762 * kern/efi/efi.c (grub_reboot): New function.
13763 (grub_halt): Likewise.
13764
c74493e0 137652008-02-12 Robert Millan <rmh@aybabtu.com>
13766
13767 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
13768 /dev (like it is done for /dev/mapper). This doesn't provide support
13769 for EVMS, but at least it is now easy to identify the problem when it
13770 arises.
13771
d0db4b04 137722008-02-11 Robert Millan <rmh@aybabtu.com>
13773
13774 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
13775 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
13776 comparing it with -1, not 0.
13777
bf748642 137782008-02-10 Robert Millan <rmh@aybabtu.com>
13779
13780 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
13781 `disk/lvm.c'.
13782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13783 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13784
13785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
13786 `disk/lvm.c' to the end of the list.
13787 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13789
b5db202a 137902008-02-10 Robert Millan <rmh@aybabtu.com>
13791
13792 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
13793 grub_print_error() instead. This will let user know why we're entering
13794 rescue mode.
13795 Based on suggestions from Sam Morris.
13796
83abee31 137972008-02-10 Alexandre Boeglin <alex@boeglin.org>
13798
13799 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
13800 on remaining N args, instead of "--" arg N times.
13801
78d5a08b 138022008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
13803
13804 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
13805 (fill_with_default_glyph): Changed to use unknown_glyph for fill
13806 pattern for unknown glyphs.
13807
68807e5f 138082008-02-09 Robert Millan <rmh@aybabtu.com>
13809
13810 * configure.ac: Probe for `help2man'.
13811 * Makefile.in (builddir): New variable.
13812 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
13813 or otherwise add a few flags/options to it.
13814 (install-local): For every executable utility or script that is
13815 installed, invoke $(HELP2MAN) to install a manpage based on --help
13816 output.
13817
13818 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
13819 that it doesn't prevent --help from working in build tree.
13820
13821 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
13822 with `bug-grub@gnu.org'.
13823 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
13824 * util/update-grub.in (usage): New function.
13825 Implement proper argument check, with support for --help and --version
13826 (as well as existing -y).
13827
138282008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 13829
13830 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
13831 avoid overwriting previous output.
13832 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
13833
c1962162 138342008-02-09 Robert Millan <rmh@aybabtu.com>
13835
13836 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
13837 drawing the menu.
13838
3dac2e3f 138392008-02-09 Robert Millan <rmh@aybabtu.com>
13840
13841 * commands/sleep.c: New file.
13842 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
13843 (sleep_mod_SOURCES): New variable.
13844 (sleep_mod_CFLAGS): Likewise.
13845 (sleep_mod_LDFLAGS): Likewise.
13846
7a634e08 138472008-02-09 Robert Millan <rmh@aybabtu.com>
13848
13849 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
13850 situations in which we can deduce the RAID size and the superblock
13851 doesn't match it.
13852
b92f0c18 138532008-02-09 Robert Millan <rmh@aybabtu.com>
13854
13855 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
13856 and return a grub_diskmemberlist_t composed of LVM physical volumes.
13857 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
13858
13859 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
13860 and return a grub_diskmemberlist_t composed of physical array members.
13861 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
13862
13863 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
13864 prototype.
13865 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
13866 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
13867 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
13868
13869 * util/grub-probe.c (probe): Move partmap probing code from here ...
13870 (probe_partmap): ... to here.
13871 (probe): Use probe_partmap() once for the disk we're probing, and
13872 additionally, when such disk contains a memberlist() struct member,
13873 once for each disk that is contained in the structure returned by
13874 memberlist().
13875
91a4bf68 138762008-02-09 Robert Millan <rmh@aybabtu.com>
13877
13878 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
13879 environment variable to 'all' in order to obtain debug output from
13880 non-util/ code.
13881 * util/i386/pc/grub-setup.c (main): Likewise.
13882
a96f9caa 138832008-02-08 Robert Millan <rmh@aybabtu.com>
13884
13885 * disk/raid.c (grub_raid_scan_device): Check for
13886 `array->device[sb.this_disk.number]' rather than for
13887 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 13888 guaranteed to be accessible.
a96f9caa 13889
b37a9222 138902008-02-08 Robert Millan <rmh@aybabtu.com>
13891
13892 * disk/raid.c: Update copyright.
13893 * fs/cpio.c: Likewise.
13894 * include/grub/raid.h: Likewise.
13895 * loader/i386/pc/multiboot.c: Likewise.
13896 * util/hostfs.c: Likewise.
13897
5626aee1 138982008-02-08 Robert Millan <rmh@aybabtu.com>
13899
13900 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
13901 to a grub_disk_t array.
13902 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
13903 `device[x]'.
13904 (grub_raid_scan_device): Replace `device[x].name' accesses with
13905 `device[x]->name'. Simplify initialization of `array->device[x]'.
13906
554f0187 139072008-02-08 Robert Millan <rmh@aybabtu.com>
13908
13909 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
13910 grub_dprintf() calls.
13911 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
13912 error message.
13913
1ec8425d 139142008-02-07 Christian Franke <franke@computer.org>
13915
13916 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
13917 instead of fseek and ftell to support large files.
13918 (grub_hostfs_read): Likewise.
13919
f2156fda 139202008-02-07 Robert Millan <rmh@aybabtu.com>
13921
13922 Patch from Jeroen Dekkers.
13923 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 13924 failure, since successfully reading all array members might not be
f2156fda 13925 required.
13926
9216e0e7 139272008-02-06 Robert Millan <rmh@aybabtu.com>
13928
13929 * util/grub-probe.c (probe): Simplify partmap probing (with the
13930 assumption that the first word up to the underscore equals to
13931 the module name).
13932
b0dfd29a 139332008-02-06 Christian Franke <franke@computer.org>
13934
13935 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13936 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13937 last block of a cpio or tar stream.
13938 Check for "TRAILER!!!" instead of any empty data
13939 block to detect last block of a cpio stream.
13940 (grub_cpio_dir): Fix constness of variable np.
13941 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13942 cpio or tar trailer is detected. This fixes a crash
13943 on open of a non existing file.
13944
c32865bf 139452008-02-05 Bean <bean123ch@gmail.com>
13946
13947 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13948 address of entry.
13949 (grub_multiboot_load_elf64): Likewise.
13950 (grub_multiboot): Initialize mbi structure.
13951
13952 * util/grub-fstest.c: Don't include unused header file script.h.
13953
fe6b695a 13954 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13955 of file.
13956 (grub_fstest_SOURCES): Likewise.
13957
409480b7 139582008-02-05 Robert Millan <rmh@aybabtu.com>
13959
13960 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13961 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13962 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13963 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13964
13965 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13966 (translation_table): Replace hardcoded values with macros
13967 provided by `<grub/term.h>'.
13968
13969 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13970 (keyboard_map): Correct/add a few values, with macros provided
13971 by `<grub/term.h>'.
13972 (keyboard_map_shift): Zero values that don't differ from their
13973 `keyboard_map' equivalents.
13974 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13975 Discard the second scan code that is always sent by Caps lock.
13976 Only use `keyboard_map_shift' when it provides a non-zero value,
13977 otherwise fallback to `keyboard_map'.
13978
99fadbaa 139792008-02-04 Bean <bean123ch@gmail.com>
13980
13981 * Makefile.in (enable_grub_fstest): New variable.
13982
13983 * conf/common.rmk (grub_fstest_init.lst): New rule.
13984 (grub_fstest_init.h): Likewise.
13985 (grub_fstest_init.c): Likewise.
13986 (util/grub-fstest.c_DEPENDENCIES): New variable.
13987 (grub_fstest_SOURCES): Likewise.
13988
13989 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13990
13991 * util/grub-fstest.c: New file.
13992
bf567c50 139932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13994
13995 Make grub-setup handle a separate root device.
f19dbdb7 13996
bf567c50 13997 * util/i386/pc/grub-setup.c (setup): Always open the root device,
13998 so that the root device can be compared with the destination
13999 device.
14000 When embedding the core image, if the root and destination devices
14001 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
14002 0xFF.
14003 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 14004
9be6b98b 140052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14006
14007 Add support for having a grub directory in a different drive. This
14008 is still only the data handling part.
f19dbdb7 14009
9be6b98b 14010 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
14011 (codestart): Save %dh in GRUB_ROOT_DRIVE.
14012 (grub_root_drive): New variable.
14013
14014 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
14015 instead of GRUB_BOOT_DRIVE to construct a device name. Set
14016 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14017 as it was.
14018
14019 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14020
14021 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14022 macro.
14023 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14024
14025 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14026 is bogus, because PXE booting does not specify any drive
14027 correctly.
14028
14029 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14030 am not sure if this is really correct.
14031
14032 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14033 is always identical to the boot drive when booting from a CD.
14034
14035 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14036 longer.
14037 (root_drive): New variable.
14038 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14039 (setup_sectors): Push %dx right after popping it, because %dh will
14040 be modified later.
14041 (copy_buffer): Restore %dx.
14042
e0ca0677 140432008-02-03 Robert Millan <rmh@aybabtu.com>
14044
14045 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14046 use `cdboot.img' for cdrom images.
14047
3b3f6629 140482008-02-03 Robert Millan <rmh@aybabtu.com>
14049
14050 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14051 only setup gfxterm when `font' command has succeeded.
14052
d42b3672 140532008-02-03 Robert Millan <rmh@aybabtu.com>
14054
14055 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14056 (grub_rescue_cmd_multiboot_loader)
14057 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14058
fa370ea6 140592008-02-03 Pavel Roskin <proski@gnu.org>
14060
e0c5dacb 14061 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14062 %edx and %esi from stack only after grub_gate_a20() is called.
14063 grub_gate_a20() clobbers %edx.
14064
f2a76e1d 140652008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14066
14067 * configure.ac (AC_INIT): Bumped to 1.96.
14068
14069 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14070 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14071 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14072 video/readers/png.c.
14073
90fd32d1 140742008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14075
14076 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14077 (cdboot_img_SOURCES): New variable.
14078 (cdboot_img_ASFLAGS): New variable.
14079 (cdboot_img_LDFLAGS): New variable.
14080
14081 * boot/i386/pc/cdboot.S: New file.
14082
14083 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14084 (cd_count): Likewise.
14085 (grub_biosdisk_get_drive): Add support for cd device.
14086 (grub_biosdisk_call_hook): Likewise.
14087 (grub_biosdisk_iterate): Likewise.
14088 (grub_biosdisk_open): Likewise.
14089 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14090 (grub_biosdisk_rw): Support reading from cd device.
14091 (GRUB_MOD_INIT): Iterate cd devices.
14092
14093 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14094 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14095 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14096
14097 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14098
4020aa53 140992008-02-02 Robert Millan <rmh@aybabtu.com>
14100
14101 * commands/read.c: New file.
14102 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
14103 (read_mod_SOURCES): New variable.
14104 (read_mod_CFLAGS): Likewise.
14105 (read_mod_LDFLAGS): Likewise.
14106
e03a1132 141072008-02-02 Robert Millan <rmh@aybabtu.com>
14108
14109 * normal/main.c (grub_normal_execute): Check for `menu->size' when
14110 determining whether menu has to be displayed.
14111
58c69220 141122008-02-02 Marco Gerards <marco@gnu.org>
14113
14114 * bus/pci.c: New file.
14115
14116 * include/grub/pci.h: Likewise.
14117
14118 * include/grub/i386/pc/pci.h: Likewise.
14119
14120 * commands/lspci.c: Likewise.
14121
14122 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
14123 `lspci.mod'.
14124 (pci_mod_SOURCES): New variable.
14125 (pci_mod_CFLAGS): Likewise.
14126 (pci_mod_LDFLAGS): Likewise.
14127 (lspci_mod_SOURCES): Likewise.
14128 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 14129 (lspci_mod_LDFLAGS): Likewise.
58c69220 14130
c004e1b4 141312008-02-02 Bean <bean123ch@gmail.com>
14132
14133 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
14134 (grub_ufs_get_file_block): Fix indirect block calculation problem.
14135
14136 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
14137 (grub_xfs_btree_node): New structure.
14138 (grub_xfs_btree_root): New structure.
14139 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
14140 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
14141 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14142 (GRUB_XFS_EXTENT_SIZE): Likewise.
14143 (grub_xfs_read_block): Support btree format type.
14144 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
14145 Use directory block as basic unit.
14146
14147 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
14148
14149 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
14150 __attribute__ ((__regparm__ (1))).
14151
f95562bf 141522008-02-01 Robert Millan <rmh@aybabtu.com>
14153
14154 Correct a mistake in previous commit.
14155
14156 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
14157 top.
14158 (normal/command.c_DEPENDENCIES): New variable.
14159
7d31f41f 141602008-02-01 Robert Millan <rmh@aybabtu.com>
14161
14162 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
14163 top.
14164 (normal/command.c_DEPENDENCIES): New variable.
14165 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
14166 * conf/i386-ieee1275.rmk: Likewise.
14167 * conf/i386-linuxbios.rmk: Likewise.
14168 * conf/i386-pc.rmk: Likewise.
14169 * conf/sparc64-ieee1275.rmk: Likewise.
14170 * conf/powerpc-ieee1275.rmk: Likewise.
14171 (grub_emu_SOURCES): Add `fs/fshelp.c'.
14172
14173 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
14174
60b6be74 141752008-02-01 Robert Millan <rmh@aybabtu.com>
14176
14177 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
14178 call at beginning of function.
14179
078522ab 141802008-01-31 Pavel Roskin <proski@gnu.org>
14181
14182 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 14183 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
14184 (grub_mkrescue_SOURCES): Likewise.
078522ab 14185 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
14186
ccaa8a5f 141872008-01-30 Robert Millan <rmh@aybabtu.com>
14188
14189 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
14190 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
14191 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
14192 (grub_probe_SOURCES): ... to here.
14193
14194 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
14195 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
14196 * conf/i386-ieee1275.rmk: Likewise.
14197 * conf/i386-linuxbios.rmk: Likewise.
14198 * conf/powerpc-ieee1275.rmk: Likewise.
14199
ae5a9cd7 142002008-01-30 Tristan Gingold <gingold@free.fr>
14201
14202 * kern/rescue.c: Silently accept empty lines.
14203
70bc2ef2 142042008-01-29 Bean <bean123ch@gmail.com>
14205
14206 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
14207 (real_code_2): Code cleanup and change comment style.
14208 (move_memory): Avoid using 32-bit address mode.
14209
6a4d50ea 142102008-01-29 Bean <bean123ch@gmail.com>
14211
14212 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
14213 (png_mod_SOURCES): New variable.
14214 (png_mod_CFLAGS): Likewise.
14215 (png_mod_LDFLAGS): Likewise.
14216
14217 * video/readers/png.c: New file.
14218
11cc30ac 142192008-01-28 Robert Millan <rmh@aybabtu.com>
14220
14221 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
14222 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
14223 `ifndef GRUB_MOD_GAP' hack.
14224 * util/elf/grub-mkimage.c (add_segments): Likewise.
14225
3abc589f 142262008-01-27 Robert Millan <rmh@aybabtu.com>
14227
14228 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
14229 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 14230 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 14231
e1907778 142322008-01-27 Robert Millan <rmh@aybabtu.com>
14233
14234 Get grub-emu to build again (including parallel builds).
14235
14236 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
14237 Split into ...
14238 (util/grub-emu.c_DEPENDENCIES): ... this, ...
14239 (normal/execute.c_DEPENDENCIES): ... this, ...
14240 (grub-emu_DEPENDENCIES): ... and this.
14241
14242 * conf/i386-efi.rmk: Likewise.
14243 * conf/i386-linuxbios.rmk: Likewise.
14244 * conf/i386-ieee1275.rmk: Likewise.
14245 * conf/powerpc-ieee1275.rmk: Likewise.
14246 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
14247
2216b101 142482008-01-27 Robert Millan <rmh@aybabtu.com>
14249
14250 * NEWS: Add a few items.
14251
f75172d9 142522008-01-27 Robert Millan <rmh@aybabtu.com>
14253
14254 Fix parallel builds with grub-emu. Based on earlier commit for
14255 grub-probe and grub-setup.
14256
14257 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14258 (util/grub-emu.c_DEPENDENCIES): ... this.
14259 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14260 (util/grub-emu.c_DEPENDENCIES): ... this.
14261 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14262 (util/grub-emu.c_DEPENDENCIES): ... this.
14263 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14264 (util/grub-emu.c_DEPENDENCIES): ... this.
14265 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14266 (util/grub-emu.c_DEPENDENCIES): ... this.
14267
3f51de77 142682008-01-27 Pavel Roskin <proski@gnu.org>
14269
14270 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
14271 to create a gap between _end and the modules added to the image
14272 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
14273 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
14274 * util/elf/grub-mkimage.c (add_segments): Likewise.
14275
2033f53e 142762008-01-26 Pavel Roskin <proski@gnu.org>
14277
14278 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
14279 just return an error.
14280
22da1f6f 142812008-01-26 Bean <bean123ch@gmail.com>
14282
14283 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
14284 (grub_reiserfs_get_item): Save offset of the next item.
14285 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
14286
2a9525e6 142872008-01-25 Robert Millan <rmh@aybabtu.com>
14288
14289 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
14290 make all filesystem sources appear together (possibly fixing omissions
14291 while at it).
14292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14294 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14296
14297 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
14298 add `kern/file.c'.
14299 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
14300 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14301 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
14302 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14303
14304 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
14305 (probe): Add a sanity check to make sure of our ability to read
14306 requested files when probing for filesystem type.
14307
14308 * genmk.rb: Update copyright year (2007).
14309
14310 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
14311 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
14312 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
14313 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
14314 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
14315 : Remove function prototypes.
14316
b95f71b5 143172008-01-25 Robert Millan <rmh@aybabtu.com>
14318
14319 Revert my previous commits (based on wrong assumption of how grub_errno
14320 works).
14321
fe6b695a 14322 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 14323 * kern/file.c (grub_file_open): Likewise.
14324
d08bbb49 143252008-01-24 Pavel Roskin <proski@gnu.org>
14326
14327 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
14328 that hang if GRUB tries to setup colors.
14329 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
14330 colors for firmwares that don't support it.
14331 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
14332 Recognize Open Hack'Ware, set flags to work around its
14333 limitations.
14334
605e36ed 143352008-01-24 Robert Millan <rmh@aybabtu.com>
14336
14337 * kern/file.c (grub_file_open): Do not account previous failures of
14338 unrelated functions when grub_errno is checked for.
14339 Reported by Oleg Strikov.
14340
bac332a1 143412008-01-24 Bean <bean123ch@gmail.com>
14342
14343 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
14344 (grub_ufs_sblock): New member volume name.
14345 (grub_ufs_find_file): Fix string copy bug.
14346 (grub_ufs_label): Implement this function properly.
14347
14348 * fs/hfs.c (grub_hfs_cnid_type): New enum.
14349 (grub_hfs_iterate_records): Use the correct file number for extents
14350 and catalog file. Fix problem in next index calculation.
14351 (grub_hfs_find_node): Replace recursive function call with loop.
14352 (grub_hfs_iterate_dir): Replace recursive function call with loop.
14353
15c80c09 143542008-01-23 Robert Millan <rmh@aybabtu.com>
14355
14356 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
14357 `<grub/symbol.h>' and `<grub/multiboot.h>'.
14358 (grub_multiboot2_real_boot): New function prototype.
14359
14360 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
14361 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
14362
14363 * kern/i386/ieee1275/init.c (grub_os_area_addr)
14364 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
14365
305338fd 143662008-01-23 Robert Millan <rmh@aybabtu.com>
14367
14368 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
14369 #ifdef'ed out grub_printf().
14370
3ea52685 143712008-01-23 Robert Millan <rmh@aybabtu.com>
14372
14373 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
14374 grub_dprintf calls, since they make "debug=all" mode unusable.
14375 (grub_console_checkkey): Likewise.
14376
5882ae4b 143772008-01-23 Robert Millan <rmh@aybabtu.com>
14378
14379 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14380 `term/i386/pc/at_keyboard.c'.
14381 (pkglib_MODULES): Add `serial.mod'.
14382 (serial_mod_SOURCES): New variable.
14383 (serial_mod_CFLAGS): Likewise.
14384 (serial_mod_LDFLAGS): Likewise.
14385
14386 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
14387 `<grub/powerpc/ieee1275/console.h>'.
14388 (grub_keyboard_controller_init): New function prototype.
14389 (grub_console_checkkey): Likewise.
14390 (grub_console_getkey): Likewise.
14391
14392 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
14393 keyboard on i386.
14394
14395 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
14396 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
14397
06ab5303 143982008-01-23 Robert Millan <rmh@aybabtu.com>
14399
14400 * kern/i386/pc/init.c (make_install_device): When memdisk image is
14401 present, "(memdisk)/boot/grub" becomes the default prefix.
14402
14403 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
14404 a memdisk tarball with all the modules. Add --overlay=DIR option that
14405 allows users to overlay additional files into the image.
14406
dbb475a4 144072008-01-23 Robert Millan <rmh@aybabtu.com>
14408
14409 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
14410 and `machine/memory.h'.
14411 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
14412 (_multiboot_mod_SOURCES): New variable.
14413 (_multiboot_mod_CFLAGS): Likewise.
14414 (_multiboot_mod_LDFLAGS): Likewise.
14415 (multiboot_mod_SOURCES): Likewise.
14416 (multiboot_mod_CFLAGS): Likewise.
14417 (multiboot_mod_LDFLAGS): Likewise.
14418
14419 * include/grub/i386/ieee1275/loader.h: New file.
14420
14421 * include/grub/i386/ieee1275/machine.h: Likewise.
14422
14423 * include/grub/i386/ieee1275/memory.h: Likewise.
14424
14425 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
14426 variable declaration.
14427 (grub_os_area_size): Likewise.
14428
14429 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
14430 (grub_lower_mem, grub_upper_mem): New variables.
14431 (grub_stop_floppy): New function (just to make
14432 grub_multiboot2_real_boot() happy).
14433
14434 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
14435 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
14436 (grub_stop): New function.
14437 Include `"../realmode.S"' and `"../loader.S"'.
14438
14439 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
14440 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
14441
14442 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
14443 rely on grub_multiboot2_real_boot() for final boot.
14444
25638629 144452008-01-22 Robert Millan <rmh@aybabtu.com>
14446
14447 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
14448 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
14449 device that doesn't look like an SD card.
14450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14451 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
14452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
14453 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
14454 found.
14455
9dad816d 144562008-01-22 Robert Millan <rmh@aybabtu.com>
14457
14458 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
14459 avoid claiming over our own code.
14460
34842f2d 144612008-01-22 Bean <bean123ch@gmail.com>
14462
14463 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
14464 (jpeg_mod_SOURCES): New variable.
14465 (jpeg_mod_CFLAGS): Likewise.
14466 (jpeg_mod_LDFLAGS): Likewise.
14467
14468 * video/readers/jpeg.c : New file.
14469
44023a28 144702008-01-22 Bean <bean123ch@gmail.com>
14471
14472 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
14473 there are no more items.
14474
bc2d8ac6 144752008-01-21 Robert Millan <rmh@aybabtu.com>
14476
14477 * kern/mm.c (grub_mm_init_region): Improve debug message.
14478
261bd4bc 144792008-01-21 Robert Millan <rmh@aybabtu.com>
14480
14481 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
14482 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
14483 address.
14484 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
14485 a C macro.
14486 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
14487 Indicates start of upper memory.
14488 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
14489 (generate_image): Abort when image size is big enough to corrupt
14490 upper memory.
14491
14492 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
14493 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
14494 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14495 instead of hardcoding 0xA0000.
14496 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
14497 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14498 instead of hardcoding 0xA0000.
14499
f970b55e 145002008-01-21 Robert Millan <rmh@aybabtu.com>
14501
14502 * disk/memdisk.c (memdisk_size): New variable.
14503 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
14504 `memdisk_size'.
14505 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
14506 image to dynamic memory.
14507 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
14508 `memdisk_size'. Free memdisk block.
14509
1a8b0526 145102008-01-21 Robert Millan <rmh@aybabtu.com>
14511
14512 Fix detection of very small filesystems (like tar).
14513
14514 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
14515 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
14516 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
14517 a problem with this disk).
14518
6e9b4aab 145192008-01-21 Robert Millan <rmh@aybabtu.com>
14520
14521 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
14522 on grub_biosdisk_rw_standard() error.
14523
0d8837b2 145242008-01-21 Robert Millan <rmh@aybabtu.com>
14525
14526 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
14527 recent changes.
14528 * kern/elf.c: Likewise.
14529 * kern/ieee1275/ieee1275.c: Likewise.
14530 * kern/powerpc/ieee1275/openfw.c: Likewise.
14531 * term/ieee1275/ofconsole.c: Likewise.
14532
ffd36e34 145332008-01-21 Robert Millan <rmh@aybabtu.com>
14534
14535 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
14536
3f0093d0 14537 * include/grub/kernel.h (grub_arch_memdisk_addr)
14538 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 14539
3f0093d0 14540 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
14541 (grub_arch_memdisk_size): ... to here.
ffd36e34 14542
6c391b21 145432008-01-21 Robert Millan <rmh@aybabtu.com>
14544
14545 Mostly based on bugfix from Bean.
14546
14547 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
14548 attribute with hook() parameter.
14549 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
14550 declaration.
14551 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
14552 attribute with hook() parameter.
14553 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
14554 declaration.
14555
55a581dc 145562008-01-21 Robert Millan <rmh@aybabtu.com>
14557
14558 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
14559 (pkglib_MODULES): Add `memdisk.mod'.
14560 (memdisk_mod_SOURCES): New variable.
14561 (memdisk_mod_CFLAGS): Likewise.
14562 (memdisk_mod_LDFLAGS): Likewise.
14563
14564 * disk/memdisk.c: New file.
14565
14566 * include/grub/disk.h (grub_disk_dev_id): Add
14567 `GRUB_DISK_DEVICE_MEMDISK_ID'.
14568
14569 * include/grub/i386/pc/kernel.h
14570 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
14571 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
14572 (grub_kernel_image_size): New variable declaration.
14573 (grub_total_module_size): Likewise.
14574 (grub_memdisk_image_size): Likewise.
14575
14576 * include/grub/i386/pc/memory.h
14577 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
14578
14579 * include/grub/kernel.h: Include `<grub/symbol.h>'.
14580 (grub_arch_memdisk_addr): New variable declaration.
14581 (grub_arch_memdisk_size): Likewise.
14582
14583 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
14584 (grub_arch_memdisk_size): Likewise.
14585
14586 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
14587 (codestart): Replace hardcoded `0x100000' with
14588 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
14589
14590 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
14591 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
14592 not NULL, append the contents of the file it refers to, at the end of
14593 the compressed kernel image. Initialize `grub_memdisk_image_size'
14594 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
14595 (options): Add "memdisk"|'m' option.
14596 (main): Parse --memdisk|-m option, and pass user-provided path as
14597 parameter to generate_image().
14598
3d7f54c9 145992008-01-20 Robert Millan <rmh@aybabtu.com>
14600
14601 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
14602 grub_dprintf() calls from here ...
14603 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
14604
0bf74728 146052008-01-20 Robert Millan <rmh@aybabtu.com>
14606
14607 Fix detection of "real mode" when /options/real-mode? doesn't exist.
14608
14609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
14610 declaration.
14611 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
14612 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
14613 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 14614 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 14615 property).
14616 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
14617 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
14618
33bf70a7 146192008-01-19 Robert Millan <rmh@aybabtu.com>
14620
fe6b695a 14621 Get rid of confusing function (superseded by
33bf70a7 14622 `grub_ieee1275_get_integer_property')
14623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
14624 prototype.
14625 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
14626 function.
14627 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
14628 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 14629 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 14630
e2da7d26 146312008-01-19 Robert Millan <rmh@aybabtu.com>
14632
14633 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
14634 command after "shut-down", since implementations differ on which
14635 the command for halt is.
14636
59f1fd8d 146372008-01-19 Robert Millan <rmh@aybabtu.com>
14638
14639 * include/grub/i386/linuxbios/console.h: Add header protection.
14640 (grub_keyboard_controller_init): New function prototype.
14641 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
14642 (KEYBOARD_COMMAND_READ): Likewise.
14643 (KEYBOARD_COMMAND_WRITE): Likewise.
14644 (KEYBOARD_SCANCODE_SET1): Likewise.
14645 (grub_keyboard_controller_write): New function.
14646 (grub_keyboard_controller_read): Likewise.
14647 (grub_keyboard_controller_init): Likewise.
14648
14649 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
14650 (grub_console_init): On coreboot/LinuxBIOS, call
14651 grub_keyboard_controller_init().
14652
5f5a7c15 146532008-01-19 Robert Millan <rmh@aybabtu.com>
14654
14655 PowerPC changes provided by Pavel Roskin.
14656
14657 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
14658 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
14659 don't rely on cmain() doing it.
14660 * kern/i386/ieee1275/startup.S (_start): Store %eax in
14661 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
14662
1210e168 146632008-01-16 Robert Millan <rmh@aybabtu.com>
14664
14665 * include/grub/i386/linuxbios/memory.h
14666 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
14667 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
14668 receive `table_header' as argument. Instead, probe for it in the
14669 known memory ranges where it can be present.
14670 (grub_available_iterate): Do not pass a fixed `table_header' address
14671 to grub_linuxbios_table_iterate().
14672
3d04eab8 146732008-01-15 Robert Millan <rmh@aybabtu.com>
14674
14675 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
14676 * conf/i386-ieee1275.rmk: New file.
14677 * include/grub/i386/ieee1275/console.h: Likewise.
14678 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
14679 * include/grub/i386/ieee1275/kernel.h: Likewise.
14680 * include/grub/i386/ieee1275/time.h: Likewise.
14681 * kern/i386/ieee1275/init.c: Likewise.
14682 * kern/i386/ieee1275/startup.S: Likewise.
14683
d1bc1b73 146842008-01-15 Robert Millan <rmh@aybabtu.com>
14685
14686 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
14687 when pointers are 32-bit (but still do set it to one when they are
14688 64-bit).
14689
66a65807 146902008-01-15 Robert Millan <rmh@aybabtu.com>
14691
14692 * include/grub/ieee1275/ieee1275.h
14693 (grub_ieee1275_get_integer_property): New function prototype.
14694
14695 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
14696 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 14697 grub_ieee1275_get_property() to handle endianness.
66a65807 14698
14699 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
14700 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 14701 where appropriate.
66a65807 14702 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
14703 (grub_map): Likewise.
14704 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
14705
a83ccafd 147062008-01-15 Bean <bean123ch@gmail.com>
14707
14708 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
14709 (grub_script_execute_cmdline): Reset grub_errno.
14710
14711 * normal/main.c (read_config_file): Reset grub_errno.
14712
14713 * normal/parse.y (script_init): New.
14714 (script): Move function and menuentry here.
14715 (delimiter): New.
14716 (command): Add delimiter at the end of command.
14717 (commands): Adjust to match the new command.
14718 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 14719 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 14720 (if): Use the new commands.
14721
14722 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
14723
df6ecfc6 147242008-01-15 Robert Millan <rmh@aybabtu.com>
14725
14726 * normal/menu.c (run_menu): Move timeout message from here ...
14727 (print_timeout): ... to here.
14728 (run_menu): Use print_timeout() once during initial draw to print
14729 the whole message, and again in every clock tick to update only
14730 the number of seconds.
14731
87ae25eb 147322008-01-15 Robert Millan <rmh@aybabtu.com>
14733
14734 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
14735 actual size of `available' from grub_ieee1275_get_property(), and
14736 restrict parsing to that bound.
14737
47bf09a4 147382008-01-15 Christian Franke <franke@computer.org>
14739
14740 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
14741 (argp_program_version): Remove variable.
14742 (argp_program_bug_address): Likewise.
14743 (options): Convert from struct argp_option to struct option.
14744 (struct arguments): Remove.
14745 (parse_opt): Remove.
14746 (usage): New function.
14747 (main): Replace struct args members by simple variables.
14748 Replace argp_parse() by getopt_long().
14749 Add switch to evaluate options.
14750 Add missing "(...)" around root_dev in prefix string.
14751
c86f1469 147522008-01-14 Robert Millan <rmh@aybabtu.com>
14753
14754 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
14755 for grub_ieee1275_exit(), in order to improve portability.
14756
e622c559 147572008-01-14 Robert Millan <rmh@aybabtu.com>
14758
14759 * util/grub.d/10_linux.in (prefix): Define.
14760 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
14761
44cb1ec8 147622008-01-13 Pavel Roskin <proski@gnu.org>
14763
14764 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
14765 grub_errno if no errors have been detected.
14766
1eb8c802 147672008-01-12 Robert Millan <rmh@aybabtu.com>
14768
14769 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
14770 (grub_util_get_dev_abstraction): New function prototype.
14771
14772 * util/getroot.c: Include `<grub/util/getroot.h>'
14773 (grub_util_get_grub_dev): Move detection of abstraction type to ...
14774 (grub_util_get_dev_abstraction): ... here (new function).
14775
14776 * util/grub-probe.c: Convert PRINT_* to an enum. Add
14777 `PRINT_ABSTRACTION'.
14778 (probe): Probe for abstraction type when requested.
14779 (main): Understand `--target=abstraction'.
14780
14781 * util/i386/efi/grub-install.in: Add abstraction module to core
14782 image when it is found to be necessary.
14783 * util/i386/pc/grub-install.in: Likewise.
14784 * util/powerpc/ieee1275/grub-install.in: Likewise.
14785
14786 * util/update-grub_lib.in (font_path): Return system path without
14787 converting to GRUB path.
14788 * util/update-grub.in: Convert system path returned by font_path()
14789 to a GRUB path. Use `grub-probe -t abstraction' to determine what
14790 abstraction module is needed for loading fonts (if any). Export
14791 that as `GRUB_PRELOAD_MODULES'.
14792 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
14793 insmod commands).
14794
52bd3de9 147952008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
14796
14797 Remove some unused code from reiserfs.
f19dbdb7 14798
52bd3de9 14799 * fs/reiserfs.c (struct grub_reiserfs_key)
14800 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
14801 (struct grub_reiserfs_node_body): Removed.
14802 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14803 Likewise.
14804 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14805 Likewise.
14806 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14807 Likewise.
14808 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14809 Likewise.
14810 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14811 Likewise.
14812 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
14813 Likewise.
14814 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14815 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14816 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14817
2f80039d 148182008-01-10 Robert Millan <rmh@aybabtu.com>
14819
14820 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
14821 Determines if a file is garbage left by packaging systems, etc.
14822 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
14823 for processing /etc/grub.d scripts.
14824 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
14825 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
14826 as a condition for processing Linux images.
14827
87888032 148282008-01-10 Pavel Roskin <proski@gnu.org>
14829
14830 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
14831 to compile reiserfs.c on PowerPC.
14832
7e54fced 148332008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 14834
14835 * kern/device.c (grub_device_iterate): Do not abort device iteration
14836 when one of the devices cannot be opened.
14837 * kern/disk.c (grub_disk_open): Do not account previous failures of
14838 unrelated functions when grub_errno is checked for.
14839
5aa541e6 148402008-01-08 Robert Millan <rmh@aybabtu.com>
14841
14842 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
14843 `! grub_linux_is_bzimage', change order of address comparison to make
14844 it more intuitive, and improve "too big zImage" error message.
14845
7076340d 148462008-01-08 Robert Millan <rmh@aybabtu.com>
14847
14848 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
14849 `$(update-grub_DATA)'.
14850 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
14851 targets.
14852
9ca70333 148532008-01-07 Robert Millan <rmh@aybabtu.com>
14854
14855 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
14856 which instruction is modified by grub-setup during installation
14857 (since it wasn't obvious by only looking at this file).
14858
38ccf575 148592008-01-07 Robert Millan <rmh@aybabtu.com>
14860
14861 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
14862 listing actual TODO items.
14863
f5db4291 148642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14865
868967cf 14866 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
14867 correctly.
14868 (grub_reiserfs_get_key_offset): Likewise.
14869 (grub_reiserfs_set_key_offset): Likewise.
14870 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 14871 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 14872
14873 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
14874 better to remove the bitfield version completely.
f19dbdb7 14875
868967cf 148762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14877
f5db4291 14878 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
14879 allocated from the heap, due to the fshelp implementation.
14880 (grub_reiserfs_dir): Free NODE, due to the same reason.
14881
492e6d9d 148822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14883
14884 Mostly from Vincent Pelletier:
f19dbdb7 14885
492e6d9d 14886 * fs/reiserfs.c: New file.
f19dbdb7 14887
492e6d9d 14888 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
14889 (reiserfs_mod_SOURCES): New variable.
14890 (reiserfs_mod_CFLAGS): Likewise.
14891 (reiserfs_mod_LDFLAGS): Likewise.
14892
14893 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
14894 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
14895 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
14896 normal/color.c.
14897
9ce3e7c1 148982008-01-06 Robert Millan <rmh@aybabtu.com>
14899
14900 * normal/color.c: Remove `<grub/env.h>'.
14901
f3b58148 149022008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
14903
14904 * include/grub/normal.h: Include <grub/env.h>.
14905
7ac3bcfa 149062008-01-05 Robert Millan <rmh@aybabtu.com>
14907
14908 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
14909 usage example with `(hd0,1)'.
fb358190 14910 Reported by Samuel Thibault.
7ac3bcfa 14911
c8ee99d7 149122008-01-05 Robert Millan <rmh@aybabtu.com>
14913
14914 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
14915 (grub_linux_boot_zimage): Rename to ...
14916 (grub_linux_boot): ... this.
14917 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
14918 (grub_linux_boot_zimage): Conditionalize zImage copy.
14919
14920 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
14921 (grub_linux_boot_bzimage): Remove prototype.
14922 (grub_linux_boot_zimage): Rename to ...
14923 (grub_linux_boot): ... this.
14924
14925 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
14926 (grub_linux_boot): Remove function.
14927
0ece25b1 149282008-01-05 Robert Millan <rmh@aybabtu.com>
14929
14930 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
14931 (grub_env_write_color_highlight): Likewise.
14932 (grub_wait_after_message): Likewise.
14933
14934 * normal/color.c: New file.
14935
14936 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14937 (normal_mod_DEPENDENCIES): Likewise.
14938
14939 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14940 (normal_mod_DEPENDENCIES): Likewise.
14941
14942 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14943 (normal_mod_DEPENDENCIES): Likewise.
14944
14945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14946 (normal_mod_DEPENDENCIES): Likewise.
14947
14948 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14949 for waiting after a message is printed.
14950 * normal/main.c (read_config_file): Likewise.
14951 (grub_normal_init): Register grub_env_write_color_normal() and
14952 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14953 `color_highlight' variables as global.
14954
14955 * normal/menu.c (grub_wait_after_message): New function.
14956 (grub_color_menu_normal): New variable. Replaces ...
14957 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14958 (grub_color_menu_highlight): New variable. Replaces ...
14959 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14960 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14961 `GRUB_TERM_COLOR_STANDARD'.
14962 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14963 `normal_code' and `highlight_code' to `old_color_normal' and
14964 `old_color_highlight', respectively.
14965 (grub_menu_init_page): Update colors when drawing the menu, based on
14966 `menu_color_normal' and `menu_color_highlight' variables.
14967 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14968 a message is printed.
14969
182dd4e5 149702008-01-05 Robert Millan <rmh@aybabtu.com>
14971
14972 * kern/env.c (grub_env_context_open): Propagate hooks for global
14973 variables to new context.
14974
14975 * kern/main.c (grub_set_root_dev): Export `root' variable.
14976
ddf8f6ad 149772008-01-05 Robert Millan <rmh@aybabtu.com>
14978
14979 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14980 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14981 them.
14982
d8b43d9b 149832008-01-05 Robert Millan <rmh@aybabtu.com>
14984
14985 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14986
2bff2de3 149872008-01-04 Christian Franke <franke@computer.org>
14988
14989 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14990 of eisa_mmap.
14991
97eab917 149922008-01-03 Pavel Roskin <proski@gnu.org>
14993
14994 * kern/i386/linuxbios/init.c: Put "void" to all function
14995 declarations with no arguments.
14996 * kern/powerpc/ieee1275/init.c: Likewise.
14997 * term/i386/pc/at_keyboard.c: Likewise.
14998 * term/i386/pc/vga_text.c: Likewise.
14999 * util/grub-mkdevicemap.c: Likewise.
15000
b9416d00 150012008-01-02 Robert Millan <rmh@aybabtu.com>
15002
15003 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
15004 message when loaded image is out of bounds.
15005 (grub_multiboot_load_elf64): Likewise.
15006
92695df9 150072008-01-02 Pavel Roskin <proski@gnu.org>
15008
15009 * util/grub.d/10_linux.in: Try version without ".old" when
15010 looking for initrd. It's better to use initrd from the newer
15011 kernel of the same version than no initrd at all.
15012
d98d9cad 150132008-01-01 Robert Millan <rmh@aybabtu.com>
15014
15015 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
15016
dbfdce36 150172008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15018
f19dbdb7 15019 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15020 grub_video_get_active_render_target.
15021 (grub_video_adapter): Added unmap_color and get_active_render_target.
15022
f19dbdb7 15023 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15024 grub_video_get_active_render_target.
15025 (grub_video_get_info): Changed method to accept NULL pointer as an
15026 argument to allow detection of active video adapter.
15027
15028 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15029 grub_video_vbe_unmap_color_int.
15030 Added grub_video_vbe_unmap_color and
15031 grub_video_vbe_get_active_render_target.
15032 (grub_video_vbe_adapter): Added unmap_color and
15033 get_active_render_target.
15034
f19dbdb7 15035 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15036 with grub_video_vbe_unmap_color_int.
15037
15038 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15039 (DEFAULT_NORMAL_COLOR): Likewise.
15040 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15041 (DEFAULT_FG_COLOR): Removed.
15042 (DEFAULT_BG_COLOR): Likewise.
15043 (DEFAULT_CURSOR_COLOR): Changed value.
15044 (grub_virtual_screen): Added standard_color_setting,
15045 normal_color_setting, highlight_color_setting and term_color.
15046 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15047 (bitmap_width): Added.
15048 (bitmap_height): Likewise.
15049 (bitmap): Likewise.
15050 (set_term_color): Likewise.
15051 (grub_virtual_screen_setup): Changed to use new terminal coloring
15052 settings.
15053 (grub_gfxterm_init): Added init for bitmap.
15054 (grub_gfxterm_fini): Added destroy for bitmap.
15055 (redraw_screen_rect): Updated to use background bitmap and new
15056 terminal coloring.
15057 (scroll_up): Added optimization for case when there is no bitmap.
15058 (grub_gfxterm_cls): Fixed to use correct background color.
15059 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15060 coloring.
15061 (grub_virtual_screen_setcolor): Likewise.
15062 (grub_virtual_screen_getcolor): Added.
15063 (grub_gfxterm_background_image_cmd): Likewise.
15064 (grub_video_term): Added setcolor and getcolor.
15065 (MOD_INIT): Added registration of background_image command.
15066 (MOD_TERM): Added unregistration for background_image command.
15067
c3c20931 150682007-12-30 Pavel Roskin <proski@gnu.org>
15069
15070 * loader/multiboot_loader.c: Fix multiboot command
15071 unregistration. Fix all typos in the word "multiboot".
15072
df266716 150732007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15074
15075 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15076 support for initrd names used in Fedora.
15077
fc6e896c 150782007-12-26 Bean <bean123ch@gmail.com>
15079
15080 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15081 (cpio_mod_SOURCES): New variable.
15082 (cpio_mod_CFLAGS): Likewise.
15083 (cpio_mod_LDFLAGS): Likewise.
15084
15085 * fs/cpio.c: New file.
15086
15087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15088
15089 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15090
15091 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15092
15093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15094
533110ad 150952007-12-25 Robert Millan <rmh@aybabtu.com>
15096
15097 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15098 (grub_getcolor): New function.
15099
15100 * kern/term.c (grub_getcolor): New function.
15101 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15102 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
15103 (print_entry): Set normal and highlight colors to
15104 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
15105 respectively, before printing and restore them to old
15106 values afterwards.
15107 (grub_menu_init_page): Likewise. Fill an additional colored space
15108 that would otherwise be left blank.
15109
15110 * term/efi/console.c (grub_console_getcolor): New function.
15111 (struct grub_console_term.getcolor): New variable.
15112 * term/i386/pc/console.c (grub_console_getcolor): New function.
15113 (struct grub_console_term.getcolor): New variable.
15114 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
15115 (struct grub_console_term.getcolor): New variable.
15116
15117 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
15118 (struct grub_console_term.setcolor): Remove variable.
15119 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
15120 (struct grub_console_term.setcolor): Remove variable.
15121 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
15122 (struct grub_console_term.setcolor): Remove variable.
15123 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
15124 (struct grub_console_term.setcolor): Remove variable.
15125
4931827f 151262007-12-25 Robert Millan <rmh@aybabtu.com>
15127
15128 * configure.ac: Search for possible unifont.hex locations, and
15129 define UNIFONT_HEX if found.
15130
15131 * Makefile.in (UNIFONT_HEX): Define variable.
15132 (DATA): Rename to ...
15133 (PKGLIB): ... this. Update all users.
15134 (PKGDATA): New variable.
15135 (pkgdata_IMAGES): Rename to ...
15136 (pkglib_IMAGES): ... this. Update all users.
15137 (pkgdata_MODULES): Rename to ...
15138 (pkglib_MODULES): ... this. Update all users.
15139 (pkgdata_PROGRAMS): Rename to ...
15140 (pkglib_PROGRAMS): ... this. Update all users.
15141 (pkgdata_DATA): Rename to ...
15142 (pkglib_DATA): ... this. Update all users.
15143 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
15144 (unicode.pff, ascii.pff): New rules.
15145 (all-local): Add `$(PKGDATA)' dependency.
15146 (install-local): Process `$(PKGDATA)'.
15147
15148 * util/update-grub_lib.in (font_path): Search for *.pff files in
15149 a few more locations, including `${pkgdata}'.
15150
57e57e31 151512007-12-23 Robert Millan <rmh@aybabtu.com>
15152
15153 Patch from Bean <bean123ch@gmail.com>:
15154 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
15155 `size'.
15156
4bc72aa9 151572007-12-21 Bean <bean123ch@gmail.com>
15158
15159 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
15160 (ntfscomp_mod_SOURCES): New variable.
15161 (ntfscomp_mod_CFLAGS): Likewise.
15162 (ntfscomp_mod_LDFLAGS): Likewise.
15163
15164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
15165 (grub_probe_SOURCES): Likewise.
15166 (grub_emu_SOURCES): Likewise.
15167
15168 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15169 (grub_emu_SOURCES): Likewise.
15170
15171 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15172 (grub_emu_SOURCES): Likewise.
15173
15174 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15175 (grub_emu_SOURCES): Likewise.
15176
15177 * fs/ntfs.c (grub_ntfscomp_func): New variable.
15178 (read_run_list): Renamed to grub_ntfs_read_run_list.
15179 (decomp_nextvcn): Moved to ntfscomp.c.
15180 (decomp_getch): Likewise.
15181 (decomp_get16): Likewise.
15182 (decomp_block): Likewise.
15183 (read_block): Likewise.
15184 (read_data): Partially moved to ntfscomp.c.
15185 (fixup): Change unsigned to grub_uint16_t.
15186 (read_mft): Change unsigned long to grub_uint32_t.
15187 (read_attr): Likewise.
15188 (read_data): Likewise.
15189 (read_run_data): Likewise.
15190 (read_run_list): Likewise.
15191 (read_mft): Likewise.
15192
15193 * fs/ntfscomp.c: New file.
15194
15195 * include/grub/ntfs.h: New file.
15196
af680a87 151972007-12-16 Robert Millan <rmh@aybabtu.com>
15198
15199 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
15200 IDE disk check, since Linux is known to support 20 IDE disks.
15201 Reported by Colin Watson.
15202
84be7599 152032007-12-15 Bean <bean123ch@gmail.com>
15204
15205 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
15206 (lnxboot_img_SOURCES): New variable.
15207 (lnxboot_img_ASFLAGS): Likewise.
15208 (lnxboot_img_LDFLAGS): Likewise.
15209
15210 * boot/i386/pc/lnxboot.S: New file.
15211
6af9db01 152122007-11-24 Pavel Roskin <proski@gnu.org>
15213
15214 * configure.ac: Test if '--build-id=none' is supported by the
15215 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
15216 objcopy to generate incorrect binary files (binutils
15217 2.17.50.0.18-1 as shipped by Fedora 8).
15218 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
15219 linking, so that build ID doesn't break the test.
15220
7361cfe6 152212007-11-24 Pavel Roskin <proski@gnu.org>
15222
15223 * include/grub/i386/time.h: use "void" in the argument list
15224 of grub_cpu_idle().
15225 * include/grub/powerpc/time.h: Likewise.
15226 * include/grub/sparc64/time.h: Likewise.
15227
1593e10c 152282007-11-18 Christian Franke <franke@computer.org>
15229
15230 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
15231 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
15232 This fixes the problem that function keys did not work in grub-emu.
15233
3b8db1a8 152342007-11-18 Christian Franke <franke@computer.org>
15235
15236 * disk/host.c (grub_host_open): Remove attribute unused from
15237 name parameter. Add check for "host". This fixes the problem
15238 that grub-emu does not find partitions.
15239
2e29408d 152402007-11-18 Christian Franke <franke@computer.org>
15241
15242 * util/hostfs.c (is_dir): New function.
15243 (grub_hostfs_dir): Handle missing dirent.d_type case.
15244 (grub_hostfs_read): Add missing fseek().
15245 (grub_hostfs_label): Clear label pointer. This fixes a crash
15246 of grub-emu on "ls (host)".
15247
398cd047 152482007-11-18 Christian Franke <franke@computer.org>
15249
15250 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
15251 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
15252 to 64 bit boundary by default.
15253
c405c391 152542007-11-18 Bean <bean123ch@gmail.com>
15255
15256 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
15257 (hexdump_mod_SOURCES): New variable.
15258 (hexdump_mod_CFLAGS): Likewise.
15259 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 15260
c405c391 15261 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15262
15263 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15264
15265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15266
15267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15268
15269 * include/grub/hexdump.h: New file.
15270
15271 * commands/hexdump.c: New file.
15272
5cced7fd 152732007-11-10 Robert Millan <rmh@aybabtu.com>
15274
15275 * commands/i386/pc/play.c (beep_off): Switch order of arguments
15276 in grub_outb() calls.
15277 (beep_on): Likewise.
15278
8b714eb0 152792007-11-10 Christian Franke <franke@computer.org>
15280
15281 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
15282 (grub_menu_run): Likewise.
15283
ce0f1839 152842007-11-10 Robert Millan <rmh@aybabtu.com>
15285
15286 * include/grub/i386/efi/machine.h: New file.
15287 * include/grub/i386/linuxbios/machine.h: Likewise.
15288 * include/grub/i386/pc/machine.h: Likewise.
15289 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15290 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15291
15292 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
15293 (serial_hw_io_addr): New variable.
15294 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
15295 instead of `(unsigned short *) 0x400'.
15296
270c237d 152972007-11-10 Bean <bean123ch@gmail.com>
15298
15299 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
15300
a87783bf 153012007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15302
15303 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
15304 (vga_mod_SOURCES): Added.
15305 (vga_mod_CFLAGS): Likewise.
15306 (vga_mod_LDFLAGS): Likewise.
15307
15308 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
15309 grub_outb() calls.
15310 (set_map_mask): Likewise.
15311 (set_read_map): Likewise.
15312 (set_read_address): Likewise.
15313 (vga_font): Removed variable.
15314 (get_vga_glyph): Removed function.
15315 (invalidate_char): Likewise.
15316 (write_char): Changed to use grub_font_get_glyph() for font
15317 information.
15318 (grub_vga_putchar): Likewise.
15319 (grub_vga_getcharwidth): Likewise.
15320
6433b448 153212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15322
15323 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
15324 flags.
15325 (pxeboot_img_LDFLAGS): Likewise.
15326 (diskboot_img_LDFLAGS): Likewise.
15327 (kernel_img_LDFLAGS): Likewise.
15328
49178511 153292007-11-06 Robert Millan <rmh@aybabtu.com>
15330
15331 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
15332 in grub_outb() calls.
15333 (serial_hw_init): Likewise.
15334
53b052de 153352007-11-05 Robert Millan <rmh@aybabtu.com>
15336
15337 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
15338 spaces. Skip non-regular files.
15339
5ab33bba 153402007-11-05 Robert Millan <rmh@aybabtu.com>
15341
15342 * kern/disk.c (grub_disk_firmware_fini)
15343 (grub_disk_firmware_is_tainted): New variables.
15344
15345 * include/grub/disk.h (grub_disk_firmware_fini)
15346 (grub_disk_firmware_is_tainted): Likewise.
15347
15348 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
15349 (grub_disk_biosdisk_fini): ... to here.
15350 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
15351 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
15352 is set. Register grub_disk_biosdisk_fini() in
15353 `grub_disk_firmware_fini'.
15354
15355 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
15356 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
15357 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
15358 to finish existing firmware disk interface.
15359
15360 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
15361 (ata_mod_SOURCES): New variable.
15362 (ata_mod_CFLAGS): Likewise.
15363 (ata_mod_LDFLAGS): Likewise.
15364
0149ab7c 153652007-11-05 Robert Millan <rmh@aybabtu.com>
15366
15367 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
15368 (grub_ata_wait): Reimplement using grub_millisleep().
15369
15370 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
15371 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
15372
be7ac41e 153732007-11-03 Marco Gerards <marco@gnu.org>
15374
15375 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
15376 (CRTC_ADDR_PORT): New macro.
15377 (CRTC_DATA_PORT): Likewise.
15378 (CRTC_CURSOR): Likewise.
15379 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15380 (CRTC_CURSOR_ADDR_LOW): Likewise.
15381 (update_cursor): New function.
15382 (grub_console_real_putchar): Call `update_cursor'.
15383 (grub_console_gotoxy): Likewise.
15384 (grub_console_cls): Set the default color when clearing the
15385 screen.
15386 (grub_console_setcursor): Implemented.
15387
bb06ab2e 153882007-11-03 Marco Gerards <marco@gnu.org>
15389
15390 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
15391 become activate.
15392 (grub_ata_pio_write): Likewise.
15393
15394 (grub_atapi_identify): Wait after issuing an ATA command.
15395 (grub_atapi_packet): Likewise.
15396 (grub_ata_identify): Likewise.
15397 (grub_ata_readwrite): Likewise.
15398
cf8f780b 153992007-11-03 Marco Gerards <marco@gnu.org>
15400
15401 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
15402 (grub_ata_pio_write): Likewise.
15403 (grub_ata_readwrite): Use `grub_error', instead of
15404 returning `grub_errno'.
15405
ed649e54 154062007-11-03 Marco Gerards <marco@gnu.org>
15407
15408 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
15409 grub_ata_pio_write once for every single sector, instead of for
15410 multiple sectors.
15411
ca25d8f0 154122007-10-31 Robert Millan <rmh@aybabtu.com>
15413
15414 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
15415
15416 * conf/i386-linuxbios.rmk: New file.
15417
15418 * kern/i386/pc/hardware.c: Likewise.
15419 * term/i386/pc/at_keyboard.c: Likewise.
15420 * term/i386/pc/vga_text.c: Likewise.
15421
15422 * include/grub/i386/linuxbios/boot.h: Likewise.
15423 * include/grub/i386/linuxbios/console.h: Likewise.
15424 * include/grub/i386/linuxbios/init.h: Likewise.
15425 * include/grub/i386/linuxbios/kernel.h: Likewise.
15426 * include/grub/i386/linuxbios/loader.h: Likewise.
15427 * include/grub/i386/linuxbios/memory.h: Likewise.
15428 * include/grub/i386/linuxbios/serial.h: Likewise.
15429 * include/grub/i386/linuxbios/time.h: Likewise.
15430
15431 * kern/i386/linuxbios/init.c: Likewise.
15432 * kern/i386/linuxbios/startup.S: Likewise.
15433 * kern/i386/linuxbios/table.c: Likewise.
15434
e911ecc1 154352007-10-31 Marco Gerards <marco@gnu.org>
15436
15437 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
15438 (ata_mod_SOURCES): New variable.
15439 (ata_mod_CFLAGS): Likewise.
15440 (ata_mod_LDFLAGS): Likewise.
15441
15442 * disk/ata.c: New file.
15443
15444 * include/grub/disk.h (grub_disk_dev_id): Add
15445 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 15446
7f66d0e0 154472007-10-31 Robert Millan <rmh@aybabtu.com>
15448
15449 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
15450 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
15451
15452 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
15453 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
15454
15455 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
15456 `<grub/types.h>'.
15457
15458 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
15459
5cd7dd46 154602007-10-27 Robert Millan <rmh@aybabtu.com>
15461
3236ca65 15462 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 15463
2ebfc90f 154642007-10-22 Robert Millan <rmh@aybabtu.com>
15465
15466 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
15467 `"../realmode.S"'.
15468 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
15469
73fcb0f3 154702007-10-22 Robert Millan <rmh@aybabtu.com>
15471
15472 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
15473 (pkgdata_MODULES): Add `biosdisk.mod'.
15474 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
15475 variables.
15476
15477 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
15478 (grub_biosdisk_init): Replace with ...
15479 (GRUB_MOD_INIT(biosdisk)): ... this.
15480 (grub_biosdisk_fini): Replace with ...
15481 (GRUB_MOD_FINI(biosdisk)): ... this.
15482
15483 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
15484 (grub_machine_init): Remove call to grub_biosdisk_init().
15485 (grub_machine_fini): Remove call to grub_machine_fini().
15486
15487 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
15488
3381d274 154892007-10-22 Robert Millan <rmh@aybabtu.com>
15490
15491 * include/grub/time.h: New file.
15492 * include/grub/i386/time.h: Likewise.
15493 * include/grub/powerpc/time.h: Likewise.
15494 * include/grub/sparc64/time.h: Likewise.
15495
15496 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
15497 instances to ...
15498 (KERNEL_MACHINE_TIME_HEADER): ... this.
15499 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15500 instances to ...
15501 (KERNEL_MACHINE_TIME_HEADER): ... this.
15502 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15503 instances to ...
15504 (KERNEL_MACHINE_TIME_HEADER): ... this.
15505
15506 * kern/i386/efi/init.c: Include `<grub/time.h>'.
15507 (grub_millisleep): New function.
15508 * kern/i386/pc/init.c: Include `<grub/time.h>'.
15509 (grub_millisleep): New function.
15510 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
15511 Remove `grub/machine/time.h' include.
15512 (grub_millisleep): New function.
15513 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
15514 Remove `grub/machine/time.h' include.
15515 (grub_millisleep): New function.
15516
15517 * include/grub/misc.h (grub_div_roundup): New function.
15518
15519 * kern/misc.c: Include `<grub/time.h>'.
15520 (grub_millisleep_generic): New function.
15521
15522 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
15523 Add `time.h'.
15524 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
15525 Add `time.h'.
15526 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
15527 `machine/time.h'. Add `time.h'.
15528 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15529
a39a0312 155302007-10-21 Robert Millan <rmh@aybabtu.com>
15531
15532 * include/grub/misc.h (grub_max): New function.
15533
2aad70e2 155342007-10-21 Robert Millan <rmh@aybabtu.com>
15535
15536 * util/misc.c (grub_util_info): Call fflush() before returning.
15537
54b71c4b 155382007-10-20 Robert Millan <rmh@aybabtu.com>
15539
15540 * genmk.rb (Image): Copy `extra_flags' from here ...
15541 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
15542
15543 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
15544 to `argc' and `args' arguments.
15545
a979f513 155462007-10-17 Robert Millan <rmh@aybabtu.com>
15547
15548 * kern/i386/loader.S: New file.
15549
15550 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
15551 * kern/i386/loader.S (grub_linux_prot_size)... to here.
15552 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
15553 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
15554 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
15555 * kern/i386/loader.S (grub_linux_real_addr)... to here.
15556 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
15557 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
15558 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
15559 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
15560 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
15561 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
15562 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
15563 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
15564
15565 * kern/i386/realmode.S: New file.
15566
15567 * kern/i386/pc/startup.S (protstack): Moved from here ...
15568 * kern/i386/realmode.S (protstack)... to here.
15569 * kern/i386/pc/startup.S (gdt): Moved from here ...
15570 * kern/i386/realmode.S (gdt)... to here.
15571 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
15572 * kern/i386/realmode.S (prot_to_real)... to here.
15573
15574 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
15575 `kern/i386/realmode.S'.
15576
825fc8fd 155772007-10-17 Robert Millan <rmh@aybabtu.com>
15578
15579 * include/grub/i386/loader.h: New file.
15580
15581 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
15582 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15583 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15584 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15585 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
15586 * include/grub/i386/loader.h (grub_linux_prot_size)
15587 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15588 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15589 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15590 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
15591
15592 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
15593
e179b2f4 155942007-10-15 Robert Millan <rmh@aybabtu.com>
15595
15596 * normal/misc.c (grub_normal_print_device_info): Do not probe for
15597 filesystem when dev->disk is unset.
15598 Do probe for filesystem even when dev->disk->has_partitions is set.
15599 In case a filesystem is found, always report it.
15600 In case it isn't, if dev->disk->has_partitions is set, report that
15601 a partition table was found instead of reporting that no filesystem
15602 could be identified.
15603
5db82af6 156042007-10-12 Robert Millan <rmh@aybabtu.com>
15605
15606 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
15607 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
15608
68f6ac74 15609 * include/grub/types.h (grub_host_to_target16): New macro.
15610 (grub_host_to_target32): Likewise.
15611 (grub_host_to_target64): Likewise.
15612 (grub_target_to_host16): Likewise.
15613 (grub_target_to_host32): Likewise.
15614 (grub_target_to_host64): Likewise.
5db82af6 15615
15616 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15617 Renamed from to ...
15618 (GRUB_MOD_ALIGN): ...this. Update all users.
15619
68f6ac74 15620 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
15621 grub_host_to_target32.
15622 Replace grub_be_to_cpu32 with grub_target_to_host32.
15623 (load_modules): Likewise.
15624 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
15625 Replace grub_be_to_cpu32 with grub_target_to_host32.
15626 Replace grub_cpu_to_be16 with grub_host_to_target16.
15627 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 15628
3cf497cc 156292007-10-12 Robert Millan <rmh@aybabtu.com>
15630
15631 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
15632 * util/elf/grub-mkimage.c: ... here.
15633
15634 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
15635 `util/powerpc/ieee1275/grub-mkimage.c'.
15636
c8cc3692 156372007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 15638
c8cc3692 15639 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
15640 and make it easier to figure out.
15641 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
15642 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
15643 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
15644 leave us with less than HEAP_MIN_SIZE total heap.
15645 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 15646
5c58b791 156472007-10-03 Robert Millan <rmh@aybabtu.com>
15648
15649 * include/grub/i386/io.h: New file.
15650 * commands/i386/pc/play.c (inb): Removed.
15651 (outb): Removed.
15652 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15653 with grub_outb().
afcd2ef8 15654 * term/i386/pc/serial.c (inb): Removed.
15655 (outb): Removed.
15656 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15657 with grub_outb().
15658 * term/i386/pc/vga.c (inb): Removed.
15659 (outb): Removed.
15660 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15661 with grub_outb().
5c58b791 15662
1a477ed6 156632007-10-02 Robert Millan <rmh@aybabtu.com>
15664
15665 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
15666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15667 Reported by Marcin Kurek.
15668
6b5d80fa 156692007-09-07 Robert Millan <rmh@aybabtu.com>
15670
15671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
15672 SmartFirmware version updates (as released by Sven Luther), and avoid
15673 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
15674 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
15675 known broken.
15676
5618afbf 156772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15678
15679 From Hitoshi Ozeki:
15680 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
15681 when merging two regions.
15682
6139dcd9 156832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15684
508e39ee 15685 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
15686 * normal/completion.c (grub_normal_do_completion): Likewise.
15687 Reported by Hitoshi Ozeki.
15688
156892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15690
6139dcd9 15691 Do not use devices at boot in chainloading.
f19dbdb7 15692
6139dcd9 15693 * loader/i386/pc/chainloader.c (boot_drive): New variable.
15694 (boot_part_addr): Likewise.
15695 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
15696 with BOOT_DRIVE and BOOT_PART_ADDR.
15697 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
15698 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
15699
38da6516 157002007-08-29 Robert Millan <rmh@aybabtu.com>
15701
15702 Patch from Simon Peter <dn.tlp@gmx.net>:
15703 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
15704 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
15705 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
15706 util/i386/pc/grub-setup.c_DEPENDENCIES.
15707 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
15708 util/grub-probe.c_DEPENDENCIES.
15709 * conf/powerpc-ieee1275.rmk: Likewise.
15710
29d0928c 157112007-08-28 Robert Millan <rmh@aybabtu.com>
15712
15713 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
15714 to tell grub-mkdevicemap how to name devices.
15715 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
15716 feature).
15717
15718 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
15719 util/i386/get_disk_name.c.
15720 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
15721 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
15722 util/ieee1275/get_disk_name.c.
15723
15724 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
15725
15726 * DISTLIST: Add util/i386/get_disk_name.c and
15727 util/ieee1275/get_disk_name.c.
15728
15729 * util/grub-mkdevicemap.c: Replace device naming logic with
15730 grub_util_get_disk_name() calls.
15731
5a0d3cca 157322007-08-20 Robert Millan <rmh@aybabtu.com>
15733
15734 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
15735 (so that it works for both plural and singular quantities).
15736
8b72db2f 157372007-08-05 Robert Millan <rmh@aybabtu.com>
15738
15739 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
15740 so that [xz] isn't taken into account when determining order.
15741
352466bf 157422007-08-02 Marco Gerards <marco@gnu.org>
15743
15744 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
15745 `include/multiboot2.h', `include/grub/elfload.h',
15746 `include/multiboot.h', `include/grub/multiboot.h',
15747 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
15748 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
15749 `kern/elf.c', `loader/multiboot_loader.c',
15750 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
15751 `loader/i386/pc/multiboot2.c',
15752 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
15753 `util/i386/pc/grub-mkrescue.in'. Remove
15754 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
15755 `include/grub/i386/pc/util/biosdisk.h' and
15756 `include/grub/powerpc/ieee1275/multiboot.h'.
15757
8f096014 157582007-08-02 Bean <bean123ch@gmail.com>
15759
15760 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
15761 (ntfs_mod_SOURCES): New variable.
15762 (ntfs_mod_CFLAGS): Likewise.
15763 (ntfs_mod_LDFLAGS): Likewise.
15764
15765 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
15766 (grub_probe_SOURCES): Likewise.
15767 (grub_emu_SOURCES): Likewise.
15768
15769 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15770 (grub_emu_SOURCES): Likewise.
15771
15772 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15773 (grub_emu_SOURCES): Likewise.
f19dbdb7 15774
8f096014 15775 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
15776
15777 * fs/ntfs.c: New file.
15778
9959f7db 157792007-08-02 Bean <bean123ch@gmail.com>
15780
15781 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
15782
15783 * file.h (grub_file): Likewise.
15784
15785 * fshelp.h (grub_fshelp_read_file): Likewise.
15786
15787 * util/i386/pc/grub-setup.c (setup): Likewise.
15788 (save_first_sector): Likewise.
15789 (save_blocklists): Likewise.
f19dbdb7 15790
9959f7db 15791 * fs/affs.c (grub_affs_read_file): Likewise.
15792
15793 * fs/ext2.c (grub_ext2_read_file): Likewise.
15794
15795 * fs/fat.c (grub_fat_read_data): Likewise.
15796
15797 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
15798
15799 * fs/hfs.c (grub_hfs_read_file): Likewise.
15800
15801 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15802
15803 * fs/jfs.c (grub_jfs_read_file): Likewise.
15804
15805 * fs/minix.c (grub_minix_read_file): Likewise.
15806
15807 * fs/sfs.c (grub_sfs_read_file): Likewise.
15808
15809 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 15810
9959f7db 15811 * fs/xfs.c (grub_xfs_read_file): Likewise.
15812
15813 * command/blocklist.c (read_blocklist): Likewise.
15814 (print_blocklist): Likewise.
15815
0a203f83 158162007-08-02 Marco Gerards <marco@gnu.org>
15817
15818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
15819 `util/hostfs.c'.
15820
15821 * disk/host.c: New file.
15822
15823 * util/hostfs.c: Likewise.
15824
15825 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
15826 return `GRUB_ERR_BAD_FS'.
15827 * fs/sfs.c (grub_sfs_mount): Likewise.
15828 * fs/xfs.c (grub_xfs_mount): Likewise.
15829
15830 * include/grub/disk.h (enum grub_disk_dev_id): Add
15831 `GRUB_DISK_DEVICE_HOST_ID'.
15832
15833 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
15834
e5dfe777 158352007-07-24 Jerone Young <jerone@gmail.com>
15836
f19dbdb7 15837 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 15838 modules for compilation.
15839 * conf/powerpc-ieee1275.rmk: Likewise.
15840
15841 * include/multiboot.h: Move multiboot definitions to one file. Rename
15842 many definitions to not get grub specific.
15843 * include/multiboot2.h: Create header with multiboot 2 definitions.
15844 * include/grub/multiboot.h: Header for grub specific function
15845 prototypes and definitions.
15846 * include/grub/multiboot2.h: Likewise.
15847 * include/grub/multiboot_loader.h: Likewise.
15848 * include/grub/i386/pc/multiboot.h: Removed.
15849 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
15850
15851 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
15852 and 2 to allow for one multiboot and module commands.
15853 * loader/multiboot2.c: Add multiboot2 functionality.
15854 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
15855 and definition names.
15856 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
15857 2 functions.
15858 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
15859 ieee1275 specific multiboot2 code.
15860
15861 * kern/i386/pc/startup.S: Change headers and definition names for
15862 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
15863
daf0f0ba 158642007-07-22 Robert Millan <rmh@aybabtu.com>
15865
15866 * geninitheader.sh: Process file specified in first parameter rather
15867 than hardcoding grub_modules_init.lst.
fe6b695a 15868 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 15869 than hardcoding grub_modules_init.h.
15870
15871 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
15872 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
15873 grub_probe_init.[ch] and grub_setup_init.[ch].
15874
15875 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
15876 grub_modules_init.h with grub_emu_init.h.
15877 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
15878 grub_probe_init.[ch] files.
15879 * conf/i386-efi.rmk: Likewise.
15880 * conf/i386-pc.rmk: Likewise.
15881 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
15882 grub_setup_init.[ch] files.
15883
15884 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
15885 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
15886 to initialize modules rather than a list of hardcoded functions.
15887 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
15888 grub_init_all() to initialize modules rather than a list of hardcoded
15889 functions.
15890
54cdc1cc 158912007-07-22 Robert Millan <rmh@aybabtu.com>
15892
15893 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15894 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
15895
ad0686cc 158962007-07-22 Robert Millan <rmh@aybabtu.com>
15897
15898 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15899 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
15900 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
15901 flag when running on SmartFirmware.
15902 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
15903 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
15904 was set.
15905
15906 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15907 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
15908 rather than decreasing it.
15909
15910 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
15911 there's not enough space to do it, fail in the same way as when it
15912 can't be done because there are no partitions.
15913
15914 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
15915 when nvsetenv failed.
15916
969c02ec 159172007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15918
15919 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
15920 because this rule is automatically generated.
15921 (grub-mkrescue): Removed for the same reason as above.
15922
5a79f472 159232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15924
15925 Migrate to GNU General Public License Version 3.
f19dbdb7 15926
5a79f472 15927 * COPYING: Replaced with the plain text version of GPLv3.
15928
15929 * config.guess: Updated from gnulib.
15930 * config.sub: Likewise.
15931
15932 * geninit.sh: Output a GPLv3 copyright notice.
15933 * geninitheader.sh: Likewise.
15934 * genmodsrc.sh: Likewise.
15935 * gensymlist.sh.in: Likewise.
15936
15937 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15938 * boot/i386/pc/diskboot.S: Likewise.
15939 * boot/i386/pc/pxeboot.S: Likewise.
15940 * commands/blocklist.c: Likewise.
15941 * commands/boot.c: Likewise.
15942 * commands/cat.c: Likewise.
15943 * commands/cmp.c: Likewise.
15944 * commands/configfile.c: Likewise.
15945 * commands/echo.c: Likewise.
15946 * commands/help.c: Likewise.
15947 * commands/ls.c: Likewise.
15948 * commands/search.c: Likewise.
15949 * commands/terminal.c: Likewise.
15950 * commands/test.c: Likewise.
15951 * commands/videotest.c: Likewise.
15952 * commands/i386/cpuid.c: Likewise.
15953 * commands/i386/pc/halt.c: Likewise.
15954 * commands/i386/pc/play.c: Likewise.
15955 * commands/i386/pc/reboot.c: Likewise.
15956 * commands/i386/pc/vbeinfo.c: Likewise.
15957 * commands/i386/pc/vbetest.c: Likewise.
15958 * commands/ieee1275/halt.c: Likewise.
15959 * commands/ieee1275/reboot.c: Likewise.
15960 * commands/ieee1275/suspend.c: Likewise.
15961 * disk/loopback.c: Likewise.
15962 * disk/lvm.c: Likewise.
15963 * disk/raid.c: Likewise.
15964 * disk/efi/efidisk.c: Likewise.
15965 * disk/i386/pc/biosdisk.c: Likewise.
15966 * disk/ieee1275/ofdisk.c: Likewise.
15967 * font/manager.c: Likewise.
15968 * fs/affs.c: Likewise.
15969 * fs/ext2.c: Likewise.
15970 * fs/fat.c: Likewise.
15971 * fs/fshelp.c: Likewise.
15972 * fs/hfs.c: Likewise.
15973 * fs/hfsplus.c: Likewise.
15974 * fs/iso9660.c: Likewise.
15975 * fs/jfs.c: Likewise.
15976 * fs/minix.c: Likewise.
15977 * fs/sfs.c: Likewise.
15978 * fs/ufs.c: Likewise.
15979 * fs/xfs.c: Likewise.
15980 * hello/hello.c: Likewise.
15981 * include/grub/acorn_filecore.h: Likewise.
15982 * include/grub/arg.h: Likewise.
15983 * include/grub/bitmap.h: Likewise.
15984 * include/grub/boot.h: Likewise.
15985 * include/grub/cache.h: Likewise.
15986 * include/grub/device.h: Likewise.
15987 * include/grub/disk.h: Likewise.
15988 * include/grub/dl.h: Likewise.
15989 * include/grub/elfload.h: Likewise.
15990 * include/grub/env.h: Likewise.
15991 * include/grub/err.h: Likewise.
15992 * include/grub/file.h: Likewise.
15993 * include/grub/font.h: Likewise.
15994 * include/grub/fs.h: Likewise.
15995 * include/grub/fshelp.h: Likewise.
15996 * include/grub/gzio.h: Likewise.
15997 * include/grub/hfs.h: Likewise.
15998 * include/grub/kernel.h: Likewise.
15999 * include/grub/loader.h: Likewise.
16000 * include/grub/lvm.h: Likewise.
16001 * include/grub/misc.h: Likewise.
16002 * include/grub/mm.h: Likewise.
16003 * include/grub/net.h: Likewise.
16004 * include/grub/normal.h: Likewise.
16005 * include/grub/parser.h: Likewise.
16006 * include/grub/partition.h: Likewise.
16007 * include/grub/pc_partition.h: Likewise.
16008 * include/grub/raid.h: Likewise.
16009 * include/grub/rescue.h: Likewise.
16010 * include/grub/script.h: Likewise.
16011 * include/grub/setjmp.h: Likewise.
16012 * include/grub/symbol.h: Likewise.
16013 * include/grub/term.h: Likewise.
16014 * include/grub/terminfo.h: Likewise.
16015 * include/grub/tparm.h: Likewise.
16016 * include/grub/types.h: Likewise.
16017 * include/grub/video.h: Likewise.
16018 * include/grub/efi/api.h: Likewise.
16019 * include/grub/efi/chainloader.h: Likewise.
16020 * include/grub/efi/console.h: Likewise.
16021 * include/grub/efi/console_control.h: Likewise.
16022 * include/grub/efi/disk.h: Likewise.
16023 * include/grub/efi/efi.h: Likewise.
16024 * include/grub/efi/pe32.h: Likewise.
16025 * include/grub/efi/time.h: Likewise.
16026 * include/grub/i386/linux.h: Likewise.
16027 * include/grub/i386/setjmp.h: Likewise.
16028 * include/grub/i386/types.h: Likewise.
16029 * include/grub/i386/efi/kernel.h: Likewise.
16030 * include/grub/i386/efi/loader.h: Likewise.
16031 * include/grub/i386/efi/time.h: Likewise.
16032 * include/grub/i386/pc/biosdisk.h: Likewise.
16033 * include/grub/i386/pc/boot.h: Likewise.
16034 * include/grub/i386/pc/chainloader.h: Likewise.
16035 * include/grub/i386/pc/console.h: Likewise.
16036 * include/grub/i386/pc/init.h: Likewise.
16037 * include/grub/i386/pc/kernel.h: Likewise.
16038 * include/grub/i386/pc/loader.h: Likewise.
16039 * include/grub/i386/pc/memory.h: Likewise.
16040 * include/grub/i386/pc/multiboot.h: Likewise.
16041 * include/grub/i386/pc/serial.h: Likewise.
16042 * include/grub/i386/pc/time.h: Likewise.
16043 * include/grub/i386/pc/vbe.h: Likewise.
16044 * include/grub/i386/pc/vbeblit.h: Likewise.
16045 * include/grub/i386/pc/vbefill.h: Likewise.
16046 * include/grub/i386/pc/vbeutil.h: Likewise.
16047 * include/grub/i386/pc/vga.h: Likewise.
16048 * include/grub/ieee1275/ieee1275.h: Likewise.
16049 * include/grub/ieee1275/ofdisk.h: Likewise.
16050 * include/grub/powerpc/libgcc.h: Likewise.
16051 * include/grub/powerpc/setjmp.h: Likewise.
16052 * include/grub/powerpc/types.h: Likewise.
16053 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16054 * include/grub/powerpc/ieee1275/console.h: Likewise.
16055 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16056 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16057 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16058 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16059 * include/grub/powerpc/ieee1275/time.h: Likewise.
16060 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16061 * include/grub/sparc64/libgcc.h: Likewise.
16062 * include/grub/sparc64/setjmp.h: Likewise.
16063 * include/grub/sparc64/types.h: Likewise.
16064 * include/grub/sparc64/ieee1275/console.h: Likewise.
16065 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16066 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16067 * include/grub/sparc64/ieee1275/time.h: Likewise.
16068 * include/grub/util/biosdisk.h: Likewise.
16069 * include/grub/util/getroot.h: Likewise.
16070 * include/grub/util/lvm.h: Likewise.
16071 * include/grub/util/misc.h: Likewise.
16072 * include/grub/util/raid.h: Likewise.
16073 * include/grub/util/resolve.h: Likewise.
16074 * io/gzio.c: Likewise.
16075 * kern/device.c: Likewise.
16076 * kern/disk.c: Likewise.
16077 * kern/dl.c: Likewise.
16078 * kern/elf.c: Likewise.
16079 * kern/env.c: Likewise.
16080 * kern/err.c: Likewise.
16081 * kern/file.c: Likewise.
16082 * kern/fs.c: Likewise.
16083 * kern/loader.c: Likewise.
16084 * kern/main.c: Likewise.
16085 * kern/misc.c: Likewise.
16086 * kern/mm.c: Likewise.
16087 * kern/parser.c: Likewise.
16088 * kern/partition.c: Likewise.
16089 * kern/rescue.c: Likewise.
16090 * kern/term.c: Likewise.
16091 * kern/efi/efi.c: Likewise.
16092 * kern/efi/init.c: Likewise.
16093 * kern/efi/mm.c: Likewise.
16094 * kern/i386/dl.c: Likewise.
16095 * kern/i386/efi/init.c: Likewise.
16096 * kern/i386/efi/startup.S: Likewise.
16097 * kern/i386/pc/init.c: Likewise.
16098 * kern/i386/pc/lzo1x.S: Likewise.
16099 * kern/i386/pc/startup.S: Likewise.
16100 * kern/ieee1275/ieee1275.c: Likewise.
16101 * kern/powerpc/cache.S: Likewise.
16102 * kern/powerpc/dl.c: Likewise.
16103 * kern/powerpc/ieee1275/cmain.c: Likewise.
16104 * kern/powerpc/ieee1275/crt0.S: Likewise.
16105 * kern/powerpc/ieee1275/init.c: Likewise.
16106 * kern/powerpc/ieee1275/openfw.c: Likewise.
16107 * kern/sparc64/cache.S: Likewise.
16108 * kern/sparc64/dl.c: Likewise.
16109 * kern/sparc64/ieee1275/init.c: Likewise.
16110 * kern/sparc64/ieee1275/openfw.c: Likewise.
16111 * loader/efi/chainloader.c: Likewise.
16112 * loader/efi/chainloader_normal.c: Likewise.
16113 * loader/i386/efi/linux.c: Likewise.
16114 * loader/i386/efi/linux_normal.c: Likewise.
16115 * loader/i386/pc/chainloader.c: Likewise.
16116 * loader/i386/pc/chainloader_normal.c: Likewise.
16117 * loader/i386/pc/linux.c: Likewise.
16118 * loader/i386/pc/linux_normal.c: Likewise.
16119 * loader/i386/pc/multiboot.c: Likewise.
16120 * loader/i386/pc/multiboot_normal.c: Likewise.
16121 * loader/powerpc/ieee1275/linux.c: Likewise.
16122 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16123 * normal/arg.c: Likewise.
16124 * normal/cmdline.c: Likewise.
16125 * normal/command.c: Likewise.
16126 * normal/completion.c: Likewise.
16127 * normal/execute.c: Likewise.
16128 * normal/function.c: Likewise.
16129 * normal/lexer.c: Likewise.
16130 * normal/main.c: Likewise.
16131 * normal/menu.c: Likewise.
16132 * normal/menu_entry.c: Likewise.
16133 * normal/misc.c: Likewise.
16134 * normal/parser.y: Likewise.
16135 * normal/script.c: Likewise.
16136 * normal/i386/setjmp.S: Likewise.
16137 * normal/powerpc/setjmp.S: Likewise.
16138 * normal/sparc64/setjmp.S: Likewise.
16139 * partmap/acorn.c: Likewise.
16140 * partmap/amiga.c: Likewise.
16141 * partmap/apple.c: Likewise.
16142 * partmap/gpt.c: Likewise.
16143 * partmap/pc.c: Likewise.
16144 * partmap/sun.c: Likewise.
16145 * term/gfxterm.c: Likewise.
16146 * term/terminfo.c: Likewise.
16147 * term/efi/console.c: Likewise.
16148 * term/i386/pc/console.c: Likewise.
16149 * term/i386/pc/serial.c: Likewise.
16150 * term/i386/pc/vesafb.c: Likewise.
16151 * term/i386/pc/vga.c: Likewise.
16152 * term/ieee1275/ofconsole.c: Likewise.
16153 * util/biosdisk.c: Likewise.
16154 * util/console.c: Likewise.
16155 * util/genmoddep.c: Likewise.
16156 * util/getroot.c: Likewise.
16157 * util/grub-emu.c: Likewise.
16158 * util/grub-mkdevicemap.c: Likewise.
16159 * util/grub-probe.c: Likewise.
16160 * util/lvm.c: Likewise.
16161 * util/misc.c: Likewise.
16162 * util/raid.c: Likewise.
16163 * util/resolve.c: Likewise.
16164 * util/update-grub.in: Likewise.
16165 * util/update-grub_lib.in: Likewise.
16166 * util/grub.d/00_header.in: Likewise.
16167 * util/grub.d/10_hurd.in: Likewise.
16168 * util/grub.d/10_linux.in: Likewise.
16169 * util/i386/efi/grub-install.in: Likewise.
16170 * util/i386/efi/grub-mkimage.c: Likewise.
16171 * util/i386/pc/grub-install.in: Likewise.
16172 * util/i386/pc/grub-mkimage.c: Likewise.
16173 * util/i386/pc/grub-mkrescue.in: Likewise.
16174 * util/i386/pc/grub-setup.c: Likewise.
16175 * util/i386/pc/misc.c: Likewise.
16176 * util/powerpc/ieee1275/grub-install.in: Likewise.
16177 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
16178 * util/powerpc/ieee1275/misc.c: Likewise.
16179 * video/bitmap.c: Likewise.
16180 * video/video.c: Likewise.
16181 * video/i386/pc/vbe.c: Likewise.
16182 * video/i386/pc/vbeblit.c: Likewise.
16183 * video/i386/pc/vbefill.c: Likewise.
16184 * video/i386/pc/vbeutil.c: Likewise.
16185 * video/readers/tga.c: Likewise.
16186
3572d015 161872007-07-02 Robert Millan <rmh@aybabtu.com>
16188
16189 * conf/i386-efi.rmk: Replace obsolete reference to
16190 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
16191 with util/getroot.c.
16192 * conf/powerpc-ieee1275.rmk: Likewise.
16193 * conf/sparc64-ieee1275.rmk: Likewise.
16194
16195 * util/grub-emu.c (main): Fix unchecked pointer handling.
16196
2c2a681b 161972007-07-02 Robert Millan <rmh@aybabtu.com>
16198
16199 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
16200 invocation to fail, in order to support partition-less media.
16201
16202 * util/i386/pc/grub-install.in: Likewise.
16203
16204 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
16205 which fs or partmap modules are needed (akin to its sister scripts).
16206
16207 Also use grub-probe to get rid of unportable /proc/mounts check.
16208
16209 Print the same informational message that the other scripts do, before
fe6b695a 16210 exiting.
2c2a681b 16211
6193defe 162122007-06-23 Robert Millan <rmh@aybabtu.com>
16213
fe6b695a 16214 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 16215 a font file can be found and, if so, echo the GRUB path to it.
16216
16217 * util/update-grub.in: Handle multiple terminals depending on user
16218 input, platform availability and font file presence. Propagate
16219 variables of our findings to /etc/grub.d/ children.
16220
16221 * util/grub.d/00_header.in: Handle multiple terminals, based on
16222 environment setup by update-grub.
16223
eface1dc 162242007-06-23 Robert Millan <rmh@aybabtu.com>
16225
ba50d28f 16226 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 16227
bf697e28 162282007-06-21 Robert Millan <rmh@aybabtu.com>
16229
16230 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
16231 indicate end of data section in kernel image.
16232 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
16233 GRUB_KERNEL_MACHINE_DATA_END.
16234
16235 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
16236 space for it.
16237 * kern/i386/efi/startup.S: Likewise.
16238
16239 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
16240 during image generation. Implement --prefix option to override this
16241 patch.
16242 * util/i386/efi/grub-mkimage.c: Likewise.
16243
16244 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
16245 code to make path relative to its root into a separate function.
16246
16247 * util/i386/pc/grub-install.in: Use newly provided
16248 make_system_path_relative_to_its_root() to convert ${grubdir}, then
16249 pass the result to grub-install --prefix.
16250
baa574b4 162512007-06-13 Robert Millan <rmh@aybabtu.com>
16252
16253 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
16254 DEFAULT_DEVICE_MAP.
16255 * util/grub-emu.c: Use above definitions from misc.h instead of
16256 defining them.
16257 * util/grub-mkdevicemap.c: Likewise.
16258 * util/i386/pc/grub-setup.c: Likewise.
16259 * util/grub-probe.c: Likewise.
16260 (probe): Abort with grub_util_error() when either
16261 grub_guess_root_device or grub_util_get_grub_dev fails.
16262
0215dcbf 162632007-06-12 Robert Millan <rmh@aybabtu.com>
16264
16265 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
16266 "pager" assignment.
16267 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
16268 "pcdata".
16269 * util/grub-probe.c (probe): Likewise for "drive_name".
16270
8af2ab7b 162712007-06-11 Robert Millan <rmh@aybabtu.com>
16272
16273 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
16274 not just the cdrom one.
16275
59d31694 162762007-06-11 Robert Millan <rmh@aybabtu.com>
16277
16278 * util/i386/pc/grub-mkrescue.in: Add "set -e".
16279 Add --pkglibdir=DIR option to override pkglibdir.
16280 Mention --image-type=TYPE in help output.
16281 Fix --grub-mkimage (it was a no-op).
fe6b695a 16282 Abort gracefully when no parameter is given.
59d31694 16283
7ee367e4 162842007-06-11 Robert Millan <rmh@aybabtu.com>
16285
16286 * util/i386/pc/grub-mkrescue.in: New file.
16287 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
16288 * Makefile.in: Handle bin_SCRIPTS.
16289
29b0ed46 162902007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
16291
16292 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
16293 list of video modes.
16294
c0f90770 162952007-06-06 Robert Millan <rmh@aybabtu.com>
16296
16297 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
16298 file doesn't exist, or if it is in a filesystem grub can't read.
16299
16300 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
16301 not abort if GRUB_DRIVE could not be defined. Rearrange generated
16302 header comment to fit in 80 columns when the variables are resolved.
16303
16304 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
16305 could be identified by update-grub. Remove redundant check for
fe6b695a 16306 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 16307 handles that).
16308
fb36dc26 163092007-06-04 Robert Millan <rmh@aybabtu.com>
16310
16311 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
16312
16313 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
16314
16315 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
16316
0c68c93e 163172007-06-04 Robert Millan <rmh@aybabtu.com>
16318
16319 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
16320
16321 * include/grub/partition.h: Declare grub_apple_partition_map_init and
16322 grub_apple_partition_map_fini.
16323
16324 * util/biosdisk.c
16325 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
16326 to access >2 TiB disks).
16327
16328 Print disk->total_sectors with %llu instead of %lu, since this
16329 variable is always 64-bit (prevents wrong disk size from being displayed
16330 on either >2 TiB disk or big-endian CPU).
16331
16332 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
16333 into a generic case that supports all (sane) partition maps.
16334
16335 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
16336 breaks big-endian.
16337
16338 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
16339 and grub_apple_partition_map_fini() after that.
16340
0f23eb74 163412007-06-01 Robert Millan <rmh@aybabtu.com>
16342
16343 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
16344
16345 * util/grub.d/00_header.in: Only enable gfxterm when
16346 convert_system_path_to_grub_path() succeeds.
16347
42c71976 163482007-05-20 Robert Millan <rmh@aybabtu.com>
16349
16350 * util/update-grub_lib.in: New file.
16351 * DISTLIST: Add update-grub_lib.in.
16352 * conf/common.rmk: Generate update-grub_lib and install it in
16353 $(lib_DATA).
16354 * Makefile.in: Add install routine for $(lib_DATA).
16355
16356 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
16357 function provided by update-grub_lib to support arbitrary paths of
16358 unifont.pff.
16359 * util/update-grub.in: Use convert_system_path_to_grub_path() to
16360 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
16361
5beb2291 163622007-05-19 Robert Millan <rmh@aybabtu.com>
16363
16364 * commands/i386/cpuid.c: New module.
16365 * DISTLIST: Add it.
16366 * conf/i386-efi.rmk: Enable cpuid.mod.
16367 * conf/i386-pc.rmk: Likewise.
16368
7262eca1 163692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16370
16371 * kern/disk.c (grub_disk_read): Check return value of
16372 grub_realloc().
16373
260ba823 163742007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16375
16376 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
16377 arrays.
16378 * disk/raid.c (grub_raid_open): Likewise.
16379
1ecb6cf2 163802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16381
16382 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
16383 stack instead of on the heap.
16384
16385 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
16386 before doing a read on it.
16387
16388 * configure.ac: Only use -fno-stack-protector for the target
16389 environment.
f19dbdb7 16390
21c8cbb1 163912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16392
16393 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
16394 __attribute_ ((unused)) to mode_type argument.
16395
16396 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 16397
21c8cbb1 16398 * kern/misc.c (memcmp): Fix prototype.
16399
16400 * include/grub/partition.h [GRUB_UTIL]
16401 (grub_gpt_partition_map_init): Add prototype.
16402 (grub_gpt_partition_map_fini): Likewise.
16403
16404 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
16405 at the right place.
16406
16407 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
16408 (grub_fat_read_data): Likewise.
16409 (grub_fat_find_dir): Likewise.
16410
16411 * font/manager.c (find_glyph): Make table a const.
16412 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 16413
849d55d3 164142007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
16415
16416 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
16417 code, first search for device in /dev/mapper, then in /dev.
16418 (grub_util_get_grub_dev): New function.
16419 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
16420 prototype.
16421 * util/grub-probe.c (probe): Remove check for RAID, call
16422 grub_util_get_grub_dev() instead of
16423 grub_util_biosdisk_get_grub_dev().
16424 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
16425 grub_util_biosdisk_get_grub_dev().
16426 * util/i386/pc/grub-setup.c (main): Likewise.
16427
8fff7c2f 164282007-05-16 Robert Millan <rmh@aybabtu.com>
16429
16430 * DISTLIST: Update for the latest changes.
16431 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
16432 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
16433 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
16434 grub/util/biosdisk.h.
16435 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
16436 grub/util/biosdisk.h.
16437
48e12b52 164382007-05-16 Robert Millan <rmh@aybabtu.com>
16439
16440 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
16441
46b9d128 164422007-05-16 Robert Millan <rmh@aybabtu.com>
16443
16444 * util/i386/efi/grub-install.in: New.
16445 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
16446 newly added grub-install.
16447 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
16448 include.
16449 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
16450 grub/util/biosdisk.h.
16451 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
16452 grub/util/biosdisk.h.
16453
2d1a40a9 164542007-05-16 Robert Millan <rmh@aybabtu.com>
16455
16456 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
16457 * include/grub/util/biosdisk.h: ... here.
16458 * util/i386/pc/biosdisk.c: Moved to ...
16459 * util/biosdisk.c: ... here.
16460 * util/i386/pc/getroot.c: Moved to ...
16461 * util/getroot.c: ... here.
16462 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
16463 * util/grub-mkdevicemap.c: ... here.
16464 * util/i386/pc/grub-probe.c: Moved to ...
16465 * util/grub-probe.c: ... here.
16466
9e26e3bc 164672007-05-15 Robert Millan <rmh@aybabtu.com>
16468
16469 * util/update-grub.in: Remove duplicated line in grub.cfg header
16470 message.
16471
57f96397 164722007-05-13 Robert Millan <rmh@aybabtu.com>
16473
16474 * util/update-grub.in: Fix a few assumptions about the devices holding
16475 /, /boot and /boot/grub being the same.
16476 * util/grub.d/00_header.in: Likewise.
16477 * util/grub.d/10_hurd.in: Likewise.
16478 * util/grub.d/10_linux.in: Likewise.
16479
16480 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
16481 patterns. Use that to define the `.old' suffix as older than `'.
16482
16483 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
16484
16485 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
16486 the grub.cfg header message.
16487
2e610d62 164882007-05-11 Robert Millan <rmh@aybabtu.com>
16489
16490 * util/update-grub.in: Create device.map if it doesn't already exist,
16491 before attempting to run grub-probe.
16492 Check for grub-probe and grub-mkdevicemap with the same code
16493 grub-install is using.
16494 Remove test mode.
16495
3f6a10ef 164962007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
16497
16498 * Makefile.in: Add the datarootdir autoconf variable.
16499
02e7b75e 165002007-05-09 Robert Millan <rmh@aybabtu.com>
16501
16502 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 16503 fail gracefully if dev->disk->partition == NULL.
02e7b75e 16504
75f396cc 165052007-05-07 Robert Millan <rmh@aybabtu.com>
16506
16507 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
16508 determine partition map module.
16509 * util/i386/pc/grub-install.in: Use this feature to decide which
16510 partition module to load, instead of hardcoding pc and gpt.
16511
da65cb36 165122007-05-07 Robert Millan <rmh@aybabtu.com>
16513
16514 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
16515 source directory differs from build directory.
16516
b57d6a91 165172007-05-05 Robert Millan <rmh@aybabtu.com>
16518
16519 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
16520 initialisation.
16521
509d00f1 165222007-05-05 Robert Millan <rmh@aybabtu.com>
16523
16524 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
16525
c48f23ef 165262007-05-05 Robert Millan <rmh@aybabtu.com>
16527
16528 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
16529 command-line arguments via ${GRUB_CMDLINE_LINUX}.
16530
20b97658 165312007-05-05 Robert Millan <rmh@aybabtu.com>
16532
16533 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
16534 (grub_probe_SOURCES): Likewise.
16535 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
16536 GPT and initialize dos_part and bsd_part accordingly.
16537 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
16538 install_bsd_part.
16539 (main): Activate gpt module for use during partition identification,
16540 and deactivate it afterwards.
16541 * util/i386/pc/grub-install.in: Add gpt module to core.img.
16542 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
16543 partition identification, and deactivate it afterwards.
16544
99123174 165452007-05-05 Robert Millan <rmh@aybabtu.com>
16546
16547 * term/i386/pc/console.c (grub_console_fini): Call
16548 grub_term_set_current() before grub_term_unregister().
16549
ebd97f6e 165502007-05-04 Robert Millan <rmh@aybabtu.com>
16551
16552 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
16553 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
16554 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
16555 and update-grub_DATA.
16556 * conf/common.rmk: Build and install update-grub components.
16557 * conf/common.mk: Regenerate.
16558 * util/update-grub.in: New. Core of update-grub.
16559 * util/grub.d/00_header.in: New. Generates grub.cfg header.
16560 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
16561 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
16562 * util/grub.d/README: New. Document grub.d directory layout.
16563
b06a264d 165642007-05-01 Robert Millan <rmh@aybabtu.com>
16565
16566 * util/grub-emu.c: Move initialization functions
16567 grub_util_biosdisk_init() and grub_init_all() before
16568 grub_util_biosdisk_get_grub_dev(), which relies on them.
16569
41f0050e 165702007-04-19 Robert Millan <rmh@aybabtu.com>
16571
16572 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
16573 it is used later.
16574
04582bb3 165752007-04-18 Jerone Young <jerone@gmail.com>
16576
f19dbdb7 16577 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 16578 stanza.
16579
08db4632 165802007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 16581
08db4632 16582 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
16583 continue on and look for device node with real device name.
16584
801b76be 165852007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 16586
fe6b695a 16587 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 16588 ability.
16589 * Makefile.in: Add autoconf package transformation code.
16590 * util/i386/pc/grub-install.in: Likewise.
16591 * util/powerpc/ieee1275/grub-install.in: Likewise.
16592
6795c4e1 165932007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
16594
16595 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
16596 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
16597 (EXT2_REVISION): Likewise.
16598 (EXT2_INODE_SIZE): Likewise.
16599 (struct grub_ext2_block_group): Added a missing member
16600 "used_dirs".
16601 (grub_ext2_read_inode): Divide by the inode size in a superblock
16602 instead of 128 to obtain INODES_PER_BLOCK.
16603 Use the macro EXT2_INODE_SIZE instead of directly using
16604 SBLOCK->INODE_SIZE.
16605
d70af616 166062007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
16607
16608 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
16609 superblock instead of the structure size to compute an
16610 offset. This fixes the problem that GRUB could not read a
16611 filesystem when inode size is different from 128-byte.
16612
3b801603 166132007-03-05 Marco Gerards <marco@gnu.org>
16614
16615 * normal/main.c (read_config_file): When "menu" is not set, create
16616 an initial context.
16617
4785bfe4 166182007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16619
16620 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
16621 (HEAP_LIMIT): New macro.
16622 (grub_claim_heap): Claim memory up to `heaplimit'.
16623
a0cbb023 166242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16625
16626 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
16627 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
16628 (_start): Likewise.
16629 (grub_arch_modules_addr): Return address after `_end'.
16630 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
16631 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
16632 (add_segments): Calculate `_end' from phdr size and location.
16633 (ALIGN_UP): Moved to ...
16634 * include/grub/misc.h: here.
16635 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16636 New macro.
16637 (GRUB_IEEE1275_MODULE_BASE): Removed.
16638
fd7d8eba 166392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16640
16641 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
16642 loop boundary.
16643
9b09e6fc 166442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16645
16646 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
16647 All users updated.
16648 (grub_elf64_load_hook_t): Likewise.
16649 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
16650 debug output.
16651
3ce27299 166522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16653
16654 * kern/mm.c: Update copyright.
16655 (grub_mm_debug): Correct syntax error.
16656 (grub_mm_dump_free): New function.
16657 (grub_debug_free): Call `grub_free'.
16658 * include/grub/mm.h: Update copyright.
16659 (grub_mm_dump_free): Add declaration.
16660
077d5fee 166612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16662
16663 * include/grub/ieee1275/ieee1275.h: Update copyright.
16664 * kern/powerpc/ieee1275/init.c: Likewise.
16665 * kern/powerpc/ieee1275/openfw.c: Likewise.
16666
16667 * loader/powerpc/ieee1275/linux.c: Likewise.
16668 * include/grub/elfload.h: Likewise.
16669 * kern/elf.c: Likewise.
16670 (grub_elf32_load): Pass `base' and `size' parameters. Update all
16671 callers.
16672 (grub_elf64_load): Likewise.
16673 (grub_elf32_load_segment): Move to a nested function.
16674 (grub_elf64_load_segment): Likewise.
16675
dc946850 166762007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16677
16678 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
16679 prototype.
16680 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
16681 (grub_heap_len): Likewise.
16682 (HEAP_SIZE): New macro.
16683 (grub_claim_heap): New function.
16684 (grub_machine_init): Don't claim heap directly. Call
16685 `grub_claim_heap'.
16686 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
16687 (grub_available_iterate): New function.
16688
baa2a121 166892007-02-03 Thomas Schwinge <tschwinge@gnu.org>
16690
16691 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
16692 * configure.ac: Use it for testing the HOST and TARGET compilers.
16693
4fe9862e 166942006-12-13 Thomas Schwinge <tschwinge@gnu.org>
16695
16696 * Makefile.in (enable_grub_emu): New variable.
16697 * configure.ac (--enable-grub-emu): New option.
16698 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
16699 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
16700 * conf/i386-pc.rmk: Likewise.
16701 * conf/powerpc-ieee1275.rmk: Likewise.
16702 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
16703
a8aa5762 167042006-12-12 Marco Gerards <marco@gnu.org>
16705
16706 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
16707
16708 * kern/env.c (grub_env_unset): Don't free the member `value' when
16709 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
16710 pointer.
16711
16712 * normal/main.c (current_menu): Removed.
16713 (free_menu): Unset the `menu' environment variable.
16714 (grub_normal_menu_addentry): Make use of the environment variable
16715 `menu', instead of using the global `current_menu'. Allocate
16716 memory for the sourcecode of this entry.
16717 (read_config_file): New argument `nested', changed all callers.
16718 Only in the case of a new context, initialize a new menu. Set the
16719 `menu' environment variable.
16720 (grub_normal_execute): Don't set and unset the environment
16721 variable `menu' here anymore. Only free the menu when leaving the
16722 context.
16723
16724 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
16725 leak.
16726
957b3a3e 167272006-12-11 Marco Gerards <marco@gnu.org>
16728
16729 * normal/menu_entry.c (run): Fix off by one bug so the last line
16730 is executed. Move the loader check to outside the loop.
16731
ef875714 167322006-12-08 Hollis Blanchard <hollis@penguinppc.org>
16733
16734 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
16735
4e739985 167362006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
16737
16738 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
16739 the number of sectors. Reported by Andrey Shuvikov
16740 <mr_hyro@yahoo.com>.
f19dbdb7 16741
790707f2 167422006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
16743
16744 * kern/disk.c (grub_disk_read): When there is a read error, always
16745 try to read only the necessary data.
f19dbdb7 16746
790707f2 16747 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
16748 disk/raid.c.
16749 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
16750 prototype.
16751 [GRUB_UTIL] (grub_raid_fini): Likewise.
16752 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 16753 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 16754 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
16755 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
16756 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
16757 and grub_raid_fini().
f19dbdb7 16758
03e58196 167592006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
16760
16761 * include/grub/types.h (__unused): Rename to UNUSED.
16762 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
16763 (grub_elf64_size): Likewise.
f19dbdb7 16764
ae4f23bf 167652006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16766
16767 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
16768 grub_error_push and grub_error_pop in the error-handling path.
16769 (grub_elf32_load_segment): Only call grub_file_read with non-zero
16770 length.
16771
2166cc83 167722006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16773
16774 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
16775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16777 (kernel_elf_SOURCES): Likewise.
16778 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
16779 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
16780 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16781 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16782 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
16783 (elf_mod_SOURCES): New variable.
16784 (elf_mod_CFLAGS): Likewise.
16785 (elf_mod_LDFLAGS): Likewise.
16786 * include/grub/types.h (__unused): New macro.
16787 * include/grub/elfload.h: New file.
16788 * kern/elf.c: Likewise.
16789 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
16790 (ELF32_LOADMASK): New macro.
16791 (ELF64_LOADMASK): Likewise.
16792 (vmlinux): Removed.
16793 (grub_linux_load32): New function.
16794 (grub_linux_load64): Likewise.
16795 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
16796 Use grub_elf_t instead of grub_file_t.
16797
a09d5aa5 167982006-11-02 Hollis Blanchard <hollis@penguinppc.org>
16799
16800 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
16801 `catch_result' to struct set_color_args.
16802
d976fc51 168032006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16804
16805 * normal/menu.c: Include grub/script.h.
16806 * normal/menu_entry.c: Likewise.
16807 * include/grub/normal.h: Do not include grub/script.h.
16808
67507549 168092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16810
16811 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
16812
69203a99 168132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16814
16815 * kern/disk.c (grub_disk_open): Print debug messages when opening a
16816 disk.
16817 (grub_disk_close): Print debug messages when closing a disk.
16818 (grub_disk_read): Print debug messages when disk read fails.
16819 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
16820 filesystem type.
16821 * kern/partition.c: Include misc.h.
16822 (grub_partition_iterate): Print debug messages when detecting
16823 partition type.
16824
e2b8278c 168252006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16826
16827 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
16828 is negative.
16829 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
16830
97b2f2ff 168312006-10-26 Hollis Blanchard <hollis@penguinppc.org>
16832
16833 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16834 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
16835
6555d655 168362006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
16837
16838 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
16839 instead of sizeof(lv). Patch by Michael Guntsche.
16840
4d42b77f 168412006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
16842
16843 * disk/lvm.c: Rename VGS to VG_LIST.
16844 (grub_lvm_iterate): Change VGS->LV to VG-LV.
16845 (grub_lvm_open): Likewise.
16846 Thanks to Michael Guntsche for finding this bug.
16847
5d74d927 168482006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16849
16850 * configure.ac (AC_INIT): Bumped to 1.95.
16851
a1bb27e4 168522006-10-14 Robert Millan <rmh@aybabtu.com>
16853
16854 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
16855 with "/dev/.static/dev/md".
16856
e0994b8b 168572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16858
16859 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
16860 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
16861 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
16862 DRIVE_NAME are always freed.
16863
16864 * util/i386/pc/biosdisk.c (make_device_name): Add one into
16865 DOS_PART, as a DOS partition is counted from one instead of zero
16866 now. Reported by Robert Millan.
16867
ddd5cee9 168682006-10-14 Robert Millan <rmh@aybabtu.com>
16869
16870 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
16871 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
16872 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
16873 string returned by grub_guess_root_device.
16874 * util/i386/pc/grub-setup.c: Likewise.
16875 * util/i386/pc/grub-probefs.c: Likewise.
16876
16877 * util/i386/pc/grub-probefs.c: Rename to ...
16878 * util/i386/pc/grub-probe.c: ... this.
16879 * DISTLIST: Remove grub-probefs, add grub-probe.
16880 * conf/i386-efi.rmk: Likewise.
16881 * conf/i386-pc.rmk: Likewise.
16882 * util/i386/pc/grub-install.in: Likewise.
16883
16884 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
16885 choose which information we want to print.
16886
2b002173 168872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16888
16889 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
16890 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
16891 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
16892 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
16893 video/readers/tga.c and video/i386/pc/vbeutil.c.
16894
168952006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
16896
16897 Added support for RAID and LVM.
f19dbdb7 16898
2b002173 16899 * disk/lvm.c: New file.
16900 * disk/raid.c: Likewise.
16901 * include/grub/lvm.h: Likewise.
f19dbdb7 16902 * include/grub/raid.h: Likewise.
2b002173 16903 * include/grub/util/lvm.h: Likewise.
16904 * include/grub/util/raid.h: Likewise.
16905 * util/lvm.c: Likewise.
16906 * util/raid.c: Likewise.
16907
16908 * include/grub/disk.h (grub_disk_dev_id): Add
16909 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
16910 (grub_disk_get_size): New prototype.
16911 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
16912 returns a partition.
16913 (grub_disk_get_size): New function.
f19dbdb7 16914
2b002173 16915 * kern/i386/pc/init.c (make_install_device): Copy the prefix
16916 verbatim if grub_install_dos_part is -2.
16917
16918 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
16919 and LVM devices.
16920
16921 * util/i386/pc/grub-setup.c (setup): New argument
16922 MUST_EMBED. Force embedding of GRUB when the argument is
16923 true. Close FILE before returning.
16924 (main): Add support for RAID and LVM.
f19dbdb7 16925
2b002173 16926 * conf/common.rmk: Add RAID and LVM modules.
16927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
16928 util/lvm.c.
16929 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
16930
16931 * kern/misc.c (grub_strstr): New function.
16932 * include/grub/misc.h (grub_strstr): New prototype.
16933
050548d0 169342006-10-10 Tristan Gingold <tristan.gingold@bull.net>
16935
16936 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16937
da849d2d 169382006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16939
16940 * kern/misc.c (grub_strtoull): Guess the base only if not
16941 specified.
16942
97b2f2ff 169432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16944
16945 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16946 PowerMac support.
16947
97b2f2ff 169482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16949
16950 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16951
16952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16953 Remove `flags' argument. All callers changed.
16954 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16955 (IEEE1275_IHANDLE_INVALID): New variable.
16956 (IEEE1275_CELL_INVALID): New variable.
16957 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16958 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16959 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16960 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16961 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16962 codes from Open Firmware. All callers updated.
16963 (grub_ieee1275_next_property): Directly return Open Firmware return
16964 code.
16965 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16966 Standardize error checking from `grub_ieee1275_get_property'.
16967 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16968 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16969
97b2f2ff 169702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16971
16972 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16973 `instance_to_package_args' to `instance_to_path_args'.
16974
16975 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16976 `grub_ieee1275_chosen'.
16977
16978 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16979 `grub_ieee1275_interpret'.
16980
97b2f2ff 169812006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16982
16983 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16984
97b2f2ff 169852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16986
16987 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16988 (__cmpdi): Likewise.
16989
16990 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16991 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16992 `grub_ssize_t'.
16993
02bb8acc 16994 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 16995
16996 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
16997 to type `grub_ssize_t'.
16998 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
16999
7f9a8531 170002006-09-22 Marco Gerards <marco@gnu.org>
17001
17002 * normal/script.c (grub_script_create_cmdmenu): Skip leading
17003 newlines.
17004
b5ef1102 170052006-09-22 Marco Gerards <marco@gnu.org>
17006
17007 * commands/echo.c: New file.
17008
17009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
17010
17011 * conf/common.rmk (echo_mod_SOURCES): New variable.
17012 (echo_mod_CFLAGS): Likewise.
17013 (echo_mod_LDFLAGS): Likewise.
17014
2cff3677 170152006-09-22 Marco Gerards <marco@gnu.org>
17016
17017 * normal/main.c (get_line): Malloc memory instead of using
17018 preallocated memory. Removed the arguments `cmdline' and
17019 `max_len'. Updated all callers.
17020
6ba4688b 170212006-09-22 Marco Gerards <marco@gnu.org>
17022
17023 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17024 (normal_mod_DEPENDENCIES): Likewise.
17025
17026 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17027 (normal_mod_DEPENDENCIES): Likewise.
17028
17029 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17030
e02ac02c 170312006-09-22 Johan Rydberg <jrydberg@gnu.org>
17032
17033 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17034 programs.
17035 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17036 (normal_mod_DEPENDENCIES): Likewise.
17037 * conf/i386-pc.mk: Regenerate.
17038 * conf/i386-efi.mk: Likewise
17039 * conf/common.mk: Likewise.
17040 * conf/powerpc-ieee1275.mk: Likewise.
17041 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17042
8d252e44 170432006-09-22 Robert Millan <rmh@aybabtu.com>
17044
17045 Sync with i386 version.
17046 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17047 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17048
209bf7ac 170492006-09-21 Robert Millan <rmh@aybabtu.com>
17050
17051 Import from GRUB Legacy (lib/device.c):
17052 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17053 (init_device_map) [__linux__]: Add support for I2O devices.
17054
6b146090 170552006-09-14 Marco Gerards <marco@gnu.org>
17056
17057 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17058 `-melf_i386'.
17059
e38600a8 170602006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17061
17062 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17063 /boot/grub/*.lst.
78fa1790 17064
2952da5d 17065 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17066
2952da5d 17067 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17068 before adding it to device.map.
17069
01b82a64 170702006-08-15 Johan Rydberg <jrydberg@gnu.org>
17071
fe6b695a 17072 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17073 compiles a file; using the -MD option.
17074 * conf/common.mk: Regenerate.
17075 * conf/i386-pc.mk: Likewise.
17076 * conf/i386-efi.mk: Likewise.
17077 * conf/powerpc-ieee1275.mk: Likewise.
17078 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17079
1064790d 170802006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17081
17082 Move the prototypes of grub_setjmp and grub_longjmp to
17083 cpu/setjmp.h, so that each architecture may specify different
17084 attributes.
f19dbdb7 17085
1064790d 17086 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17087 (grub_longjmp): Likewise.
17088 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17089 (grub_longjmp): Likewise.
17090 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17091 (grub_longjmp): Likewise.
17092
17093 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17094 [!GRUB_UTIL] (grub_longjmp): Removed.
17095
29dda3ed 170962006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17097
17098 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17099 "color!" method does not return any value.
17100
ad2a06ed 171012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17102
17103 * include/grub/bitmap.h: New file.
17104
17105 * include/grub/i386/pc/vbeutil.h: Likewise.
17106
17107 * video/bitmap.c: Likewise.
17108
17109 * video/readers/tga.c: Likewise.
17110
17111 * video/i386/pc/vbeutil.c: Likewise.
17112
17113 * commands/videotest.c: Code cleanup and updated to reflect to new
17114 video API.
17115
17116 * term/gfxterm.c: Likewise.
17117
17118 * video/video.c: Likewise.
17119
17120 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
17121 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
17122 (bitmap_mod_SOURCES): New entry.
17123 (bitmap_mod_CFLAGS): Likewise.
17124 (bitmap_mod_LDFLAGS): Likewise.
17125 (tga_mod_SOURCES): Likewise.
17126 (tga_mod_CFLAGS): Likewise.
17127 (tga_mod_LDFLAGS): Likewise.
17128
17129 * include/grub/video.h (grub_video_blit_operators): New enum type.
17130 (grub_video_render_target): Changed as forward declaration and moved
17131 actual definition to be video driver specific.
17132 (grub_video_adapter.blit_bitmap): Added blitting operator.
17133 (grub_video_adapter.blit_render_target): Likewise.
17134 (grub_video_blit_bitmap): Likewise.
17135 (grub_video_blit_render_target): Likewise.
17136
17137 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
17138 driver specific render target definition.
17139 (grub_video_vbe_map_rgba): Added driver internal helper.
17140 (grub_video_vbe_unmap_color): Updated to use
17141 grub_video_i386_vbeblit_info.
17142 (grub_video_vbe_get_video_ptr): Likewise.
17143
17144 * include/grub/i386/pc/vbeblit.h
17145 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
17146 grub_video_i386_vbeblit_info.
17147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17148 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17149 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17150 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17151 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17152 (grub_video_i386_vbeblit_index_index): Likewise.
17153 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
17154 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17155 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17156 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
17157 operator.
17158 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
17159 operator.
17160
17161 * video/i386/pc/vbeblit.c: Updated to reflect changes on
17162 include/grub/i386/pc/vbeblit.h.
17163
17164 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
17165 Updated to use grub_video_i386_vbeblit_info.
17166 (grub_video_i386_vbefill_R8G8B8): Likewise.
17167 (grub_video_i386_vbefill_index): Likewise.
17168 (grub_video_i386_vbefill): Added generic filler.
17169
17170 * video/i386/pc/vbefill.c: Updated to reflect changes on
17171 include/grub/i386/pc/vbefill.h.
17172
17173 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
17174 grub_video_i386_vbeblit_info.
17175 (grub_video_vbe_unmap_color): Likewise.
17176 (grub_video_vbe_blit_glyph): Likewise.
17177 (grub_video_vbe_scroll): Likewise.
17178 (grub_video_vbe_draw_pixel): Removed function.
17179 (grub_video_vbe_get_pixel): Likewise.
17180 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
17181 updated code to use it.
17182 (common_blitter): Added common blitter for render target and bitmap.
17183 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
17184 (grub_video_vbe_blit_render_target): Likewise.
17185
bc8c036d 171862006-07-30 Johan Rydberg <jrydberg@gnu.org>
17187
17188 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
17189 is in text mode if there is no console control protocol instance
17190 available.
17191
684a8eff 171922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17193
17194 * include/grub/video.h: Code cleanup.
17195
17196 * include/grub/i386/pc/vbe.h: Likewise.
17197
17198 * video/i386/pc/vbe.c: Likewise.
17199
17200 * video/i386/pc/vbeblit.c: Likewise.
17201
17202 * video/i386/pc/vbefill.c: Likewise.
17203
17204 * video/video.c: Likewise. Also added more comments.
17205
5915059b 172062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17207
17208 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
17209 (struct grub_biosdisk_dap): Likewise.
17210
17211 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
17212 linkage settings for all functions.
17213
90ce5d56 172142006-07-12 Marco Gerards <marco@gnu.org>
17215
17216 * configure.ac (--enable-mm-debug): Fix typo.
17217
17218 * genkernsyms.sh.in: Use proper quoting for `CC'.
17219
43e7f879 172202006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
17221
17222 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
17223 (normal_mod_ASFLAGS): Remove "-m32".
17224
4889bdec 172252006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
17226
17227 * util/misc.c: Include config.h.
17228 [!HAVE_MEMALIGN]: Do not include malloc.h.
17229 (grub_memalign): Use posix_memalign, if present. Then, use
17230 memalign, if present. Otherwise, emit an error.
17231
17232 * util/grub-emu.c: Do not include malloc.h.
17233
17234 * include/grub/util/misc.h: Include unistd.h. This is required for
17235 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
17236 D. Eades III <hde@foobar-qux.org>.
17237
17238 * configure.ac (AC_GNU_SOURCE): Added.
17239 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
17240 type.
17241
fd39d4da 172422006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
17243
17244 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
17245 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
17246
b786f3b5 172472006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
17248
17249 * include/grub/types.h (grub_host_addr_t): Rename to
17250 grub_target_addr_t.
17251 (grub_host_off_t): Rename to grub_target_off_t.
17252 (grub_host_size_t): Rename to grub_target_size_t.
17253 (grub_host_ssize_t): Rename to grub_target_ssize_t.
17254 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
17255
17256 * include/grub/kernel.h (struct grub_module_header): Change type
17257 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
17258 (grub_module_info): Likewise.
f19dbdb7 17259
051988bb 172602006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17261
17262 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
17263 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
17264 Velazquez <jesus.velazquez@gmail.com>.
17265
deae281b 172662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17267
17268 Count partitions from 1 instead of 0 in the string representation
17269 of partitions. Still use 0-based internally.
f19dbdb7 17270
deae281b 17271 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
17272 (sun_partition_map_iterate): Use grub_partition_t instead of
17273 struct grub_partition *. Cast DESC->START_CYLINDER to
17274 grub_uint64_t after converting the endian.
17275 (sun_partition_map_probe): Subtract 1 for PARTNUM.
17276 (sun_partition_map_get_name): Add 1 to P->INDEX.
17277
17278 * partmap/pc.c (grub_partition_parse): Subtract 1 for
17279 PCDATA->DOS_PART.
17280 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
17281
17282 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
17283 zero instead of one.
17284 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
17285 (gpt_partition_map_get_name): Add 1 into P->INDEX.
17286
17287 * partmap/apple.c (apple_partition_map_iterate): Change the type
17288 of POS to unsigned.
17289 (apple_partition_map_probe): Subtract 1 for PARTNUM.
17290 (apple_partition_map_get_name): Add 1 into P->INDEX.
17291
17292 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
17293 of POS to unsigned.
17294 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
17295 calculate the offset of a partition.
17296 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
17297 (amiga_partition_map_get_name): Add 1 into P->INDEX.
17298
17299 * partmap/acorn.c (acorn_partition_map_find): Change the type of
17300 SECTOR to grub_disk_addr_t.
17301 (acorn_partition_map_iterate): Likewise.
17302 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
17303 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
17304 top.
17305 (acorn_partition_map_get_name): Add 1 into P->INDEX.
17306
17307 * kern/i386/pc/init.c (make_install_device): Add 1 into
17308 GRUB_INSTALL_DOS_PART.
17309
17310 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
17311 conditional.
17312
524a1e6a 173132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17314
17315 Clean up the code to support 64-bit addressing in disks and
17316 files. This change is not enough for filesystems yet.
f19dbdb7 17317
524a1e6a 17318 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
17319 type of "start" to grub_uint64_t.
17320 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
17321 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
17322 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
17323 convert addresses.
17324
17325 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
17326 to grub_disk_addr_t.
17327
17328 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
17329 string.
17330
17331 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17332
17333 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
17334 to char *.
17335
17336 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
17337
17338 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
17339
17340 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
17341
17342 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
17343 to grub_off_t, to detect an error from grub_file_seek.
17344 (grub_multiboot_load_elf32): Likewise.
17345
17346 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
17347 maximum unsigned long value when an overflow is detected.
17348 (grub_strtoull): New function.
17349 (grub_divmod64): Likewise.
17350 (grub_lltoa): use grub_divmod64.
17351
17352 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
17353 grub_disk_addr_t.
17354 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
17355 the pointer to next character. Use grub_strtoull instead of
17356 grub_strtoul.
17357 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
17358 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
17359 respectively.
17360
fe6b695a 17361 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 17362 return value is signed.
17363 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
17364 test if OFFSET is less than zero, as OFFSET is unsigned now.
17365
17366 * kern/disk.c (struct grub_disk_cache): Change the type of
17367 "sector" to grub_disk_addr_t.
17368 (grub_disk_cache_get_index): Change the type of SECTOR to
17369 grub_disk_addr_t. Calculate the hash with SECTOR casted to
17370 unsigned after shifting.
17371 (grub_disk_cache_invalidate): Change the type of SECTOR to
17372 grub_disk_addr_t.
17373 (grub_disk_cache_unlock): Likewise.
17374 (grub_disk_cache_store): Likewise.
17375 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
17376 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
17377 grub_disk_addr_t and grub_uint64_t, respectively.
17378 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
17379 body, as the value of OFFSET is tweaked by
17380 grub_disk_check_range. Change the types of START_SECTOR, LEN and
17381 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
17382 respectively.
17383 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
17384 body, as the value of OFFSET is tweaked by
17385 grub_disk_check_range. Change the types of LEN and N to
17386 grub_size_t.
17387
17388 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
17389 and "saved_offset" to grub_off_t.
17390 (test_header): Cast BUF to char *.
17391 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
17392 to char *.
17393 (grub_gzio_read): Change the types of OFFSET and SIZE to
17394 grub_off_t and grub_size_t, respectively.
17395
17396 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
17397 Removed.
17398 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
17399 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
17400 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
17401 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
17402 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
17403
17404 * include/grub/types.h (grub_off_t): Unconditionally set to
17405 grub_uint64_t.
17406 (grub_disk_addr_t): Changed to grub_uint64_t.
17407
17408 * include/grub/partition.h (struct grub_partition): Change the
17409 types of "start", "len" and "offset" to grub_disk_addr_t,
17410 grub_uint64_t and grub_disk_addr_t, respectively.
17411 (grub_partition_get_start): Return grub_disk_addr_t.
17412 (grub_partition_get_len): Return grub_uint64_t.
17413
17414 * include/grub/misc.h (grub_strtoull): New prototype.
17415 (grub_divmod64): Likewise.
17416
17417 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
17418 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
17419 grub_off_t, respectively.
17420 All callers and references changed.
17421
17422 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
17423 grub_size_t in "read".
17424 All callers and references changed.
17425
17426 * include/grub/file.h (struct grub_file): Change the types of
17427 "offset" and "size" to grub_off_t and grub_off_t,
17428 respectively. Change the type of SECTOR to grub_disk_addr_t in
17429 "read_hook".
17430 (grub_file_read): Change the type of LEN to grub_size_t.
17431 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
17432 grub_off_t.
17433 (grub_file_size): Return grub_off_t.
17434 (grub_file_tell): Likewise.
17435 All callers and references changed.
17436
17437 * include/grub/disk.h (struct grub_disk_dev): Change the types of
17438 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
17439 "write".
17440 (struct grub_disk): Change the type of "total_sectors" to
17441 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 17442 "read_hook".
524a1e6a 17443 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
17444 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
17445 (grub_disk_write): Likewise.
17446 All callers and references changed.
17447
17448 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
17449 char * for grub_strncmp to silence gcc.
17450 (grub_iso9660_mount): Likewise.
17451 (grub_iso9660_mount): Likewise.
17452 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
17453 return statement.
17454 (grub_iso9660_iterate_dir): Likewise.
17455 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
17456
17457 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
17458 LEN to grub_disk_addr_t and grub_size_t, respectively.
17459
17460 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17461
17462 * fs/jfs.c (grub_jfs_read_file): Likewise.
17463
17464 * fs/minix.c (grub_jfs_read_file): Likewise.
17465
17466 * fs/sfs.c (grub_jfs_read_file): Likewise.
17467
17468 * fs/ufs.c (grub_jfs_read_file): Likewise.
17469
17470 * fs/xfs.c (grub_jfs_read_file): Likewise.
17471
17472 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
17473 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
17474 respectively.
17475
17476 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
17477 BLKNR to -1 instead of returning GRUB_ERRNO.
17478 (grub_ext2_read_file): Change the types of SECTOR and
17479 LEN to grub_disk_addr_t and grub_size_t, respectively.
17480
17481 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
17482 LEN to grub_disk_addr_t and grub_size_t, respectively.
17483
17484 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
17485 grub_file_read.
17486
17487 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
17488 string. Do not cast SECTOR explicitly.
17489
17490 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
17491 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
17492 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
17493 grub_disk_addr_t and grub_size_t, respectively. If the sector is
17494 over 2TB and LBA mode is not supported, raise an error.
17495 (get_safe_sectors): New function.
17496 (grub_biosdisk_read): Use get_safe_sectors.
17497 (grub_biosdisk_write): Likewise.
17498
17499 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
17500 (grub_efidisk_write): Likewise.
17501
17502 * disk/loopback.c (delete_loopback): Cosmetic changes.
17503 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
17504 correctly.
17505 (grub_loopback_open): Likewise.
17506 (grub_loopback_read): Likewise. Also, change the type of POS to
17507 grub_off_t, and fix the usage of grub_memset.
17508
17509 * commands/i386/pc/play.c: Include grub/machine/time.h.
17510
17511 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
17512 print FILE->SIZE.
17513
17514 * commands/configfile.c: Include grub/env.h.
17515
17516 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
17517 GRUB_ERRNO directly instead. Change the type of POS to
17518 grub_off_t. Follow the coding standard.
17519
17520 * commands/blocklist.c: Include grub/partition.h.
17521 (grub_cmd_blocklist): Return an error if the underlying device is
17522 not a disk. Take the starting sector of a partition into account,
17523 if a partition is used.
17524
17525 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
17526 a length field.
17527 (lba_mode): Support 64-bit addresses.
17528 (chs_mode): Likewise.
17529 (copy_buffer): Adapted to the new offsets of a length field and a
17530 segment field.
17531 (blocklist_default_start): Allocate 64-bit space.
17532
17533 * boot/i386/pc/boot.S (force_lba): Removed.
17534 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 17535 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 17536 space.
17537 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
17538 is useless.
17539 (lba_mode): Refactored to support a 64-bit address. More size
17540 optimization.
17541 (setup_sectors): Likewise.
17542
53af98ad 175432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17544
17545 * DISTLIST: Added include/grub/i386/linux.h. Removed
17546 include/grub/i386/pc/linux.h
17547
17548 * configure.ac (AC_INIT): Bumped to 1.94.
17549
17550 * config.guess: Updated from gnulib.
17551 * config.sub: Likewise.
17552 * install-sh: Likewise.
17553 * mkinstalldirs: Likewise.
17554
b4c1940a 175552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17556
17557 * conf/common.rmk (grub_modules_init.lst): Depended on
17558 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
17559 MODSRCFILES.
17560
17561 * genmk.rb (PModule::rule): Reverted the previous change.
17562
cfca1cfd 175632006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17564
17565 * conf/common.rmk (grub_modules_init.lst): Depends on
17566 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
17567 that the target does not exist before producing.
17568 (grub_modules_init.h): Remove the target before generating.
17569 (grub_emu_init.c): Likewise.
17570
17571 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
17572
aa6d7826 175732006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
17574
17575 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
17576 for the target-specific tests. Make sure that we also have the
17577 up-to-date target variables for those tests.
17578
26c607b9 175792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17580
17581 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
17582 (PModule::rule): Likewise.
17583
0162321a 175842006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17585
17586 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
17587 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
17588 target-specific flags should be prefixed.
17589 (PModule::rule): Likewise.
17590
6c826348 175912006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
17592
17593 * configure.ac (CMP): Check if cmp is available explicitly.
17594
b977bf01 175952006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
17596
17597 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
17598 (target_cpu): New variable.
17599 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 17600
b977bf01 17601 * util/i386/pc/grub-install.in (host_cpu): Removed.
17602 (target_cpu): New variable.
17603 (pkglibdir): Use target_cpu instead of host_cpu.
17604
17605 * util/genmoddep.c: Removed.
f19dbdb7 17606
b977bf01 17607 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
17608 instead of GRUB_HOST_SIZEOF_VOID_P.
17609 * kern/dl.c: Likewise.
17610
17611 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
17612 ...
17613 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17614 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17615 (GRUB_TARGET_SIZEOF_LONG): ... this.
17616 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17617 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17618 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17619 to ...
17620 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17621 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17622 (GRUB_TARGET_SIZEOF_LONG): ... this.
17623 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17624 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17625 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17626 to ...
17627 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17628 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17629 (GRUB_TARGET_SIZEOF_LONG): ... this.
17630 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17631 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17632
17633 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
17634 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
17635 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
17636 instead of GRUB_HOST_SIZEOF_LONG.
17637 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
17638 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
17639 GRUB_CPU_WORDS_BIGENDIAN.
17640 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
17641 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
17642 grub_host_ssize_t.
17643
17644 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
17645 (genmoddep_SOURCES): Likewise.
17646 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
17647 (genmoddep_SOURCES): Likewise.
17648 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
17649 (genmoddep_SOURCES): Likewise.
17650 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
17651 Likewise.
17652 (genmoddep_SOURCES): Likewise.
17653
17654 * genmoddep.awk: New file.
17655
17656 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
17657 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
17658 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
17659 (PModule::rule): Likewise.
17660 (Program::rule): Likewise.
17661 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
17662 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
17663 respectively.
17664
17665 * configure.ac: Rewritten intensively to use host and target
17666 instead of build and host, respectively.
17667
17668 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
17669 (host_cpu): Removed.
17670 (target_cpu): New variable.
17671 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
17672 (BUILD_CC): Removed.
17673 (BUILD_CFLAGS): Likewise.
17674 (BUILD_CPPFLAGS): Likewise.
17675 (TARGET_CC): New variable.
17676 (TARGET_CFLAGS): Likewise.
17677 (TARGET_CPPFLAGS): Likewise.
17678 (TARGET_LDFLAGS): Likewise.
17679 (AWK): Likewise.
17680 (include): Use target_cpu instead of host_cpu.
17681 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 17682
b977bf01 17683 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
17684
f09771a1 176852006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
17686
17687 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
17688 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
17689 field 'false' to 'exec_on_false'.
17690 (grub_script_create_cmdif): Renamed argument names to reflect above
17691 changes.
17692
17693 * normal/execute.c (grub_script_execute_cmdif): Likewise.
17694
17695 * normal/script.c (grub_script_create_cmdif): Likewise.
17696
118f4fb3 176972006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
17698
17699 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
17700 top.
17701 (grub_hfsplus_btree_recptr): Likewise.
17702 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
17703 FILEBLOCK both to pass a block number and store next block
17704 number.
17705 (grub_hfsplus_read_block): Rewritten heavily to support an extent
17706 overflow file correctly. Specify errors appropriately, because
17707 fshelp expects that GRUB_ERRNO is set when fails. Reuse
17708 grub_hfsplus_btree_recptr to get the pointer to a found key.
17709 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
17710 is found.
17711
17712 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
17713 linux.mod.
17714 (_linux_mod_SOURCES): New variable.
17715 (_linux_mod_CFLAGS): Likewise.
17716 (_linux_mod_LDFLAGS): Likewise.
17717 (linux_mod_SOURCES): Likewise.
17718 (linux_mod_CFLAGS): Likewise.
17719 (linux_mod_LDFLAGS): Likewise.
17720
17721 * DISTLIST: Added loader/i386/efi/linux.c,
17722 loader/i386/efi/linux_normal.c and
17723 include/grub/i386/efi/loader.h.
17724
17725 * loader/i386/efi/linux.c: New file.
17726 * loader/i386/efi/linux_normal.c: Likewise.
17727 * include/grub/i386/efi/loader.h: Likewise.
17728
89a7d726 177292006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
17730
17731 * commands/blocklist.c: New file.
17732
17733 * DISTLIST: Added commands/blocklist.c.
17734
17735 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 17736 color for the background, and a darker color for the foreground.
89a7d726 17737 (grub_console_checkkey): Return READ_KEY.
17738 (grub_console_cls): Set the background to
17739 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
17740
17741 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
17742
17743 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
17744 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
17745
17746 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
17747 prototype.
17748
17749 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
17750 BG. The spec is wrong again.
17751
17752 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
17753 prototype.
17754 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
17755
17756 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
17757 commands/blocklist.c.
17758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 17759
89a7d726 17760 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
17761 (blocklist_mod_SOURCES): New variable.
17762 (blocklist_mod_CFLAGS): Likewise.
17763 (blocklist_mod_LDFLAGS): Likewise.
17764
75c8f258 177652006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
17766
17767 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
17768 duplication.
17769 (lba_mode): Use %eax more intensively to reduce the code size.
17770
da2eb181 177712006-05-20 Marco Gerards <marco@gnu.org>
17772
17773 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
17774
17775 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
17776 for `menuentry'.
17777 (script): Accept leading newlines.
17778 (newlines): New rule to describe 0 or more newlines.
17779 (commands): Accept `command' with trailing newline. Fixed the
17780 order in which arguments were passed to `grub_script_add_cmd'.
17781 Accept commands separated by newlines.
17782 (function): Changed to accept newlines.
17783 (menuentry) Rewritten.
17784
17785 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
17786 front of the list, instead of to the end.
17787
577b4050 177882006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
17789
17790 * util/i386/pc/grub-install.in (bindir): New variable.
17791 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
17792 Shaver <lbgwjl@gmail.com>.
17793
0d6e1189 177942006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
17795
17796 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
17797 grub/machine/linux.h
17798 * loader/i386/pc/linux.c: Likewise.
17799
17800 * include/grub/i386/pc/linux.h: Moved to ...
17801 * include/grub/i386/linux.h: ... here.
17802
17803 * include/grub/i386/linux.h (struct linux_kernel_params): New
17804 struct.
f19dbdb7 17805
31b86e9f 178062006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
17807
17808 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
17809 checking.
17810 (grub_video_vbe_blit_glyph): Likewise.
17811 (grub_video_vbe_blit_bitmap): Likewise.
17812 (grub_video_vbe_blit_render_target): Likewise.
17813
83b984de 178142006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
17815
17816 * configure.ac (--with-platform): Properly quote the square
17817 brackets.
17818
5f0413bd 178192006-05-08 Marco Gerards <marco@gnu.org>
17820
17821 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
17822 this...
17823 (kernel_elf_HEADERS): ...to this. Updated all users.
17824 (grubof_symlist.c): Renamed from this...
17825 (kernel_elf_symlist.c): ...to this. Updated all users.
17826 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17827 (grubof_SOURCES): Renamed from this...
17828 (kernel_elf_SOURCES): ...to this.
17829 (grubof_HEADERS): Renamed from this...
17830 (kernel_elf_HEADERS): ...to this.
17831 (grubof_CFLAGS): Renamed from this...
17832 (kernel_elf_CFLAGS): ...to this.
17833 (grubof_ASFLAGS): Renamed from this...
17834 (kernel_elf_ASFLAGS): ...to this.
17835 (grubof_LDFLAGS): Renamed from this...
17836 (kernel_elf_LDFLAGS): ...to this.
17837
17838 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
17839 this...
17840 (kernel_elf_HEADERS): ...to this. Updated all users.
17841 (grubof_symlist.c): Renamed from this...
17842 (kernel_elf_symlist.c): ...to this. Updated all users.
17843 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17844 (grubof_SOURCES): Renamed from this...
17845 (kernel_elf_SOURCES): ...to this.
17846 (grubof_HEADERS): Renamed from this...
17847 (kernel_elf_HEADERS): ...to this.
17848 (grubof_CFLAGS): Renamed from this...
17849 (kernel_elf_CFLAGS): ...to this.
17850 (grubof_ASFLAGS): Renamed from this...
17851 (kernel_elf_ASFLAGS): ...to this.
17852 (grubof_LDFLAGS): Renamed from this...
17853 (kernel_elf_LDFLAGS): ...to this.
17854
17855 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
17856 `kernel.elf' instead of `grubof'.
17857
05568c2e 178582006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
17859
17860 Add --with-platform to configure. Use pkglibdir instead of
17861 pkgdatadir. This is reported by Roger Leigh.
17862
17863 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
17864 (host_vendor): Likewise.
17865 (host_os): Likewise.
17866 (pkgdatadir): Likewise.
17867 (platform): New variable.
17868 (pkglibdir): Likewise.
17869 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 17870
05568c2e 17871 * util/i386/pc/grub-install.in (datadir): Removed.
17872 (host_vendor): Likewise.
17873 (host_os): Likewise.
17874 (pkgdatadir): Likewise.
17875 (platform): New variable.
17876 (pkglibdir): Likewise.
17877 Use PKGLIBDIR instead of PKGDATADIR.
17878
17879 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
17880 instead of GRUB_DATADIR.
17881 (main): Likewise.
17882 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17883 (main): Likewise.
17884 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17885 (main): Likewise.
17886
17887 * configure.ac (--with-platform): New option.
17888 Use PLATFORM instead of HOST_VENDOR to specify a platform.
17889
17890 * Makefile.in: Include a makefile based on PLATFORM instead of
17891 HOST_VENDOR.
17892 (pkgdatadir): Not appended by the machine type.
17893 (pkglibdir): Appended by the machine type.
17894 (host_vendor): Removed.
17895 (platform): New variable.
17896 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
17897 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
17898 (uninstall): Likewise.
17899
4e93851c 179002006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
17901
17902 Use the environment context in the menu. Remove the commands
17903 "default" and "timeout", and use variables instead.
f19dbdb7 17904
4e93851c 17905 * normal/menu.c: Include grub/env.h.
17906 (print_entry): Cast TITLE to silence gcc.
17907 (get_timeout): New function.
17908 (set_timeout): Likewise.
17909 (get_entry_number): Likewise.
17910 (run_menu): Use a default entry, a fallback entry and a timeout
17911 in the environment variables "default", "fallback" and
17912 "timeout". Also, tweak the default entry if it is not within the
17913 current menu entries.
17914 (grub_menu_run): Use a fallback entry in the environment variable
17915 "fallback".
17916
17917 * normal/main.c (read_config_file): Do not initialize
17918 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
17919 NEWMENU->TIMEOUT.
17920 (grub_normal_execute): Use a data slot to store the menu.
17921
17922 * include/grub/normal.h (struct grub_menu): Removed default_entry,
17923 fallback_entry and timeout.
17924 (struct grub_menu_list): Removed.
17925 (grub_menu_list_t): Likewise.
17926 (struct grub_context): Likewise.
17927 (grub_context_t): Likewise.
17928 (grub_context_get): Likewise.
17929 (grub_context_get_current_menu): Likewise.
17930 (grub_context_push_menu): Likewise.
17931 (grub_context_pop_menu): Likewise.
17932 (grub_default_init): Likewise.
17933 (grub_default_fini): Likewise.
17934 (grub_timeout_init): Likewise.
17935 (grub_timeout_fini): Likewise.
17936
17937 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17938 and timeout.mod.
17939 (normal_mod_SOURCES): Removed normal/context.c.
17940
17941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17942 commands/default.c, commands/timeout.c and normal/context.c.
17943 (normal_mod_SOURCES): Removed normal/context.c.
17944
17945 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17946 commands/timeout.c and normal/context.c.
17947 (normal_mod_SOURCES): Removed normal/context.c.
17948
17949 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17950 commands/default.c, commands/timeout.c and normal/context.c.
17951 (normal_mod_SOURCES): Removed normal/context.c.
17952
17953 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17954 timeout.mod.
17955 (default_mod_SOURCES): Removed.
17956 (default_mod_CFLAGS): Likewise.
17957 (default_mod_LDFLAGS): Likewise.
17958 (timeout_mod_SOURCES): Removed.
17959 (timeout_mod_CFLAGS): Likewise.
17960 (timeout_mod_LDFLAGS): Likewise.
17961
17962 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17963 normal/context.c.
17964
17965 * commands/default.c: Removed.
17966 * commands/timeout.c: Likewise.
17967 * normal/context.c: Likewise.
17968
1eb9cc1d 179692006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17970
17971 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17972
385bd9c1 179732006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17974
17975 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17976 "next" to "prev" for readability.
17977 (struct grub_env_sorted_var): New struct.
17978 (grub_env_context): Renamed to ...
17979 (initial_context): ... this.
17980 (grub_env_var_context): Renamed to ...
17981 (current_context): ... this.
17982 (grub_env_find): Look only at CURRENT_CONTEXT.
17983 (grub_env_context_open): Rewritten to copy exported variables from
17984 previous context.
17985 (grub_env_context_close): Rewritten according to the new
17986 scheme. Also, add an assertion to prevent the initial context from
17987 removed.
17988 (grub_env_insert): Removed the code for the sorted list.
17989 (grub_env_remove): Likewise.
17990 (grub_env_export): Simply mark the variable with
17991 GRUB_ENV_VAR_GLOBAL.
17992 (grub_env_set): A cosmetic change for naming consistency.
17993 (grub_env_get): Likewise.
17994 (grub_env_unset): Likewise.
17995 (grub_env_iterate): Rewritten to sort variables within this
17996 function.
17997 (grub_register_variable_hook): Fixed for naming consistency. Call
17998 grub_env_find again, only if NAME is not found at the first time.
17999 (mangle_data_slot_name): New function.
18000 (grub_env_set_data_slot): Likewise.
18001 (grub_env_get_data_slot): Likewise.
18002 (grub_env_unset_data_slot): Likewise.
18003
18004 * include/grub/env.h (grub_env_var_type): New enum.
18005 (GRUB_ENV_VAR_LOCAL): New constant.
18006 (GRUB_ENV_VAR_GLOBAL): Likewise.
18007 (GRUB_ENV_VAR_DATA): Likewise.
18008 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
18009 "type".
18010 (grub_env_set): Replace VAR with NAME for consistency.
18011 (grub_register_variable_hook): Likewise.
18012 (grub_env_export): Specify the name of the argument.
18013 (grub_env_set_data_slot): New prototype.
18014 (grub_env_get_data_slot): Likewise.
18015 (grub_env_unset_data_slot): Likewise.
18016
7f362539 180172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18018
18019 Extend the loader so that GRUB can accept a loader which comes
18020 back to GRUB when a loaded image exits. Also, this change adds
18021 support for a chainloader on EFI.
f19dbdb7 18022
7f362539 18023 * term/efi/console.c: Include grub/misc.h.
18024 (grub_console_checkkey): Display a scan code on the top for
18025 debugging. This will be removed once the EFI port gets stable.
18026 Correct the scan code mapping.
18027
18028 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18029 allocate memory from larger regions, in order to reduce the number
18030 of allocated regions. Otherwise, the MacOSX loader panics.
18031 (filter_memory_map): Avoid less than 1MB for compatibility with
18032 other loaders.
18033 (add_memory_regions): Allocate from the tail of a region, if
18034 possible, to avoid allocating a region near to 1MB, for the MacOSX
18035 loader.
18036
18037 * kern/efi/init.c (grub_efi_set_prefix): Specify
18038 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18039
18040 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18041 argument IMAGE_HANDLE and specify it to get a loaded image.
18042 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18043 grub_efi_get_loaded_image.
fe6b695a 18044 (grub_efi_get_filename): Divide the length by the size of
7f362539 18045 grub_efi_char16_t.
18046 (grub_efi_get_device_path): New function.
18047 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18048 the length by the size of grub_efi_char16_t for a file path device
18049 path node.
18050
18051 * kern/loader.c (grub_loader_noreturn): New variable.
18052 (grub_loader_set): Accept a new argument NORETURN. Set
18053 GRUB_LOADER_NORETURN to NORETURN.
18054 All callers changed.
18055 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18056 grub_machine_fini.
18057
18058 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18059 prototype.
18060 (grub_efi_get_loaded_image): Take an argument to specify an image
18061 handle.
18062
18063 * include/grub/loader.h (grub_loader_set): Added one more argument
18064 NORETURN.
18065
18066 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18067 instead of grub_efi_open_protocol.
18068 (grub_efidisk_get_device_name): Likewise.
18069 (grub_efidisk_close): Print a newline.
18070 (grub_efidisk_get_device_handle): Fixed to use
18071 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18072 GRUB_EFI_DEVICE_PATH_TYPE.
18073
18074 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18075 * kern/efi/efi.c (device_path_guid): ... here.
18076
18077 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18078 chain.mod.
18079 (kernel_mod_HEADERS): Added efi/disk.h.
18080 (_chain_mod_SOURCES): New variable.
18081 (_chain_mod_CFLAGS): Likewise.
18082 (_chain_mod_LDFLAGS): Likewise.
18083 (chain_mod_SOURCES): Likewise.
18084 (chain_mod_CFLAGS): Likewise.
18085 (chain_mod_LDFLAGS): Likewise.
18086
18087 * DISTLIST: Added include/grub/efi/chainloader.h,
18088 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18089
18090 * include/grub/efi/chainloader.h: New file.
18091 * loader/efi/chainloader.c: Likewise.
18092 * loader/efi/chainloader_normal.c: Likewise.
18093
c0111d6e 180942006-04-30 Marco Gerards <marco@gnu.org>
18095
18096 * commands/configfile.c (grub_cmd_source): New function.
18097 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18098 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18099
df5341da 181002006-04-30 Marco Gerards <marco@gnu.org>
18101
18102 * normal/execute.c (grub_script_execute_cmd): Change the return
18103 type to `grub_err_t'. Correctly return the error.
18104 (grub_script_execute_cmdline): In case a command line is not a
18105 command or a function, try to interpret it as an assignment.
18106
f85934bd 181072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18108
18109 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
18110 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
18111 skip a node whose name is obviously invalid as UTF-16,
18112 i.e. contains a NUL character. Stop the iteration when the last
18113 directory entry is found. Instead of using the return value of
18114 grub_hfsplus_btree_iterate_node, store the value in RET and use
18115 it, because the iterator can be stopped by the last directory
18116 entry.
18117
8f8a2cf8 181182006-04-30 Marco Gerards <marco@gnu.org>
18119
18120 * include/grub/env.h (grub_env_export): New prototype. Reported
18121 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
18122
a27e84ce 181232006-04-30 Marco Gerards <marco@gnu.org>
18124
18125 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
18126 size of the extents in a catalog file record.
18127
eaef0553 181282006-04-29 Marco Gerards <marco@gnu.org>
18129
18130 * commands/configfile.c (grub_cmd_configfile): Execute the
18131 configfile within its own context.
18132
18133 * include/grub/env.h (grub_env_context_open): New prototype.
18134 (grub_env_context_close): Likewise.
18135
18136 * kern/env.c (grub_env): Removed.
18137 (grub_env_sorted): Likewise.
18138 (grub_env_context): New variable.
18139 (grub_env_var_context): Likewise.
18140 (grub_env_find): Search both the active context and the global
18141 context.
18142 (grub_env_context_open): New function.
18143 (grub_env_context_close): Likewise.
18144 (grub_env_insert): Likewise.
18145 (grub_env_remove): Likewise.
18146 (grub_env_export): Likewise.
18147 (grub_env_set): Changed to use helper functions to avoid code
18148 duplication.
18149 (grub_env_iterate): Rewritten so both the current context and the
18150 global context are being used.
18151
18152 * normal/command.c (export_command): New function.
18153 (grub_command_init): Register the `export' function.
18154
7b455f4d 181552006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
18156
18157 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
18158 explicitly to suppress gcc's warnings.
18159 * fs/fat.c (grub_fat_find_dir): Likewise.
18160 (grub_fat_label): Likewise.
18161 * fs/xfs.c (grub_xfs_read_inode): Likewise.
18162 (grub_xfs_mount): Likewise.
18163 (grub_xfs_label): Likewise.
18164 * fs/affs.c (grub_affs_mount): Likewise.
18165 (grub_affs_label): Likewise.
18166 (grub_affs_iterate_dir): Likewise.
18167 * fs/sfs.c (grub_sfs_mount): Likewise.
18168 (grub_sfs_iterate_dir): Likewise.
18169 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
18170 * fs/hfs.c (grub_hfs_mount): Likewise.
18171 (grub_hfs_cmp_catkeys): Likewise.
18172 (grub_hfs_find_dir): Likewise.
18173 (grub_hfs_dir): Likewise.
18174 (grub_hfs_label): Likewise.
18175 * fs/jfs.c (grub_jfs_mount): Likewise.
18176 (grub_jfs_opendir): Likewise.
18177 (grub_jfs_getent): Likewise.
18178 (grub_jfs_lookup_symlink): Likewise.
18179 (grub_jfs_label): Likewise.
18180 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
18181 (grub_hfsplus_iterate_dir): Likewise.
18182 (grub_hfsplus_btree_iterate_node): Made static.
18183
18184 * util/grub-emu.c (prefix): New variable.
18185 (grub_machine_set_prefix): New function.
18186 (main): Do not set the environment variable "prefix" here. Only
18187 set PREFIX, which is used later by grub_machine_set_prefix.
18188
18189 * include/grub/video.h: Do not include grub/symbol.h.
18190 (grub_video_register): Not exported. This symbol is not defined in
18191 the kernel.
18192 (grub_video_unregister): Likewise.
18193 (grub_video_iterate): Likewise.
18194 (grub_video_setup): Likewise.
18195 (grub_video_restore): Likewise.
18196 (grub_video_get_info): Likewise.
18197 (grub_video_get_blit_format): Likewise.
18198 (grub_video_set_palette): Likewise.
18199 (grub_video_get_palette): Likewise.
18200 (grub_video_set_viewport): Likewise.
18201 (grub_video_get_viewport): Likewise.
18202 (grub_video_map_color): Likewise.
18203 (grub_video_map_rgb): Likewise.
18204 (grub_video_map_rgba): Likewise.
18205 (grub_video_fill_rect): Likewise.
18206 (grub_video_blit_glyph): Likewise.
18207 (grub_video_blit_bitmap): Likewise.
18208 (grub_video_blit_render_target): Likewise.
18209 (grub_video_scroll): Likewise.
18210 (grub_video_swap_buffers): Likewise.
18211 (grub_video_create_render_target): Likewise.
18212 (grub_video_delete_render_target): Likewise.
18213 (grub_video_set_active_render_target): Likewise.
18214
18215 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
18216 Undefined.
18217 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
18218
18219 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
18220 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18221 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18222 instead of $(srcdir)/genkernsyms.sh.
18223
18224 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
18225 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18226 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18227 instead of $(srcdir)/genkernsyms.sh.
18228
18229 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
18230 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18232 instead of $(srcdir)/genkernsyms.sh.
18233
18234 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
18235 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18236 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18237 instead of $(srcdir)/genkernsyms.sh.
18238
18239 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
18240 genkernsyms.sh.
18241
18242 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
18243 genkernsyms.sh.
18244 (gensymlist.sh): New target.
18245 (genkernsyms.sh): Likewise.
18246
18247 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
18248 genkernsyms.sh.in and gensymlist.sh.in.
18249
18250 * genkernsyms.sh: Removed.
18251 * gensymlist.sh: Likewise.
f19dbdb7 18252
7b455f4d 18253 * genkernsyms.sh.in: New file.
18254 * gensymlist.sh.in: Likewise.
18255
1885bb27 182562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18257
18258 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
18259 clobber "prefix", since we may have already set it manually.
18260
71538dff 182612006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18262
18263 * kern/misc.c (abort): New alias for grub_abort.
18264
2965c7cc 182652006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
18266
18267 A new machine-specific function "grub_machine_set_prefix" is
18268 defined. This is called after loading modules, so that a prefix
18269 initialization can use modules. Also, this change adds an
18270 intensive debugging feature for the memory manager via the
18271 configure option "--enable-mm-debug".
f19dbdb7 18272
2965c7cc 18273 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
18274 PART.LEN.
18275
18276 * kern/sparc64/ieee1275/init.c (abort): Removed.
18277 (grub_stop): Likewise.
18278 (grub_exit): New function.
18279 (grub_set_prefix): Renamed to ...
18280 (grub_machine_set_prefix): ... this.
18281 (grub_machine_init): Do not call grub_set_prefix.
18282
18283 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
18284 (grub_machine_set_prefix): ... this.
18285 (grub_machine_init): Do not call grub_set_prefix.
18286
18287 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
18288 (grub_machine_init): Do not set the prefix here.
18289
18290 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
18291
18292 * kern/efi/init.c: Include grub/mm.h.
18293 (grub_efi_set_prefix): New function.
18294
18295 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
18296 (grub_efi_get_filename): New function.
18297 (grub_print_device_path): Renamed to ...
18298 (grub_efi_print_device_path): ... this.
18299
18300 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
18301 [MM_DEBUG] (grub_realloc): Likewise.
18302 [MM_DEBUG] (grub_free): Likewise.
18303 [MM_DEBUG] (grub_memalign): Likewise.
18304 [MM_DEBUG] (grub_mm_debug): New variable.
18305 [MM_DEBUG] (grub_debug_malloc): New function.
18306 [MM_DEBUG] (grub_debug_free): New function.
18307 [MM_DEBUG] (grub_debug_realloc): New function.
18308 [MM_DEBUG] (grub_debug_memalign): New function.
18309
18310 * kern/misc.c (grub_abort): Print a newline to distinguish
18311 the message.
18312
18313 * kern/main.c (grub_main): Call grub_machine_set_prefix and
18314 grub_set_root_dev after loading modules. This is necessary when
18315 setting a prefix depends on modules.
18316
18317 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
18318 (grub_efi_print_device_path): ... this.
18319 (grub_efi_get_filename): New prototype.
18320 (grub_efi_set_prefix): Likewise.
18321
18322 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
18323 and grub/disk.h.
18324 (grub_efidisk_get_device_handle): New prototype.
18325 (grub_efidisk_get_device_name): Likewise.
18326
18327 * include/grub/mm.h: Include config.h.
18328 (MM_DEBUG): Removed.
18329 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
18330 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
18331 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
18332 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
18333 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
18334 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
18335 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
18336 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
18337 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
18338
18339 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
18340
18341 * disk/efi/efidisk.c: Include grub/partition.h.
18342 (iterate_child_devices): New function.
18343 (add_device): First, compare only last device path nodes, so that
18344 devices are sorted by the types.
18345 (grub_efidisk_get_device_handle): New function.
18346 (grub_efidisk_get_device_name): Likewise.
18347
18348 * configure.ac (--enable-mm-debug): New option to enable the
18349 memory manager debugging feature. This makes the binary much
18350 bigger, so is disabled by default.
18351
9cacaa17 183522006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
18353
18354 Use grub_abort instead of grub_stop, and grub_exit must be
18355 define in each architecture now. Also, this change adds support
18356 for EFI disks.
f19dbdb7 18357
9cacaa17 18358 * util/i386/pc/grub-probefs.c: Include grub/term.h.
18359 (grub_getkey): New function.
18360 (grub_term_get_current): Likewise.
18361
18362 * util/i386/pc/grub-setup.c: Include grub/term.h.
18363 (grub_getkey): New function.
18364 (grub_term_get_current): Likewise.
18365
18366 * util/misc.c (grub_stop): Renamed to ...
18367 (grub_exit): ... this.
18368
18369 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
18370 (grub_exit): ... this.
18371 (grub_machine_init): Use grub_abort instead of abort.
18372 (grub_stop): Removed.
18373
18374 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
18375 abort.
18376
18377 * kern/i386/pc/startup.S (grub_exit): New function.
18378 (cold_reboot): New label.
18379
18380 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
18381 (grub_efi_init): Call grub_efidisk_init.
18382 (grub_efi_fini): Call grub_efidisk_fini.
18383
18384 * kern/efi/efi.c: Include grub/mm.h.
18385 (grub_efi_console_control_guid): Renamed to ...
18386 (console_control_guid): ... this.
18387 (grub_efi_loaded_image_guid): Renamed to ...
18388 (loaded_image_guid): ... this.
18389 (grub_efi_locate_handle): New function.
18390 (grub_efi_open_protocol): Likewise.
18391 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
18392 GRUB_EFI_CONSOLE_CONTROL_GUID.
18393 (grub_efi_exit): Removed.
18394 (grub_stop): Likewise.
18395 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
18396 (grub_exit): New function.
18397 (grub_print_device_path): Likewise.
18398
18399 * kern/rescue.c (grub_rescue_cmd_exit): New function.
18400 (grub_enter_rescue_mode): Register "exit".
18401
18402 * kern/misc.c (grub_real_dprintf): A cosmetic change.
18403 (grub_abort): New function.
18404
18405 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
18406
18407 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
18408
18409 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
18410
18411 * include/grub/efi/efi.h (grub_efi_exit): Removed.
18412 (grub_print_device_path): New prototype.
18413 (grub_efi_locate_handle): Likewise.
18414 (grub_efi_open_protocol): Likewise.
18415
18416 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
18417 * disk/efi/efidisk.c: Likewise.
18418
18419 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
18420
18421 * include/grub/efi/console_control.h
18422 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
18423
18424 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
18425 last 8 bytes as an array.
18426 (GRUB_EFI_DISK_IO_GUID): New macro.
18427 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
18428 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
18429 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
18430 grub_uint8_t.
18431 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
18432 (struct grub_efi_device_path): Rename the member "sub_type" to
18433 "subtype".
18434 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
18435 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
18436 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
18437 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
18438 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
18439 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
18440 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
18441 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
18442 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
18443 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
18444 (struct grub_efi_pci_device_path): New structure.
18445 (grub_efi_pci_device_path_t): New type.
18446 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
18447 (struct grub_efi_pccard_device_path): New structure.
18448 (grub_efi_pccard_device_path_t): New type.
18449 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
18450 (struct grub_efi_memory_mapped_device_path): New structure.
18451 (grub_efi_memory_mapped_device_path_t): New type.
18452 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
18453 (struct grub_efi_vendor_device_path): New structure.
18454 (grub_efi_vendor_device_path_t): New type.
18455 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
18456 (struct grub_efi_controller_device_path): New structure.
18457 (grub_efi_controller_device_path_t): New type.
18458 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
18459 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
18460 (struct grub_efi_acpi_device_path): New structure.
18461 (grub_efi_acpi_device_path_t): New type.
18462 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
18463 (struct grub_efi_expanded_acpi_device_path): New structure.
18464 (grub_efi_expanded_acpi_device_path_t): New type.
18465 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
18466 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
18467 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
18468 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
18469 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
18470 (struct grub_efi_atapi_device_path): New structure.
18471 (grub_efi_atapi_device_path_t): New type.
18472 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
18473 (struct grub_efi_fibre_channel_device_path): New structure.
18474 (grub_efi_fibre_channel_device_path_t): New type.
18475 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
18476 (struct grub_efi_1394_device_path): New structure.
18477 (grub_efi_1394_device_path_t): New type.
18478 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
18479 (struct grub_efi_usb_device_path): New structure.
18480 (grub_efi_usb_device_path_t): New type.
18481 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
18482 (struct grub_efi_usb_class_device_path): New structure.
18483 (grub_efi_usb_class_device_path_t): New type.
18484 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
18485 (struct grub_efi_i2o_device_path): New structure.
18486 (grub_efi_i2o_device_path_t): New type.
18487 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
18488 (struct grub_efi_mac_address_device_path): New structure.
18489 (grub_efi_mac_address_device_path_t): New type.
18490 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
18491 (struct grub_efi_ipv4_device_path): New structure.
18492 (grub_efi_ipv4_device_path_t): New type.
18493 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
18494 (struct grub_efi_ipv6_device_path): New structure.
18495 (grub_efi_ipv6_device_path_t): New type.
18496 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
18497 (struct grub_efi_infiniband_device_path): New structure.
18498 (grub_efi_infiniband_device_path_t): New type.
18499 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
18500 (struct grub_efi_uart_device_path): New structure.
18501 (grub_efi_uart_device_path_t): New type.
18502 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
18503 (struct grub_efi_vendor_messaging_device_path): New structure.
18504 (grub_efi_vendor_messaging_device_path_t): New type.
18505 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
18506 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
18507 (struct grub_efi_hard_drive_device_path): New structure.
18508 (grub_efi_hard_drive_device_path_t): New type.
18509 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
18510 (struct grub_efi_cdrom_device_path): New structure.
18511 (grub_efi_cdrom_device_path_t): New type.
18512 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
18513 (struct grub_efi_vendor_media_device_path): New structure.
18514 (grub_efi_vendor_media_device_path_t): New type.
18515 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
18516 (struct grub_efi_file_path_device_path): New structure.
18517 (grub_efi_file_path_device_path_t): New type.
18518 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
18519 (struct grub_efi_protocol_device_path): New structure.
18520 (grub_efi_protocol_device_path_t): New type.
18521 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
18522 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
18523 (struct grub_efi_bios_device_path): New structure.
18524 (grub_efi_bios_device_path_t): New type.
18525 (struct grub_efi_disk_io): New structure.
18526 (grub_efi_disk_io_t): New type.
18527 (struct grub_efi_block_io_media): New structure.
18528 (grub_efi_block_io_media_t): New type.
18529 (struct grub_efi_block_io): New structure.
18530 (grub_efi_block_io_t): New type.
18531
18532 * include/grub/misc.h (grub_stop): Removed.
18533 (grub_exit): New prototype.
18534 (grub_abort): Likewise.
18535
18536 * include/grub/disk.h (enum grub_disk_dev_id): Added
18537 GRUB_DISK_DEVICE_EFIDISK_ID.
18538
18539 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
18540 disk/efi/efidisk.c.
18541 (kernel_syms.lst): Remove the target if an error occurs.
18542
49986a9f 185432006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
18544
18545 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
18546 as it was simply too buggy.
18547
970d3b8a 185482006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
18549
18550 * kern/misc.c (grub_lltoa): New function.
18551 (grub_vsprintf): Added support for the long long suffix,
18552 i.e. "ll".
18553
ff04ec24 185542006-04-20 Hollis Blanchard <hollis@penguinppc.org>
18555
18556 * Makefile.in (LDFLAGS): Add variable.
18557 (LD): Remove variable.
18558 * configure.ac: Add -m32 to LDFLAGS.
18559 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
18560 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
18561 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
18562 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
18563 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
18564 variables.
18565 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
18566 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
18567 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
18568
37e5e1a4 185692006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
18570
18571 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
18572 length for unknown glyph.
18573
c352d8dd 185742006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
18575
2eab1c0d 18576 Add support for pre-loaded modules into the EFI port.
f19dbdb7 18577
2eab1c0d 18578 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
18579 completely. Accept one more argument DIR. The caller has changed.
18580
18581 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
18582
18583 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
18584 (grub_efi_loaded_image_guid): New variable.
18585 (grub_efi_get_loaded_image): New function.
18586 (grub_arch_modules_addr): Likewise.
18587
18588 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
18589 prototype.
18590
18591 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
18592 (struct grub_efi_loaded_image): New structure.
18593 (grub_efi_loaded_image_t): New type.
18594
185952006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18596
c352d8dd 18597 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
18598 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
18599 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
18600
6d01d6b4 186012006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
18602
18603 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
18604
976a4ea0 186052006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
18606
18607 * DISTLIST: Added include/grub/efi/console.h,
18608 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
18609 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18610
18611 * include/grub/efi/console.h: New file.
18612 * include/grub/efi/time.h: Likewise.
18613 * include/grub/i386/efi/kernel.h: Likewise.
18614 * kern/efi/init.c: Likewise.
18615 * kern/efi/mm.c: Likewise.
18616 * term/efi/console.c: Likewise.
f19dbdb7 18617
976a4ea0 18618 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
18619 (grub_stop): Removed.
18620 (grub_get_rtc): Likewise.
18621 (grub_machine_init): Simply call grub_efi_init.
18622 (grub_machine_fini): Call grub_efi_fini.
18623
18624 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
18625 (grub_efi_output_string): Removed.
18626 (grub_efi_stall): New function.
18627 (grub_stop): Likewise.
18628 (grub_get_rtc): Likewise.
18629
18630 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
18631 (grub_efi_stall): New prototype.
18632 (grub_efi_allocate_pages): Likewise.
18633 (grub_efi_free_pages): Likewise.
18634 (grub_efi_get_memory_map): Likewise.
18635 (grub_efi_mm_init): Likewise.
18636 (grub_efi_mm_fini): Likewise.
18637 (grub_efi_init): Likewise.
18638 (grub_efi_fini): Likewise.
18639
18640 * include/grub/i386/efi/time.h: Do not include
18641 grub/symbol.h. Include grub/efi/time.h.
18642 (GRUB_TICKS_PER_SECOND): Removed.
18643 (grub_get_rtc): Likewise.
18644
18645 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
18646 Added padding. The EFI spec is buggy.
18647 (GRUB_EFI_BLACK): New macro.
18648 (GRUB_EFI_BLUE): Likewise.
18649 (GRUB_EFI_GREEN): Likewise.
18650 (GRUB_EFI_CYAN): Likewise.
18651 (GRUB_EFI_RED): Likewise.
18652 (GRUB_EFI_MAGENTA): Likewise.
18653 (GRUB_EFI_BROWN): Likewise.
18654 (GRUB_EFI_LIGHTGRAY): Likewise.
18655 (GRUB_EFI_BRIGHT): Likewise.
18656 (GRUB_EFI_DARKGRAY): Likewise.
18657 (GRUB_EFI_LIGHTBLUE): Likewise.
18658 (GRUB_EFI_LIGHTGREEN): Likewise.
18659 (GRUB_EFI_LIGHTCYAN): Likewise.
18660 (GRUB_EFI_LIGHTRED): Likewise.
18661 (GRUB_EFI_LIGHTMAGENTA): Likewise.
18662 (GRUB_EFI_YELLOW): Likewise.
18663 (GRUB_EFI_WHITE): Likewise.
18664 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
18665 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
18666 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
18667 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
18668 (GRUB_EFI_BACKGROUND_RED): Likewise.
18669 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
18670 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
18671 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
18672 (GRUB_EFI_TEXT_ATTR): Likewise.
18673
18674 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
18675 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18676 (kernel_mod_HEADERS): Added efi/time.h.
18677
83709125 186782006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
18679
18680 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
18681 include/grub/efi/api.h, include/grub/efi/console_control.h,
18682 include/grub/efi/efi.h, include/grub/efi/pe32.h,
18683 include/grub/i386/efi/time.h, kern/efi/efi.c,
18684 kern/i386/efi/init.c, kern/i386/efi/startup.S,
18685 and util/i386/efi/grub-mkimage.c.
18686
18687 * Makefile.in (RMKFILES): Added i386-efi.rmk.
18688
18689 * genmk.rb (PModule#rule): Do not export symbols if
18690 #{prefix}_EXPORTS is set to "no".
18691
18692 * conf/i386-efi.mk: New file.
18693 * conf/i386-efi.rmk: Likewise.
18694 * include/grub/efi/api.h: Likewise.
18695 * include/grub/efi/console_control.h: Likewise.
18696 * include/grub/efi/efi.h: Likewise.
18697 * include/grub/efi/pe32.h: Likewise.
18698 * include/grub/i386/efi/time.h: Likewise.
18699 * kern/efi/efi.c: Likewise.
18700 * kern/i386/efi/init.c: Likewise.
18701 * kern/i386/efi/startup.S: Likewise.
18702 * util/i386/efi/grub-mkimage.c: Likewise.
18703
187042006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 18705
18706 * include/grub/script.h: Include <grub/parser.h> and
18707 "grub_script.tab.h".
18708 (struct grub_lexer_param): New struct.
18709 (struct grub_parser_param): Likewise.
18710 (grub_script_create_arglist): Pass the state in an argument.
18711 (grub_script_add_arglist): Likewise.
18712 (grub_script_create_cmdline): Likewise.
18713 (grub_script_create_cmdblock): Likewise.
18714 (grub_script_create_cmdif): Likewise.
18715 (grub_script_create_cmdmenu): Likewise.
18716 (grub_script_add_cmd): Likewise.
18717 (grub_script_arg_add): Likewise.
18718 (grub_script_lexer_ref): Likewise.
18719 (grub_script_lexer_deref): Likewise.
18720 (grub_script_lexer_record_start): Likewise.
18721 (grub_script_lexer_record_stop): Likewise.
18722 (grub_script_mem_record): Likewise.
18723 (grub_script_mem_record_stop): Likewise.
18724 (grub_script_malloc): Likewise.
18725 (grub_script_yylex): Likewise.
18726 (grub_script_yyparse): Likewise.
18727 (grub_script_yyerror): Likewise.
18728 (grub_script_yylex): Likewise.
18729 (grub_script_lexer_init): Return the state.
18730
18731 * normal/lexer.c (grub_script_lexer_state): Removed variable.
18732 (grub_script_lexer_done): Likewise.
18733 (grub_script_lexer_getline): Likewise.
18734 (grub_script_lexer_refs): Likewise.
18735 (script): Likewise.
18736 (newscript): Likewise.
18737 (record): Likewise.
18738 (recording): Likewise.
18739 (recordpos): Likewise.
18740 (recordlen): Likewise.
18741 (grub_script_lexer_init): Return the state instead of setting
18742 global variables.
18743 (grub_script_lexer_ref): Use the newly added argument for state
18744 instead of globals.
18745 (grub_script_lexer_deref): Likewise.
18746 (grub_script_lexer_record_start): Likewise.
18747 (grub_script_lexer_record_stop): Likewise.
18748 (recordchar): Likewise.
18749 (nextchar): Likewise.
18750 (grub_script_yylex2): Likewise.
18751 (grub_script_yylex): Likewise.
18752 (grub_script_yyerror): Likewise.
18753
18754 * normal/parser.y (func_mem): Removed variable.
18755 (menu_entry): Likewise.
18756 (err): Likewise.
18757 (%lex-param): New parser option.
18758 (%parse-param): Likewise.
18759 (script): Always return the AST.
18760 (argument): Pass the state around.
18761 (arguments): Likewise.
18762 (grubcmd): Likewise.
18763 (commands): Likewise.
18764 (function): Likewise.
18765 (menuentry): Likewise.
18766 (if_statement): Likewise.
18767 (if): Likewise.
18768
18769 * normal/script.c (grub_script_memused): Removed variable.
18770 (grub_script_parsed): Likewise.
18771 (grub_script_malloc): Added a state argument. Use that instead of
18772 global variables.
18773 (grub_script_mem_record): Likewise.
18774 (grub_script_mem_record_stop): Likewise.
18775 (grub_script_arg_add): Likewise.
18776 (grub_script_add_arglist): Likewise.
18777 (grub_script_create_cmdline): Likewise.
18778 (grub_script_create_cmdif): Likewise.
18779 (grub_script_create_cmdmenu): Likewise.
18780 (grub_script_add_cmd): Likewise.
18781 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 18782
e2a8c904 187832006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 18784
18785 * normal/command.c (grub_command_init): Remove the title command.
18786
18787 * normal/lexer.c (grub_script_yylex): Renamed from this...
18788 (grub_script_yylex2): ... to this.
18789 (grub_script_yylex): New function. Temporary
18790 introduced to filter some tokens.
18791 (grub_script_yyerror): Print a newline.
18792
18793 * normal/main.c (read_config_file): Output information about the
18794 lines that contain errors. Wait for a key after all lines have
18795 been processed. Don't return an empty menu.
18796
18797 * normal/parser.y (func_mem): Don't initialize.
18798 (menu_entry): Likewise.
18799 (err): New variable.
18800 (script): Don't return anything when an error was encountered.
18801 (ws, returns): Removed rules.
18802 (argument): Disabled concatenated variable support.
18803 (arguments): Remove explicit separators.
18804 (grubcmd): Likewise.
18805 (function): Likewise.
18806 (menuentry): Likewise.
18807 (if): Likewise.
18808 (commands): Likewise. Add error handling.
18809
18810 * normal/script.c (grub_script_create_cmdline): If
18811 `grub_script_parsed' is 0, assume the parser encountered an error.
18812
c9a86192 188132006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
18814
18815 * configure.ac: Add support for EFI. Fix the typo
18816 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
18817
70f3b243 188182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18819
18820 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
18821 foreign multibyte characters should be shown correctly.
18822
65f201ad 188232006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18824
18825 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
18826 calculation.
18827 (read_config_file): Made it to close file before returning.
18828
b4b93674 188292006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
18830
18831 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
18832 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
18833 video/i386/pc/vbefill.c.
18834
18835 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
18836 video/i386/pc/vbefill.c.
18837
18838 * include/grub/video.h (grub_video_blit_format): New enum.
18839 (grub_video_mode_info): Added new member blit_format.
18840 (grub_video_get_blit_format): New function prototype.
18841
18842 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
18843 function prototype.
18844 (grub_video_vbe_map_rgb): Likewise.
18845 (grub_video_vbe_unmap_color): Likewise.
18846
18847 * include/grub/i386/pc/vbeblit.h: New file.
18848
18849 * include/grub/i386/pc/vbefill.h: New file.
18850
18851 * video/video.c (grub_video_get_blit_format): New function.
18852 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
18853 (grub_video_vbe_map_rgb): Likewise.
18854 (grub_video_vbe_unmap_color): Likewise.
18855
18856 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
18857 optimized fills.
18858 (grub_video_vbe_blit_render_target): Changed to use more optimized
18859 blits.
18860 (grub_video_vbe_setup): Added detection for optimized settings.
18861 (grub_video_vbe_create_render_target): Likewise.
18862
18863 * video/i386/pc/vbeblit.c: New file.
18864
18865 * video/i386/pc/vbefill.c: New file.
18866
c2379b9c 188672006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
18868
18869 * font/manager.c (grub_font_get_glyph): Removed font fixup from
18870 here...
18871
18872 * util/unifont2pff.rb: ... and moved it to here. Improved argument
18873 parsing to support both hex and dec ranges. If filename was missing
18874 show usage information.
18875
bd0d7896 188762006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
18877
18878 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
18879 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
18880
18881 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
18882 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
18883 (video_mod_SOURCES): Added.
18884 (video_mod_CFLAGS): Likewise.
18885 (video_mod_LDFLAGS): Likewise.
18886 (gfxterm_mod_SOURCES): Likewise.
18887 (gfxterm_mod_CFLAGS): Likewise.
18888 (gfxterm_mod_LDFLAGS): Likewise.
18889 (videotest_mod_SOURCES): Likewise.
18890 (videotest_mod_CFLAGS): Likewise.
18891 (videotest_mod_LDFLAGS): Likewise.
18892 (vesafb_mod_SOURCES): Removed.
18893 (vesafb_mod_CFLAGS): Likewise.
18894 (vesafb_mod_LDFLAGS): Likewise.
18895 (vga_mod_SOURCES): Likewise.
18896 (vga_mod_CFLAGS): Likewise.
18897 (vga_mod_LDFLAGS): Likewise.
18898
18899 * commands/videotest.c: New file.
18900
18901 * font/manager.c (fill_with_default_glyph): Modified to use
18902 grub_font_glyph.
18903 (grub_font_get_glyph): Likewise.
18904 (fontmanager): Renamed from this...
18905 (font_manager): ... to this.
18906
18907 * include/grub/font.h (grub_font_glyph): Added new structure.
18908 (grub_font_get_glyph): Modified to use grub_font_glyph.
18909
18910 * include/grub/misc.h (grub_abs): Added as inline function.
18911
18912 * include/grub/video.h: New file.
18913
18914 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
18915 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
18916 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
18917 (grub_vbe_get_controller_info): Renamed from this...
18918 (grub_vbe_bios_get_controller_info): ... to this.
18919 (grub_vbe_get_mode_info): Renamed from this...
18920 (grub_vbe_bios_get_mode_info): ... to this.
18921 (grub_vbe_set_mode): Renamed from this...
18922 (grub_vbe_bios_set_mode): ... to this.
18923 (grub_vbe_get_mode): Renamed from this...
18924 (grub_vbe_bios_get_mode): ... to this.
18925 (grub_vbe_set_memory_window): Renamed from this...
18926 (grub_vbe_bios_set_memory_window): ... to this.
18927 (grub_vbe_get_memory_window): Renamed from this...
18928 (grub_vbe_bios_get_memory_window): ... to this.
18929 (grub_vbe_set_scanline_length): Renamed from this...
18930 (grub_vbe_set_scanline_length): ... to this.
18931 (grub_vbe_get_scanline_length): Renamed from this...
18932 (grub_vbe_bios_get_scanline_length): ... to this.
18933 (grub_vbe_set_display_start): Renamed from this...
18934 (grub_vbe_bios_set_display_start): ... to this.
18935 (grub_vbe_get_display_start): Renamed from this...
18936 (grub_vbe_bios_get_display_start): ... to this.
18937 (grub_vbe_set_palette_data): Renamed from this...
18938 (grub_vbe_bios_set_palette_data): ... to this.
18939 (grub_vbe_set_pixel_rgb): Removed.
18940 (grub_vbe_set_pixel_index): Likewise.
18941
18942 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18943 from this...
18944 (grub_vbe_bios_get_controller_info): ... to this.
18945 (grub_vbe_get_mode_info): Renamed from this...
18946 (grub_vbe_bios_get_mode_info): ... to this.
18947 (grub_vbe_set_mode): Renamed from this...
18948 (grub_vbe_bios_set_mode): ... to this.
18949 (grub_vbe_get_mode): Renamed from this...
18950 (grub_vbe_bios_get_mode): ... to this.
18951 (grub_vbe_set_memory_window): Renamed from this...
18952 (grub_vbe_bios_set_memory_window): ... to this.
18953 (grub_vbe_get_memory_window): Renamed from this...
18954 (grub_vbe_bios_get_memory_window): ... to this.
18955 (grub_vbe_set_scanline_length): Renamed from this...
18956 (grub_vbe_set_scanline_length): ... to this.
18957 (grub_vbe_get_scanline_length): Renamed from this...
18958 (grub_vbe_bios_get_scanline_length): ... to this.
18959 (grub_vbe_set_display_start): Renamed from this...
18960 (grub_vbe_bios_set_display_start): ... to this.
18961 (grub_vbe_get_display_start): Renamed from this...
18962 (grub_vbe_bios_get_display_start): ... to this.
18963 (grub_vbe_set_palette_data): Renamed from this...
18964 (grub_vbe_bios_set_palette_data): ... to this.
18965 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18966 getting corrupted after calling it. Added more pushes and pops.
18967 (grub_vbe_bios_set_mode): Likewise.
18968 (grub_vbe_bios_get_mode): Likewise.
18969 (grub_vbe_bios_get_memory_window): Likewise.
18970 (grub_vbe_bios_set_scanline_length): Likewise.
18971 (grub_vbe_bios_get_scanline_length): Likewise.
18972 (grub_vbe_bios_get_display_start): Likewise.
18973 (grub_vbe_bios_set_palette_data): Likewise.
18974
18975 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18976 (cl_insert): Likewise.
18977 (cl_delete): Likewise.
18978
18979 * term/gfxterm.c: New file.
18980
18981 * term/i386/pc/vesafb.c: Removed file.
18982
18983 * video/video.c: New file.
18984
18985 * video/i386/pc/vbe.c (real2pm): Added new function.
18986 (grub_video_vbe_draw_pixel): Likewise.
18987 (grub_video_vbe_get_video_ptr): Likewise.
18988 (grub_video_vbe_get_pixel): Likewise
18989 (grub_video_vbe_init): Likewise.
18990 (grub_video_vbe_fini): Likewise.
18991 (grub_video_vbe_setup): Likewise.
18992 (grub_video_vbe_get_info): Likewise.
18993 (grub_video_vbe_set_palette): Likewise.
18994 (grub_video_vbe_get_palette): Likewise.
18995 (grub_video_vbe_set_viewport): Likewise.
18996 (grub_video_vbe_get_viewport): Likewise.
18997 (grub_video_vbe_map_color): Likewise.
18998 (grub_video_vbe_map_rgb): Likewise.
18999 (grub_video_vbe_map_rgba): Likewise.
19000 (grub_video_vbe_unmap_color): Likewise.
19001 (grub_video_vbe_fill_rect): Likewise.
19002 (grub_video_vbe_blit_glyph): Likewise.
19003 (grub_video_vbe_blit_bitmap): Likewise.
19004 (grub_video_vbe_blit_render_target): Likewise.
19005 (grub_video_vbe_scroll): Likewise.
19006 (grub_video_vbe_swap_buffers): Likewise.
19007 (grub_video_vbe_create_render_target): Likewise.
19008 (grub_video_vbe_delete_render_target): Likewise.
19009 (grub_video_vbe_set_active_render_target): Likewise.
19010 (grub_vbe_set_pixel_rgb): Remove function.
19011 (grub_vbe_set_pixel_index): Likewise.
19012 (index_color_mode): Remove static variable.
19013 (active_mode): Likewise.
19014 (framebuffer): Likewise.
19015 (bytes_per_scan_line): Likewise.
19016 (grub_video_vbe_adapter): Added new static variable.
19017 (framebuffer): Likewise.
19018 (render_target): Likewise.
19019 (initial_mode): Likewise.
19020 (mode_in_use): Likewise.
19021 (mode_list): Likewise.
19022
5f97350b 190232006-03-10 Marco Gerards <marco@gnu.org>
19024
19025 * configure.ac (AC_INIT): Bumped to 1.93.
19026
19027 * DISTLIST: Added `include/grub/hfs.h'.
19028
a3c5c6f8 190292006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19030
19031 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19032 18H, which might help the BIOS falling back to next boot media.
19033
6de53d26 190342006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19035
19036 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19037 Poe Chen <poe.poechen@gmail.com>.
19038
77c4a393 190392006-01-17 Marco Gerards <marco@gnu.org>
19040
19041 * include/grub/normal.h: Include <grub/script.h>.
19042 (grub_command_list): Removed struct.
19043 (grub_command_list_t): Removed type.
19044 (grub_menu_entry): Remove members `num' and `command_list'. Add
19045 members `commands' and `sourcecode'.
19046 * include/grub/script.h: Add inclusion guards.
19047 (grub_script_cmd_menuentry): New struct.
19048 (grub_script_execute_menuentry): New prototype.
19049 (grub_script_lexer_record_start): Likewise.
19050 (grub_script_lexer_record_stop): Likewise.
19051 * normal/execute.c (grub_script_execute_menuentry): New function.
19052 * normal/lexer.c (record, recording, recordpos, recordlen): New
19053 variables.
19054 (grub_script_lexer_record_start): New function.
19055 (grub_script_lexer_record_stop): Likewise.
19056 (recordchar): Likewise.
19057 (nextchar): Likewise.
19058 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19059 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19060 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19061 (current_menu): New variable.
19062 (free_menu): Mainly rewritten.
19063 (grub_normal_menu_addentry): New function.
19064 (read_config_file): Rewritten.
19065 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19066 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19067 the menu entry.
19068 (run): Mainly rewritten.
19069 * normal/parser.y (menu_entry): New variable.
19070 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19071 (menuentry): New rule.
19072 (command): Add `menuentry'.
19073 (if_statement): Allow additional returns before `fi'.
19074 * normal/script.c (grub_script_create_cmdmenu): New function.
19075
144f1f98 190762006-01-03 Marco Gerards <marco@gnu.org>
19077
19078 * INSTALL: GNU Bison is required.
19079 * configure.ac: Rewritten the test to detect Bison.
19080 * Makefile.in (YACC): New variable. Reported by Xun Sun
19081 <xun.sun.cn@gmail.com>.
19082
af4b2d89 190832006-01-03 Marco Gerards <marco@gnu.org>
19084
19085 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19086 the HFS+ filesystem to filesystem blocks.
19087 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19088 GCC warning is silenced.
19089
15643b71 190902006-01-03 Marco Gerards <marco@gnu.org>
19091
19092 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19093 read from disk from big endian to host byte order.
19094
00905879 190952006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19096
19097 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19098 documentation.
19099 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19100 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19101 embedded HFS+ filesystem.
19102 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
19103 (grub_hfs_sblock): Move from here...
19104 * include/grub/hfs.h: To here... New file.
19105 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
19106 documentation.
19107 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
19108 New macros.
19109 (grub_hfsplus_volheader): Change type of member `magic' to
19110 `grub_uint16_t'.
19111 (grub_hfsplus_data): Add new member `embedded_offset'.
19112 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
19113 returned block.
19114 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
19115 Calculate the offset.
19116
8899bc3e 191172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19118
19119 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
19120 Removed.
19121 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
19122
ae8c0277 191232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19124
19125 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
19126 ENV->NAME is NULL after allocating ENV->VALUE.
19127
07084456 191282005-12-25 Marco Gerards <marco@gnu.org>
19129
19130 * kern/env.c (grub_env_set): Rewritten the error handling code.
19131
4750f5f1 191322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19133
19134 * geninit.sh: Made more robust, and more portable.
19135
50214199 191362005-12-25 Marco Gerards <marco@gnu.org>
19137
19138 Add support for Apple HFS+ filesystems.
f19dbdb7 19139
50214199 19140 * fs/hfsplus.c: New file.
19141
19142 * DISTLIST: Added `fs/hfsplus.c'.
19143
19144 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
19145 (hfsplus_mod_SOURCES): New variable.
19146 (hfsplus_mod_CFLAGS): Likewise.
19147 (hfsplus_mod_LDFLAGS): Likewise.
19148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
19149 (grub_setup_SOURCES): Likewise.
19150 (grub_mkdevicemap_SOURCES): Likewise.
19151 (grub_emu_SOURCES): Likewise.
19152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19153
19154 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
19155
19156 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
19157
befaed6c 191582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19159
19160 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
19161 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
19162 include/grub/parser.h, include/grub/script.h, kern/parser.c,
19163 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
19164 normal/lexer.c, normal/parser.y, normal/script.c, and
19165 partmap/gpt.c.
19166 Removed kern/sparc64/cache.c.
19167
19168 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
19169 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
19170 grub_emu_init.c.
19171
19172 * configure.ac (AC_INIT): Bumped to 1.92.
19173
6a124103 191742005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
19175
19176 * kern/err.c (grub_error_push): Added new function to support error
19177 stacks.
19178 (grub_error_pop): Likewise.
19179 (grub_error_stack_items): New local variable to support error stacks.
19180 (grub_error_stack_pos): Likewise.
19181 (grub_error_stack_assert): Likewise.
19182 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
19183 stack depth.
19184 (grub_print_error): Added support to print errors from error stack.
19185
19186 * include/grub/err.h (grub_error_push): Added function prototype.
19187 (grub_error_pop): Likewise.
19188
be973c1b 191892005-12-09 Hollis Blanchard <hollis@penguinppc.org>
19190
19191 * configure.ac: Accept `powerpc64' as host_cpu.
19192 (amd64): Rename to `biarch32'.
19193
19194 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
19195 non-cacheline-aligned addresses.
19196
19197 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
19198 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
19199 if `size' is non-zero.
19200
b04216ab 192012005-12-03 Marco Gerards <mgerards@xs4all.nl>
19202
19203 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
19204 and `cd' to make sure the filename is not prefixed with a
19205 directory name.
19206 (pkgdata_MODULES): Add `gpt.mod'.
19207 (gpt_mod_SOURCES): New variable.
19208 (gpt_mod_CFLAGS): Likewise.
19209 (gpt_mod_LDFLAGS): Likewise.
19210
19211 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
19212
19213 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
19214 New macro.
19215
19216 * partmap/gpt.c: New file.
19217
19218 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
19219 GPT partition map is detected.
19220
41730ed9 192212005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
19222
19223 * commands/i386/pc/play.c: New file.
19224 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
19225 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
19226 macros.
f19dbdb7 19227
95dc3643 192282005-11-27 Marco Gerards <mgerards@xs4all.nl>
19229
19230 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
19231 ((unused))' to silence gcc warning.
19232
1569ec51 192332005-11-26 Hollis Blanchard <hollis@penguinppc.org>
19234
19235 * configure.ac: Correct `AC_PROG_YACC' test.
19236
9abde152 192372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19238
19239 * util/powerpc/ieee1275/grub-install.in: Run the mount point
19240 check before installing files.
19241
44b83271 192422005-11-22 Mike Small <smallm@panix.com>
19243
19244 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
19245 number regex so multidigit numbers are recognized correctly.
19246
192472005-11-22 Mike Small <smallm@panix.com>
19248
19249 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
19250 debugging message before attempting to claim memory.
19251 (grub_rescue_cmd_initrd): Add a claim debugging message and try
19252 multiple addresses in case of failure.
19253
9c12956b 192542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19255
19256 * term/tparm.c (get_space): Remove empty `if' statement.
19257
19258 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
19259
19260 * kern/parser.c (check_varstate): Rename `state' to 's'.
19261
aeaf81d9 192622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19263
19264 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
19265 variable definitions to the beginning of each function. Sort stack
19266 variables by size.
19267 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
19268 `buf' argument to `char *'.
19269
79bbb63f 192702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19271
19272 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
19273 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19274 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 19275 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19276 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19277 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19278 configfile.mod, search.mod, gzio.mod and test.mod.
19279 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19280 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19281 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19282 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19283 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19284 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19285 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19286 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19287 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19288 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19289 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19290 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19291 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19292 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19293 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19294 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19295 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19296 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19297 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19298 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19299 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19300 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19301 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
19302
19303 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
19304 `grep --include'.
19305 (pkgdata_MODULES): Add test.mod.
19306
233b1628 193072005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19308
19309 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
19310 appending to variables with "+=".
19311 (PModule): Use full pathname to generate *.lst filenames.
19312
19313 * Makefile.in: Fixed list rules moved from genmk.rb.
19314 (.DELETE_ON_ERROR): New special target.
19315 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
19316
19317 * conf/i386-pc.rmk: Include conf/common.mk.
19318 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19319 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 19320 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19321 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19322 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19323 configfile.mod, search.mod, gzio.mod and test.mod.
19324 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19325 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19326 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19327 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19328 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19329 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19330 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19331 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19332 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19333 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19334 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19335 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19336 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19337 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19338 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19339 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19340 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19341 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19342 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19343 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19344 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19345 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19346 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
19347 here...
19348 * conf/common.rmk: ... to here. New file.
19349
19350 * conf/common.mk: New file.
19351
16f820c8 193522005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
19353
19354 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
19355 (grub_script.tab.c): ... here.
19356
19357 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
19358 (grub_script.tab.c): ... here.
19359
19360 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
19361 (grub_script.tab.c): ... here.
19362
19363 * normal/command.c (grub_command_find): Fixed a memory leak of
19364 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
19365
63ba1554 193662005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19367
19368 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
19369 "@" which marks the start of a comment on ARM.
19370 (VARIABLE): Likewise.
19371
7f67dc13 193722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19373
79bbb63f 19374 Add support for Linux/ADFS partition tables.
7f67dc13 19375
19376 * partmap/acorn.c: New file.
19377
19378 * include/grub/acorn_filecore.h: Likewise.
19379
19380 * DISTLIST: Added `partmap/acorn.c' and
19381 `include/grub/acorn_filecore.h'.
f19dbdb7 19382
7f67dc13 19383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19384 `partmap/acorn.c'.
19385 (pkgdata_MODULES): Add `acorn.mod'.
19386 (acorn_mod_SOURCES): New variable.
19387 (acorn_mod_CFLAGS): Likewise.
19388
19389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19390 `partmap/acorn.c'.
19391 (pkgdata_MODULES): Add `acorn.mod'.
19392 (acorn_mod_SOURCES): New variable.
19393 (acorn_mod_CFLAGS): Likewise.
19394
19395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
19396 (pkgdata_MODULES): Add `acorn.mod'.
19397 (acorn_mod_SOURCES): New variable.
19398 (acorn_mod_CFLAGS): Likewise.
19399 (acorn_mod_LDFLAGS): Likewise.
19400
19401 * include/types.h (grub_disk_addr_t): New typedef.
19402
6d099807 194032005-11-13 Marco Gerards <mgerards@xs4all.nl>
19404
19405 * geninit.sh: New file.
19406
19407 * geninitheader.sh: Likewise.
19408
19409 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
19410 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
19411 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
19412 * commands/configfile.c (grub_configfile_init)
19413 (grub_configfile_fini): Likewise.
19414 * commands/default.c (grub_default_init, grub_default_fini):
19415 Likewise.
19416 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
19417 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
19418 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
19419 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
19420 Likewise.
19421 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
19422 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
19423 Likewise.
19424 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 19425 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 19426 Likewise.
19427 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
19428 Likewise.
fe6b695a 19429 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 19430 Likewise.
19431 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
19432 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
19433 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
19434 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
19435 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
19436 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
19437 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
19438 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
19439 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
19440 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
19441 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
19442 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
19443 * partmap/amiga.c (grub_amiga_partition_map_init)
19444 (grub_amiga_partition_map_fini): Likewise.
19445 * partmap/apple.c (grub_apple_partition_map_init)
19446 (grub_apple_partition_map_fini): Likewise.
19447 * partmap/pc.c (grub_pc_partition_map_init)
19448 (grub_pc_partition_map_fini): Likewise.
19449 * partmap/sun.c (grub_sun_partition_map_init,
19450 grub_sun_partition_map_fini): Likewise.
19451 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
19452 Likewise.
19453
19454 * util/grub-emu.c: Include <grub_modules_init.h>.
19455 (main): Don't initialize and de-initialize any modules directly,
19456 use `grub_init_all' and `grub_fini_all' instead.
19457
19458 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
19459 `grub_vesafb_mod_init'.
19460 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
19461 all users.
19462 * term/i386/pc/vga.c (grub_vga_init): Renamed to
19463 `grub_vga_mod_init'. Updated all users.
19464 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 19465
6d099807 19466 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
19467 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
19468 rules.
19469
19470 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
19471 Generate a function to initialize the module in utilities.
19472 Updated all callers.
19473 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
19474 initialize the module in utilities. Updated all callers.
19475
9046bcf0 194762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19477
19478 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
19479 escape sequence and a literal ^L to clear the screen.
19480
19481 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
19482 when returning from Open Firmware.
19483
d13ea639 194842005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19485
19486 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
19487 (grub_ofconsole_height): Likewise.
19488 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
19489 manually insert a '\n'.
19490 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
19491 `grub_ofconsole_height'. Return early if these are already set.
19492
a8fcf206 194932005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
19494
19495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19496 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
19497 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
19498 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
19499 and `normal/script.c'.
19500 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19501 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19502 (test_mod_SOURCES): New variable.
19503 (test_mod_CFLAGS): Likewise.
19504 (test_mod_LDFLAGS): Likewise.
19505 (pkgdata_MODULES): Add `test.mod'.
19506 (grub_script.tab.c): New rule.
19507 (grub_script.tab.h): Likewise.
19508
b6b32745 195092005-11-07 Marco Gerards <mgerards@xs4all.nl>
19510
19511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19512 `commands/test.c', `normal/execute.c', `normal/lexer.c',
19513 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19514 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19515 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19516 (test_mod_SOURCES): New variable.
19517 (test_mod_CFLAGS): Likewise.
19518 (pkgdata_MODULES): Add `test.mod'.
19519 (grub_script.tab.c): New rule.
19520 (grub_script.tab.h): Likewise.
19521
daac212a 195222005-11-06 Marco Gerards <mgerards@xs4all.nl>
19523
19524 Add initial scripting support.
19525
19526 * commands/test.c: New file.
19527 * include/grub/script.h: Likewise.
19528 * normal/execute.c: Likewise.
19529 * normal/function.c: Likewise.
19530 * normal/lexer.c: Likewise.
19531 * normal/parser.y: Likewise.
19532 * normal/script.c: Likewise.
19533
19534 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 19535
daac212a 19536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
19537 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
19538 `normal/function.c' and `normal/script.c'.
19539 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19540 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 19541 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
19542 variables.
daac212a 19543 (pkgdata_MODULES): Add `test.mod'.
19544 (grub_script.tab.c): New rule.
19545 (grub_script.tab.h): Likewise.
19546
19547 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
19548
19549 * include/grub/normal.h (grub_test_init): New prototype.
19550 (grub_test_fini): Likewise.
f19dbdb7 19551
daac212a 19552 * normal/command.c: Include <grub/script.h>.
19553 (grub_command_execute): Rewritten.
f19dbdb7 19554
daac212a 19555 * util/grub-emu.c (main): Call `grub_test_init' and
19556 `grub_test_fini'.
19557
77500b2b 195582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19559
19560 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
19561 to 0.
19562 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
19563 there are no pending characters.
19564
e45deb9e 195652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19566
19567 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
19568 `grub_strndup' to drop device arguments. Replace unnecessary
19569 `grub_strndup' with `grub_strdup'.
19570
4ce32619 195712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19572
19573 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
19574 `debug' environment variable has been set.
19575
195762005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19577
4ce32619 19578 * Makefile.in (install-local): Use $(DATA).
19579 (uninstall): Likewise.
19580 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
19581 (sbin_UTILITIES): ... to here.
19582 (sbin_SCRIPTS): New variable.
19583 (grub_install_SOURCES): New variable.
19584 * util/powerpc/ieee1275/grub-install.in: New file.
19585 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
19586 variable.
19587 (add_segments): Call `grub_util_get_path'.
19588
25fe6f03 195892005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19590
19591 From Timothy Baldwin:
19592 * commands/ls.c (grub_ls_list_files): Close FILE with
19593 grub_file_close.
19594 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
19595
04ccf3ec 195962005-10-24 Marco Gerards <mgerards@xs4all.nl>
19597
19598 * include/grub/parser.h: New file.
19599
19600 * kern/parser.c: Likewise.
19601
19602 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
19603 (grub_setup_SOURCES): Likewise.
19604 (grub_probefs_SOURCES): Likewise.
19605 (grub_emu_SOURCES): Likewise.
19606 (kernel_img_HEADERS): Add `parser.h'.
19607
19608 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19609 (grub_emu_SOURCES): Add `kern/parser.c'.
19610 (grubof_SOURCES): Likewise.
19611
19612 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19613 (grubof_SOURCES): Add `kern/parser.c'.
19614
19615 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
19616
19617 * kern/misc.c (grub_split_cmdline): Removed function.
19618
19619 * kern/rescue.c: Include <grub/parser.h>.
19620 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
19621 of `grub_split_cmdline'.
19622
19623 * normal/command.c: Include <grub/parser.h>.
19624 (grub_command_execute): Use `grub_parser_split_cmdline' instead
19625 of `grub_split_cmdline'.
19626
19627 * normal/completion.c: Include <grub/parser.h>.
19628 (cmdline_state): New variable.
19629 (iterate_dir): End the filename with a quote depending on the
19630 command line state.
19631 (get_state): new function.
19632 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
19633 split the arguments and determine the current argument. When the
19634 argument string is not quoted, escape all spaces.
19635
6d8f4b0e 196362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19637
19638 * normal/sparc64/setjmp.S: New file.
19639
15cf03ed 196402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19641
19642 * include/grub/sparc64/libgcc.h: New file.
19643 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
19644 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
19645 normal/sparc64/setjmp.c.
19646
03e8661a 196472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19648
19649 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
19650 * kern/sparc64/cache.S: New file.
19651 * kern/sparc64/cache.c: Removed.
19652 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
19653 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
19654 -mtune=ultrasparc.
19655 (COMMON_LDFLAGS): Add -melf64_sparc.
19656 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
19657 (grubof_SOURCES): Use cache.S instead of cache.c.
19658 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
19659 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
19660 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
19661 commented though.
19662 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
19663 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
19664 (linux_mod_CFLAGS): Commented out.
19665 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
19666 out because module isn't built.
19667 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
19668 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
19669 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
19670 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
19671 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
19672 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19673 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19674 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
19675 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
19676 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
19677 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19678 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19679 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
19680 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
19681
34eeec8a 196822005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
19683
19684 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
19685 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
19686 longer, because HFS should not be used on PC.
19687
708367a3 196882005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19689
19690 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
19691 consistently within the loop.
19692
6fa1251a 196932005-10-15 Marco Gerards <mgerards@xs4all.nl>
19694
19695 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
19696 directory can not be read.
19697
4801580b 196982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19699
19700 * configure.ac (AC_INIT): Increase the version number to 1.91.
19701
19702 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
19703 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
19704 term/i386/pc/serial.c.
19705
219ad426 197062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19707
19708 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
19709 file size must be permitted.
19710
19711 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
19712 between %ah and %al.
19713
688e5699 197142005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19715
19716 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
19717 grub_uint64_t.
19718 Call the hook with a NUL-terminated filename.
19719 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
19720 grub_cpu_to_be32.
19721
19722 * kern/term.c (cursor_state): New variable.
19723 (grub_term_set_current): Reset the cursor state on a new
19724 terminal.
19725 (grub_setcursor): Rewritten to use CURSOR_STATE.
19726 (grub_getcursor): New function.
19727
19728 * include/grub/term.h (grub_getcursor): New prototype.
19729
19730 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
19731 integers on ARM. Reported by Timothy Baldwin
19732 <T.E.Baldwin99@members.leeds.ac.uk>.
19733
bb34586c 197342005-10-11 Marco Gerards <mgerards@xs4all.nl>
19735
19736 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
19737 allocated.
19738 (grub_sfs_dir): Likewise.
19739
9a909877 197402005-10-09 Marco Gerards <mgerards@xs4all.nl>
19741
19742 Add support for the SFS filesystem.
19743
19744 * fs/sfs.c: New file.
19745
19746 * DISTLIST: Added `fs/sfs.c'.
19747
19748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
19749 (grub_probefs_SOURCES): Likewise.
19750 (grub_emu_SOURCES): Likewise.
19751 (pkgdata_MODULES): Add `sfs.mod'.
19752 (sfs_mod_SOURCES): New variable.
19753 (sfs_mod_CFLAGS): Likewise.
19754 (sfs_mod_LDFLAGS): Likewise.
19755
19756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
19757 (pkgdata_MODULES): Add `sfs.mod'.
19758 (sfs_mod_SOURCES): New variable.
19759 (sfs_mod_CFLAGS): Likewise.
19760
19761 * util/grub-emu.c (main): Call `grub_sfs_init' and
19762 `grub_sfs_fini'.
19763
19764 * include/grub/fs.h (grub_sfs_init): New prototype.
19765 (grub_sfs_fini): Likewise.
19766
57bdbde3 197672005-10-07 Marco Gerards <mgerards@xs4all.nl>
19768
19769 Add support for the AFFS filesystem.
19770
19771 * fs/affs.c: New file.
19772
19773 * DISTLIST: Added `fs/affs.c'.
19774
19775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
19776 (grub_probefs_SOURCES): Likewise.
19777 (grub_emu_SOURCES): Likewise.
19778 (pkgdata_MODULES): Add `affs.mod'.
19779 (affs_mod_SOURCES): New variable.
19780 (affs_mod_CFLAGS): Likewise.
19781 (affs_mod_LDFLAGS): Likewise.
19782
19783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
19784 (pkgdata_MODULES): Add `affs.mod'.
19785 (affs_mod_SOURCES): New variable.
19786 (affs_mod_CFLAGS): Likewise.
19787
19788 * util/grub-emu.c (main): Call `grub_affs_init' and
19789 `grub_affs_fini'.
19790
19791 * include/grub/fs.h (grub_affs_init): New prototype.
19792 (grub_affs_fini): Likewise.
19793
047b67e0 197942005-10-01 Marco Gerards <mgerards@xs4all.nl>
19795
19796 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
19797
59b8208a 197982005-10-01 Marco Gerards <mgerards@xs4all.nl>
19799
19800 * configure.ac: Accept `x86_64' as host_cpu. In that case add
19801 `-m32' to CFLAGS.
19802
19803 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
19804 linking.
f19dbdb7 19805
59b8208a 19806 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
19807 (COMMON_LDFLAGS): New variable.
19808 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
19809 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
19810 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
19811 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
19812 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
19813 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
19814 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
19815 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
19816 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
19817 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
19818 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19819 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19820 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
19821 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
19822 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
19823 variables.
19824 (normal_mod_ASFLAGS): Add `-m32'.
19825
19826 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
19827 (grub_host_size_t, grub_host_ssize_t): New types.
19828 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 19829 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 19830 `GRUB_HOST_SIZEOF_VOID_P'.
19831
19832 * include/grub/kernel.h (struct grub_module_header): Type of
19833 member offset changed to `grub_host_off_t'. Type of member size
19834 changed to `grub_host_size_t'.
19835 (struct grub_module_info): Type of member offset changed to
19836 `grub_host_off_t'. Type of member size changed to
19837 `grub_host_size_t'.
19838
b4093103 198392005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
19840
19841 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 19842
b4093103 19843 * kern/i386/pc/startup.S (multiboot_header): New label.
19844 (multiboot_entry): Likewise.
19845 (multiboot_trampoline): Likewise.
19846
19847 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19848 Increased to 0x4A0.
19849
19850 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
19851 put parentheses after a question mark.
19852 [!GRUB_UTIL] (my_mod): New variable.
19853
19854 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
19855
b2499b29 198562005-09-28 Marco Gerards <mgerards@xs4all.nl>
19857
19858 Adds support for the XFS filesystem. Btrees are not supported
19859 yet.
19860
19861 * fs/xfs.c: New file.
19862
19863 * DISTLIST: Added `fs/xfs.c'.
19864
19865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
19866 (grub_probefs_SOURCES): Likewise.
19867 (grub_emu_SOURCES): Likewise.
19868 (pkgdata_MODULES): Add `xfs.mod'.
19869 (xfs_mod_SOURCES): New variable.
19870 (xfs_mod_CFLAGS): Likewise.
19871
19872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
19873 (pkgdata_MODULES): Add `xfs.mod'.
19874 (xfs_mod_SOURCES): New variable.
19875 (xfs_mod_CFLAGS): Likewise.
19876
19877 * util/grub-emu.c (main): Call `grub_xfs_init' and
19878 `grub_xfs_fini'.
19879
19880 * include/grub/fs.h (grub_xfs_init): New prototype.
19881 (grub_xfs_fini): Likewise.
19882
f19dbdb7 19883
83d37a62 198842005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
19885
19886 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
19887 color modes, allow greater than 16 colors to be configured as
19888 a default palette.
19889
47d2d65e 198902005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19891
19892 * normal/completion.c (complete_arguments): Add the qualifier
19893 const into OPTIONS.
19894
19895 From Omniflux <omniflux+lists@omniflux.com>:
19896 * include/grub/terminfo.h: New file.
19897 * include/grub/tparm.h: Likewise.
19898 * include/grub/i386/pc/serial.h: Likewise.
19899 * term/terminfo.c: Likewise.
19900 * term/tparm.c: Likewise.
19901 * term/i386/pc/serial.c: Likewise.
19902 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
19903 serial.mod.
19904 (terminfo_mod_SOURCES): New variable.
19905 (terminfo_mod_CFLAGS): Likewise.
19906 (serial_mod_SOURCES): Likewise.
19907 (serial_mod_CFLAGS): Likewise.
19908
48b671ff 199092005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
19910
19911 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
19912 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
19913 and kern/powerpc/ieee1275/cmain.c, respectively.
19914
19915 * boot/powerpc/ieee1275/crt0.S: Moved to ...
19916 * kern/powerpc/ieee1275/crt0.S: ... here.
19917
19918 * boot/powerpc/ieee1275/cmain.c: Moved to ...
19919 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 19920
48b671ff 19921 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
19922 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
19923 instead of boot/powerpc/ieee1275/crt0.S and
19924 boot/powerpc/ieee1275/cmain.c, respectively.
19925
19926 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
19927 sectors. It was not used anyway.
19928
09fc77a7 199292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19930
19931 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
19932 `unused parameter' warning.
19933
003789c7 199342005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19935
19936 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19937 function.
19938 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19939 getcharwidth.
19940
67f44c86 199412005-08-28 Marco Gerards <metgerards@student.han.nl>
19942
19943 * include/grub/normal.h (enum grub_completion_type): Added
19944 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19945
19946 * normal/cmdline.c (print_completion): Handle
19947 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19948 * normal/menu_entry.c (store_completion): Likewise.
19949
19950 * normal/completion.c (complete_arguments): New function.
19951 (grub_normal_do_completion): Call `complete_arguments' when the
19952 current words start with a dash.
19953
0b5abe02 199542005-08-27 Marco Gerards <metgerards@student.han.nl>
19955
19956 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19957 `gzio.mod' instead of `io.mod').
19958
d9864ee1 199592005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19960
19961 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19962 (DISTDIRS): Added io and video.
19963 Rewrite the search routine to make an output consistently.
19964
19965 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19966 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19967 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19968 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19969 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19970 util/powerpc/ieee1275/misc.c.
f19dbdb7 19971
d9864ee1 19972 * include/grub/gzio.h: New file.
19973 * io/gzio.c: Likewise.
f19dbdb7 19974
d9864ee1 19975 * kern/file.c (grub_file_close): Call grub_device_close only if
19976 FILE->DEVICE is not NULL.
19977
19978 * include/grub/mm.h [!NULL] (NULL): New macro.
19979
19980 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19981
19982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
19983 (pkgdata_MODULES): Added gzio.mod.
19984 (gzio_mod_SOURCES): New variable.
19985 (gzio_mod_CFLAGS): Likewise.
19986
19987 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19988 (pkgdata_MODULES): Added gzio.mod.
19989 (gzio_mod_SOURCES): New variable.
19990 (gzio_mod_CFLAGS): Likewise.
19991
19992 * commands/cat.c: Include grub/gzio.h.
19993 (grub_cmd_cat): Use grub_gzfile_open instead of
19994 grub_file_open.
f19dbdb7 19995
d9864ee1 19996 * commands/cmp.c: Include grub/gzio.h.
19997 (grub_cmd_cmp): Use grub_gzfile_open instead of
19998 grub_file_open.
19999
20000 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
20001 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
20002 grub_file_open.
20003 (grub_rescue_cmd_module): Likewise.
20004
fa46f4b5 200052005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20006
20007 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
20008 kern/sparc64/ieee1275/init.c because it contains _start.
20009 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
20010
e9211b5d 200112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20012
20013 * configure.ac: Add support for sparc64 host with ieee1275
20014 firmware.
20015 * configure: Generated from configure.ac.
20016 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20017 instead of int.
20018 (grub_ofdisk_read): Likewise.
20019 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20020 pointers as (void *) to remove a warning.
20021 (grub_ofdisk_close): Likewise.
20022 (grub_ofdisk_read): Likewise.
20023 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20024 returns, so make it return void to remove a warning.
20025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20026 Corresponding prototype change.
20027 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20028 values, and cast the pointers as (void *) to remove a warning.
20029 (grub_mm_dump): Likewise.
20030 * conf/sparc64-ieee1275.mk: New file.
20031 * conf/sparc64-ieee1275.rmk: Likewise.
20032 * include/grub/sparc64/setjmp.h: Likewise.
20033 * include/grub/sparc64/types.h: Likewise.
20034 * include/grub/sparc64/ieee1275/console.h: Likewise.
20035 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20036 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20037 * include/grub/sparc64/ieee1275/time.h: Likewise.
20038 * kern/sparc64/cache.c: Likewise.
20039 * kern/sparc64/dl.c: Likewise.
20040 * kern/sparc64/ieee1275/init.c: Likewise.
20041 * kern/sparc64/ieee1275/openfw.c: Likewise.
20042
385c6a92 200432005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20044
20045 * util/console.c (grub_ncurses_putchar): If C is greater than
20046 0x7f, set C to a question mark.
20047 (grub_ncurses_getcharwidth): New function.
20048 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20049 getcharwidth.
20050
20051 * normal/menu.c (print_entry): Made aware of Unicode. First,
20052 convert TITLE to UCS-4, and predict the cursor position by
20053 grub_getcharwidth.
20054
20055 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20056 const to SRC.
20057 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20058
16ccb8b1 200592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20060
20061 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20062 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20063 grub_strcat.
20064
20065 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20066 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20067 grub_strcpy and grub_strlen. Take it into account that a space
20068 character is inserted as a delimiter.
20069
6a85ce79 200702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20071
20072 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20073 invalid magic in the error.
6a85ce79 20074
20075 * commands/search.c: New file.
f19dbdb7 20076
6a85ce79 20077 * util/grub-emu.c (main): Call grub_search_init and
20078 grub_search_fini.
20079
20080 * kern/rescue.c (grub_rescue_print_disks): Removed.
20081 (grub_rescue_print_devices): New function.
20082 (grub_rescue_cmd_ls): Use grub_device_iterate with
20083 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20084 grub_rescue_print_disks.
20085
20086 * kern/partition.c (grub_partition_iterate): Return the result of
20087 PARTMAP->ITERATE instead of GRUB_ERRNO.
20088
20089 * kern/device.c: Include grub/partition.h.
20090 (grub_device_iterate): New function.
20091
20092 * include/grub/partition.h (grub_partition_iterate): Return int
20093 instead of grub_err_t.
20094
20095 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20096 prototype.
20097 [GRUB_UTIL] (grub_search_fini): Likewise.
20098
20099 * include/grub/device.h (grub_device_iterate): New prototype.
20100
20101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20102 commands/search.c.
20103 (pkgdata_MODULES): Added search.mod.
20104 (search_mod_SOURCES): New variable.
20105 (search_mod_CFLAGS): Likewise.
20106
20107 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
20108 (pkgdata_MODULES): Added search.mod.
20109 (search_mod_SOURCES): New variable.
20110 (search_mod_CFLAGS): Likewise.
20111
20112 * commands/ls.c (grub_ls_list_disks): Renamed to ...
20113 (grub_ls_list_devices): ... this, and use grub_device_iterate.
20114 All callers changed.
20115
20116 * DISTLIST: Added commands/search.c.
20117
ef095434 201182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20119
20120 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
20121 conversion.
20122 (grub_getcharwidth): New function.
20123
20124 * kern/misc.c (grub_utf8_to_ucs4): New function.
20125
20126 * include/grub/term.h (struct grub_term): Added a new member
20127 "getcharwidth".
20128 (grub_getcharwidth): New prototype.
20129
20130 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
20131
20132 * term/i386/pc/console.c (map_char): New function. Segregated from
20133 grub_console_putchar.
20134 (grub_console_putchar): Use map_char.
20135 (grub_console_getcharwidth): New function.
20136 (grub_console_term): Specified grub_console_getcharwidth as
20137 getcharwidth.
20138
20139 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
20140 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
20141
20142 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
20143 GRUB_ERRNO.
20144 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
20145 on grub_strtoul completely.
20146 (write_char): Declare local variables in the beginning of the
20147 function.
20148 (grub_vesafb_getcharwidth): New function.
20149 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
20150 getcharwidth.
20151
1f0a95e4 201522005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
20153
20154 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
20155 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
20156 commands/i386/pc/vbetest.c.
20157
20158 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
20159 call grub_vbe_get_controller_info again, because the returned
20160 information is volatile.
20161 (grub_vbe_set_video_mode): Mostly rewritten.
20162 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
20163 grub_vbe_status_t correctly.
20164 (grub_vbe_get_video_mode_info): Likewise.
20165 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
20166 several if statements.
20167
20168 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
20169 * commands/i386/pc/vbeinfo.c: ... this.
20170
20171 * commands/i386/pc/vbe_test.c: Renamed to ...
20172 * commands/i386/pc/vbetest.c: ... this.
20173
20174 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
20175 ...
20176 (grub_cmd_vbeinfo): ... this. Save video modes before
20177 iterating. Skip a video mode, if it is not available, not enough
20178 information is given or it is monochrome. Show the memory
20179 model. Leave the interpretation of MODEVAR to grub_strtoul
20180 completely.
20181 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
20182 (GRUB_MOD_FINI): Likewise.
20183
20184 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
20185 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
20186 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
20187 duplicated grub_env_get. Leave the interpretation of MODEVAR to
20188 grub_strtoul completely.
20189 (real2pm): Removed.
20190 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
20191 (GRUB_MOD_FINI): Likewise.
20192
20193 * normal/misc.c: Include grub/mm.h.
20194
20195 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
20196 vbe_list_modes with vbetest.mod and vbeinfo.mod.
20197 (vbe_list_modes_mod_SOURCES): Removed.
20198 (vbe_list_modes_mod_CFLAGS): Likewise.
20199 (vbe_test_mod_SOURCES): Likewise.
20200 (vbe_test_mod_CFLAGS): Likewise.
20201 (vbeinfo_mod_SOURCES): New variable.
20202 (vbeinfo_mod_CFLAGS): Likewise.
20203 (vbetest_mod_SOURCES): Likewise.
20204 (vbetest_mod_CFLAGS): Likewise.
20205
992ffbbe 202062005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
20207
20208 * normal/misc.c: New file.
20209
20210 * DISTLIST: Added normal/misc.c.
f19dbdb7 20211
992ffbbe 20212 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
20213 DISK to HOOK. Call HOOK with DISK.
20214 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20215 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20216 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20217
20218 * normal/menu_entry.c (struct screen): Added a new member
20219 "completion_shown".
20220 (completion_buffer): New global variable.
20221 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
20222 (store_completion): New function.
20223 (complete): Likewise.
20224 (clear_completions): Likewise.
20225 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
20226 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
20227 a tab, call complete.
20228
20229 * normal/completion.c (disk_dev): Removed.
20230 (print_simple_completion): Likewise.
20231 (print_partition_completion): Likewise.
20232 (print_func): New global variable.
20233 (add_completion): Do not take the arguments WHAT or PRINT any
20234 longer. Added a new argument TYPE. Instead of printing directly,
20235 call PRINT_FUNC if not NULL.
20236 All callers changed.
20237 (complete_device): Use a local variable DEV instead of
20238 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
20239 (grub_normal_do_completion): Take a new argument HOOK. Do not
20240 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
20241 empty string, return NULL instead.
20242 All callers changed.
20243
20244 * normal/cmdline.c (print_completion): New function.
20245
20246 * kern/partition.c (grub_partition_iterate): Add an argument DISK
20247 to HOOK.
20248 All callers changed.
20249
20250 * kern/disk.c (grub_print_partinfo): Removed.
20251
20252 * include/grub/partition.h (struct grub_partition_map): Add a new
20253 argument DISK into HOOK of ITERATE.
20254 (grub_partition_iterate): Add a new argument DISK to HOOK.
20255
20256 * include/grub/normal.h (enum grub_completion_type): New enum.
20257 (grub_completion_type_t): New type.
20258 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
20259 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
20260 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
20261 (GRUB_COMPLETION_TYPE_FILE): Likewise.
20262 (grub_normal_do_completion): Added a new argument HOOK.
20263 (grub_normal_print_device_info): New prototype.
20264
20265 * include/grub/disk.h (grub_print_partinfo): Removed.
20266
20267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
20268 (normal_mod_SOURCES): Likewise.
20269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20270 (normal_mod_SOURCES): Likewise.
20271
20272 * commands/ls.c (grub_ls_list_disks): Use
20273 grub_normal_print_device_info instead of grub_print_partinfo. Free
20274 PNAME.
20275 (grub_ls_list_files): Use grub_normal_print_device_info instead of
20276 duplicating the code.
20277
0bd41162 202782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20279
20280 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 20281 follow GCS more precisely.
20282 * commands/i386/pc/vbe_test.c: Likewise.
20283 * include/grub/i386/pc/vbe.h: Likewise.
20284 * term/i386/pc/vesafb.c: Likewise.
20285 * video/i386/pc/vbe.c: Likewise.
0bd41162 20286
6323696a 202872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20288
20289 * DISTLIST: Added term/i386/pc/vesafb.c
20290 DISTLIST: Added video/i386/pc/vbe.c
20291 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
20292 DISTLIST: Added commands/i386/pc/vbe_test.c.
20293 * commands/i386/pc/vbe_list_modes.c: New file.
20294 * commands/i386/pc/vbe_test.c: Likewise.
20295 * term/i386/pc/vesafb.c: Likewise.
20296 * video/i386/pc/vbe.c: Likewise.
20297 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
20298 (grub_vbe_probe) Added prototype.
20299 (grub_vbe_set_video_mode) Likewise.
20300 (grub_vbe_get_video_mode) Likewise.
20301 (grub_vbe_get_video_mode_info) Likewise.
20302 (grub_vbe_set_pixel_rgb) Likewise.
20303 (grub_vbe_set_pixel_index) Likewise.
20304 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
20305 (pkgdata_MODULES): Added vesafb.mod.
20306 (pkgdata_MODULES): Added vbe_list_modes.mod.
20307 (pkgdata_MODULES): Added vbe_test.mod.
20308 (vbe_mod_SOURCES): Added.
20309 (vbe_mod_CFLAGS): Likewise.
20310 (vesafb_mod_SOURCES): Likewise.
20311 (vesafb_mod_CFLAGS): Likewise.
20312 (vbe_list_modes_mod_SOURCES): Likewise.
20313 (vbe_list_modes_mod_CFLAGS): Likewise.
20314 (vbe_test_mod_SOURCES): Likewise.
20315 (vbe_test_mod_CFLAGS): Likewise.
20316
0a74e62f 203172005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
20318
0a74e62f 20319 * normal/command.c (grub_command_execute): If INTERACTIVE is
20320 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
20321 CMDLINE. Disable the pager if INTERACTIVE is true.
20322 All callers are changed.
20323
20324 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
20325 before reading a config file.
20326 * normal/main.c (read_config_file): Even if a command is not
20327 found, register it if it is within an entry.
20328
20329 * util/grub-emu.c: Include sys/types.h and unistd.h.
20330 (options): Added --hold.
20331 (struct arguments): Added a new member "hold".
20332 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
20333 missing.
20334 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
20335 cleared by a debugger, if it is not zero.
20336
20337 * include/grub/normal.h (grub_command_execute): Add an argument
20338 INTERACTIVE.
20339
e51f85ae 203402005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
20341
20342 * DISTLIST: Added include/grub/i386/pc/vbe.h.
20343
e9c6f39b 203442005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
20345
20346 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
20347 program with another one, because the old one didn't detect a bug
20348 in gcc-3.4. Always use regparm 2, because the new test is still
20349 not enough for gcc-4.0. Someone must investigate a simple test
20350 case which detects a bug in gcc-4.0.
20351
8de3495c 203522005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
20353
20354 * DISTLIST: Added normal/completion.c.
20355
20356 * normal/completion.c: New file.
f19dbdb7 20357
8de3495c 20358 * term/i386/pc/console.c (grub_console_getwh): New function.
20359 (grub_console_term): Assign grub_console_getwh to getwh.
20360
20361 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
20362 function is defined in normal/completion.c as
20363 grub_normal_do_completion.
20364 (grub_cmdline_get): Use grub_normal_do_completion instead of
20365 grub_tab_complete.
20366
20367 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
20368 returns non-zero, otherwise return 0.
20369 (grub_partition_iterate): First, probe the partition map. Then,
20370 call ITERATE only for this partition map.
20371
20372 * kern/misc.c (grub_strncmp): Rewritten.
20373
20374 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
20375 returns non-zero. Otherwise return 0.
20376
20377 * include/grub/partition.h (grub_partition_map_iterate): Return
20378 int instead of void.
20379
20380 * include/grub/normal.h (grub_normal_do_completion): New prototype.
20381
20382 * include/grub/misc.h (grub_strncmp): Change the type of N to
20383 grub_size_t.
20384
20385 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
20386 of void.
20387
20388 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 20389 unsigned explicitly before comparing it with I.
8de3495c 20390
20391 * kern/main.c (grub_env_write_root): Add the attribute unused into
20392 VAR.
20393
20394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20395 normal/completion.c.
20396 (normal_mod_SOURCES): Likewise.
20397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20398 (normal_mod_SOURCES): Likewise.
20399
20400 * normal/command.c (grub_iterate_commands): If ITERATE returns
20401 non-zero, return one immediately.
20402
e85e144b 204032005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
20404
20405 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
20406 * kern/i386/pc/startup.S: Updated Global Descriptor table's
20407 descriptions.
20408 (grub_vbe_get_controller_info): New function.
20409 (grub_vbe_get_mode_info): Likewise.
20410 (grub_vbe_set_mode): Likewise.
20411 (grub_vbe_get_mode): Likewise.
20412 (grub_vbe_set_memory_window): Likewise.
20413 (grub_vbe_get_memory_window): Likewise.
20414 (grub_vbe_set_scanline_length): Likewise.
20415 (grub_vbe_get_scanline_length): Likewise.
20416 (grub_vbe_set_display_start): Likewise.
20417 (grub_vbe_get_display_start): Likewise.
20418 (grub_vbe_set_palette_data): Likewise.
20419 * include/grub/i386/pc/vbe.h: New file.
20420
c46153d2 204212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20422
20423 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20424 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
20425 * DISTLIST: Likewise.
20426 * kern/ieee1275/of.c: Moved to ...
20427 * kern/ieee1275/ieee1275.c: ... here.
20428
0cb90c45 204292005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20430
20431 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
20432 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
20433 Pass 0 as `end' parameter to grub_strtoul().
20434
a19fb360 204352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20436
20437 * include/grub/powerpc/ieee1275/console.h: Do not include
20438 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
20439 ifdef.
20440 (grub_console_cur_color): Remove i386-specific prototype.
20441 (grub_console_real_putchar): Likewise.
20442 (grub_console_checkkey): Likewise.
20443 (grub_console_getkey): Likewise.
20444 (grub_console_getxy): Likewise.
20445 (grub_console_gotoxy): Likewise.
20446 (grub_console_cls): Likewise.
20447 (grub_console_setcursor): Likewise.
20448 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
20449 Include <grub/machine/console.h>.
20450 * term/ieee1275/ofconsole.c: Likewise.
20451
4ac9bd04 204522005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
20453
20454 * Makefile.in (LIBLZO): New variable.
20455
20456 * configure.ac: Check for LZO version 2.
20457
20458 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
20459 lzo/lzo1x.h instead of lzo1x.h.
20460
20461 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
20462 of -llzo.
20463
20464 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
20465 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
20466
20467 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
20468 copying the data from PARTITION to P.
20469
f4917dfd 204702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20471
20472 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
20473 negative, unload the module.
20474
20475 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
20476 map is "pc_partition_map" but not "pc".
20477 (usage): Fix the description. The options are --boot-image and
20478 --core-image but not --boot-file or --core-file.
20479 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
20480 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
20481 DEFAULT_DIRECTORY.
20482
20483 * util/i386/pc/grub-install.in: Do not specify --boot-file or
20484 --core-file. Specify INSTALL_DEVICE as an argument.
20485
20486 * util/console.c: Include config.h.
20487 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
20488 [HAVE_NCURSES_H]: Include ncurses.h.
20489 [HAVE_CURSES_H]: Include curses.h.
20490 [!A_NORMAL] (A_NORMAL): Defined as zero.
20491 [!A_STANDOUT] (A_STANDOUT): Likewise.
20492
20493 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
20494 -lncurses.
20495 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
20496
20497 * configure.ac: Check for curses libraries and headers.
20498
20499 * Makefile.in (LIBCURSES): New variable.
20500
20501 * genmk.rb (Script::rule): Set the executable bits.
20502
20503 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
20504 name of the PC partition map is "pc_partition_map" but not "pc".
20505
0e143073 205062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20507
20508 * util/i386/pc/grub-install.in (grub_probefs): New variable.
20509 (modules): Likewise.
20510 (usage): Added descriptions for --modules and --grub-probefs.
20511 Handle --modules and --grub-probefs. Save the arguments in MODULES
20512 and GRUB_PROBEFS, respectively.
20513 Auto-detect a filesystem module against GRUBDIR. If the result is
20514 empty and modules are not specified explicitly, abort the
20515 installation. Add the result to MODULES.
20516
20517 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
20518 disk/powerpc/ieee1275/ofdisk.c,
20519 include/grub/powerpc/ieee1275/init.h and
20520 term/powerpc/ieee1275/ofconsole.c.
20521 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
20522 term/ieee1275/ofconsole.c.
20523
20524 * include/grub/powerpc/ieee1275/console.h: Resurrected.
20525
20526 * COPYING: Upgraded to the latest version. Only the address of the
20527 FSF office has changed.
f19dbdb7 20528
efd6e6d5 205292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20530
20531 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20532 kern/ieee1275.c with kern/ieee1275/of.c.
20533
20534 * kern/ieee1275.c: Moved to ...
20535 * kern/ieee1275/of.c: ... here.
20536
8ceafda2 205372005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
20538
20539 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 20540 readability.
8ceafda2 20541
20542 * config.guess: Updated to the latest version from gnulib.
20543 * config.sub: Likewise.
20544 * install.sh: Likewise.
20545 * mkinstalldirs: Likewise.
20546
20547 * include/grub/console.h: Removed. This file is arch-specific. Do
20548 not put this in include/grub.
20549
20550 * include/grub/i386/pc/console.h: Resurrected.
20551
20552 * util/console.c: Include grub/machine/console.h instead of
20553 grub/console.h.
20554 * util/grub-emu.c: Likewise.
20555
267f6cd9 205562005-08-04 Marco Gerards <metgerards@student.han.nl>
20557
20558 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
20559 hardcoded value.
f19dbdb7 20560
267f6cd9 20561 From Vincent Pelletier <subdino2004@yahoo.fr>
20562 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
20563 Redefined to use grub_getwh.
20564 (grub_term): New member named getwh.
20565 (grub_getwh): New prototype.
20566 * kern/term.c (grub_getwh): New function.
20567 * term/i386/pc/console.c (grub_console_getwh): New function.
20568 (grub_console_term): New member `getwh'.
20569 * term/i386/pc/vga.c (grub_vga_getwh): New function.
20570 (grub_vga_term): New member `getwh'.
0b5abe02 20571 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 20572 grub_ssize_t.
20573 (grub_ofconsole_getw): New function.
20574 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
20575 (grub_ofconsole_term): New field named getwh and new initial
20576 value.
20577
3be7266d 205782005-08-03 Hollis Blanchard <hollis@penguinppc.org>
20579
20580 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
20581 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
20582 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
20583 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
20584 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
20585 of <grub/machine/ieee1275.h>.
20586 * commands/ieee1275/reboot.c: Likewise.
20587 * boot/powerpc/ieee1275/ieee1275.c: Move ...
20588 * kern/ieee1275.c: ... to here. All users updated. Change all
20589 parameter structs to use new type `grub_ieee1275_cell_t'.
20590 * term/powerpc/ieee1275/ofconsole.c: Move ...
20591 * term/ieee1275/ofconsole.c: ... to here. All users updated.
20592 * disk/powerpc/ieee1275/ofdisk.c: Move ...
20593 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
20594 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
20595 to return int.
20596 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
20597 Remove unused prototypes. All users updated.
20598 * include/grub/powerpc/ieee1275/console.h: Removed.
20599 * include/grub/powerpc/ieee1275/ieee1275.h: Define
20600 `grub_ieee1275_cell_t'.
20601 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
20602 Cast comparisons with -1 to the correct type.
20603 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
20604 type to match `grub_ieee1275_entry_fn'.
20605
8b5f3938 206062005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
20607
20608 * DISTLIST: Added util/i386/pc/grub-probefs.c.
20609
20610 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
20611 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
20612 partmap/sun.c.
20613 (grub_probefs_SOURCES): New variable.
20614
20615 * util/i386/pc/grub-probefs.c: New file.
20616
20617 * util/i386/pc/grub-setup.c (main): Call
20618 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
20619 grub_hfs_init and grub_jfs_init to initialize the system. Call
20620 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
20621 grub_pc_partition_map_fini to finish the system.
20622
ea409713 206232005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
20624
20625 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
20626 function.
20627 (grub_multiboot_load_elf32): Likewise.
20628 (grub_multiboot_is_elf64): Likewise.
20629 (grub_multiboot_load_elf64): Likewise.
20630 (grub_multiboot_load_elf): Likewise.
20631 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
20632 an ELF32 or ELF64 file.
20633 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
20634
20635 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
20636 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
20637 NULL before calling FS->LABEL.
20638 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
20639 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
20640 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
20641 before calling FS->LABEL.
20642
141a288b 206432005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
20644
20645 * util/i386/pc/grub-install.in (datadir): New variable.
20646 (libdir): Removed.
20647 (pkgdatadir): New variable.
20648 (pkglibdir): Removed.
20649
0d5f8a54 206502005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
20651
20652 * DISTLIST: Added util/i386/pc/grub-install.in.
20653
20654 * util/i386/pc/grub-install.in: New file.
20655
20656 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
20657 (grub_install_SOURCES): Likewise.
20658
20659 * genmk.rb: Added support for scripts.
20660 (Script): New class.
20661 (scripts): New variable.
20662
20663 * Makefile.in (install-local): Install sbin_SCRIPTS by
20664 INSTALL_SCRIPT.
20665 (uninstall): Remove sbin_SCRIPTS.
20666
20667 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
20668 device, try to get a GRUB device by
20669 grub_util_biosdisk_get_grub_dev.
20670 Free DEST_DEV.
20671
20672 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
20673 description for --device-map.
20674
5f968e1e 206752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20676
20677 Change the semantics of variable hooks. They now return strings
20678 instead of error values.
f19dbdb7 20679
5f968e1e 20680 * util/i386/pc/grub-setup.c: Include grub/env.h.
20681 (setup): Use grub_device_set_root instead of grub_env_set.
20682
20683 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
20684 grub_env_get instead of grub_device_set_root and
20685 grub_device_get_root, respectively.
20686
20687 * kern/main.c (grub_env_write_root): New function.
20688 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
20689 grub_env_set instead of grub_device_set_root.
20690
20691 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
20692 many variables.
20693 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
20694 rather than calling ENV->WRITE_HOOK afterwards.
20695 (grub_env_get): Return the result of ENV->READ_HOOK rather than
20696 passing a pointer of a pointer.
20697 (grub_register_variable_hook): Change the types of "read_hook" and
20698 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
20699 respectively.
20700 Allocate the default empty string on the heap, because this string
20701 may be freed later.
20702
20703 * kern/device.c: Include grub/env.h.
20704 (grub_device_set_root): Removed.
20705 (grub_device_get_root): Likewise.
20706 (grub_device_open): Use grub_env_get instead of
20707 grub_device_get_root.
20708
20709 * include/grub/env.h (grub_env_read_hook_t): New type.
20710 (grub_env_write_hook_t): Likewise.
20711 (grub_env_var): Change the types of "read_hook" and "write_hook"
20712 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
20713 (grub_register_variable_hook): Likewise.
20714
20715 * include/grub/device.h (grub_device_set_root): Removed.
20716 (grub_device_set_root): Likewise.
20717
20718 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
20719 make sure that DIRNAME terminates with '/', so that
20720 grub_fat_find_dir will fail if PATH is not a directory.
20721
20722 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
20723 from DIRNAME.
20724 Use the qualifier auto for print_files and print_files_long.
20725 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
20726 as a regular file.
20727 Put a newline only if there is no error.
20728 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
20729 used.
20730
896f0afd 207312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20732
20733 * kern/partition.c (grub_partition_probe): Initialize PART to
20734 NULL. Otherwise, when no partition map is registered, this returns
20735 a garbage.
20736
b28b81b2 207372005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
20738
20739 * partmap/apple.c (apple_partition_map_iterate): Check if POS
20740 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
20741 valid.
20742
5f3607e0 207432005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
20744
20745 * commands/ls.c (grub_ls_list_disks): Print the filesystem
20746 information on each device, if it does not have partitions. Print
20747 "Device" instead of "Disk", because this function is not specific
20748 to disk devices.
20749
20750 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
20751 static to ensure that it is put on the memory rather than a
20752 register.
20753
502c87e8 207542005-07-17 Yoshinori Okuji <okuji@enbug.org>
20755
20756 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
20757 (grub_cat_init): Likewise.
20758 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
20759 (options): Likewise.
20760 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20761 (grub_configfile_init): Likewise.
20762 * font/manager.c (GRUB_MOD_INIT): Likewise.
20763 * commands/help.c (GRUB_MOD_INIT): Likewise.
20764 (grub_help_init): Likewise.
20765 * normal/command.c (grub_command_init): Likewise.
20766 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
20767 * disk/loopback.c (grub_loop_init): Likewise.
20768 (GRUB_MOD_INIT): Likewise.
20769 * commands/ls.c (grub_ls_init): Likewise.
20770 (GRUB_MOD_INIT): Likewise.
20771 (options): Likewise.
20772 * commands/boot.c (grub_boot_init): Likewise.
20773 (GRUB_MOD_INIT): Likewise.
20774 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
20775 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
20776 (GRUB_MOD_INIT): Likewise.
20777 * commands/cmp.c (grub_cmp_init): Likewise.
20778 (GRUB_MOD_INIT): Likewise.
20779
20780 * normal/arg.c: Use <> instead of "" to include header files.
20781 (SHORT_ARG_HELP): New macro.
20782 (SHORT_ARG_USAGE): Likewise.
20783 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
20784 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
20785 descriptions.
20786 (find_short): Check if C is 'h' or 'u' explicitly.
20787 (grub_arg_show_help): Use space characters instead of tabs. Treat
20788 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
20789 are shown with --help and --usage only if they are not used for
20790 the command itself.
20791 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
20792 'h' and 'u'.
20793
20794 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
20795 const into "longarg". Change the type of "shortarg" to int.
20796
f806d18e 207972005-07-17 Yoshinori Okuji <okuji@enbug.org>
20798
20799 * boot/i386/pc/boot.S (boot_drive_check): New label.
20800
20801 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
20802 macro.
20803
20804 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
20805 which do not pass a boot drive correctly. Copied from GRUB Legacy.
20806
e293232b 208072005-07-17 Yoshinori Okuji <okuji@enbug.org>
20808
20809 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
20810 When turning off Gate A20, skip the check and return immediately,
20811 because this is not fatal usually.
20812
ebedfd00 208132005-07-17 Yoshinori Okuji <okuji@enbug.org>
20814
20815 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
20816 be 0x7C00 instead of 0x8000.
20817
20818 * boot/i386/pc/pxeboot.S: Rewritten.
20819
20820 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
20821 EXT_C.
20822 (gate_a20_check_state): Read a byte from 0x108000. Invert the
20823 result.
20824
654fc59f 208252005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
20826
20827 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
20828 robustness. This routine now supports a BIOS call and System
20829 Control Port A to modify the gate A20.
20830
20831 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20832 Increased to 0x440.
20833
09f9923f 208342005-07-12 Hollis Blanchard <hollis@penguinppc.org>
20835
20836 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
20837 device path and resulting ihandle.
20838 (grub_ofdisk_close): dprintf the ihandle being closed.
20839 (grub_ofdisk_read): dprintf function parameters.
20840 * kern/mm.c (grub_mm_init_region): Likewise.
20841 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
20842 (grub_linux_boot): dprintf the Linux entry point, initrd address and
20843 size, and boot arguments.
20844 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
20845 before loading into memory.
20846 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
20847 before loading into memory.
20848
7ef504d8 208492005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
20850
20851 * kern/mm.c: Added much documentation.
20852 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
20853 8, set to 5 instead of 8.
20854
e0f050c2 208552005-07-10 Yoshinori Okuji <okuji@enbug.org>
20856
20857 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
20858
20859 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
20860 (grub_mkdevicemap_SOURCES): New variable.
20861
20862 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
20863 lib/device.c of GRUB Legacy.
20864
7224189a 208652005-07-10 Yoshinori Okuji <okuji@enbug.org>
20866
20867 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
20868 instead of PATH is NULL.
20869
68c864eb 208702005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
20871
20872 * commands/cmp.c (BUFFER_SIZE): New macro.
20873 (grub_cmd_cmp): Close the right file at the right time. Compare
20874 only data just read. Don't report files of different size as
20875 identical. Dynamically allocate buffers. Move variable
20876 declarations at the beginning of function.
20877
e6f3e614 208782005-07-09 Yoshinori Okuji <okuji@enbug.org>
20879
20880 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
20881 reverse.
20882
f8f1559a 208832004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
20884
20885 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
20886 when backspace is pressed at beginning of line.
20887
39c9d41d 208882005-07-03 Yoshinori Okuji <okuji@enbug.org>
20889
20890 * DISTLIST: Added genfslist.sh.
20891
20892 * normal/main.c (fs_module_list): New variable.
20893 (autoload_fs_module): New function.
20894 (read_fs_list): Likewise.
20895 (grub_normal_execute): Call read_fs_list.
20896
20897 * kern/fs.c (grub_fs_autoload_hook): New variable.
20898 (grub_fs_probe): Added support for auto-loading.
20899
20900 * include/grub/normal.h (struct grub_fs_module_list): New struct.
20901 (grub_fs_module_list_t): New type.
20902
20903 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
20904 (grub_fs_autoload_hook): New prototype.
20905
20906 * genfslist.sh: New file.
f19dbdb7 20907
39c9d41d 20908 * genmk.rb: Added a rule to generate a filesystem list.
20909
121c1d83 209102005-06-30 Marco Gerards <metgerards@student.han.nl>
20911
20912 * configure.ac: Fix the test for cross-compiling.
20913
20914 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
20915 define GRUB_UTIL anymore.
20916
20917 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
20918 so this function works on other systems than just big endian.
20919 (load_modules): Likewise.
20920 (add_segments): Likewise.
20921
e75d76e1 209222005-06-23 Hollis Blanchard <hollis@penguinppc.org>
20923
20924 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
20925 contains `l' modifier, get a long from va_arg().
20926
50b5a0a7 209272005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
20928
20929 * kern/mm.c (grub_free): If the next free block which is being
20930 merged is the first free block, set the first block to the block
20931 being freed.
20932 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
20933
89371b20 209342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20935
20936 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20937 `grub_ieee1275_chosen'.
20938
168d6e58 209392005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20940
20941 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20942 (grub_ieee1275_chosen): New variable.
20943 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20944 `chosen'.
20945 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20946 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20947 Rename first argument to `phandle' for consistency.
20948 (grub_ieee1275_get_property_length): Likewise.
20949 (grub_ieee1275_next_property): Likewise. Change type of first argument
20950 to grub_ieee1275_phandle_t.
20951 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20952 Move export next to declaration.
20953 (grub_ieee1275_chosen): New variable.
20954 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20955 Correct cosmetic typo.
20956 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20957 `grub_ieee1275_chosen'.
20958 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20959 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20960 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20961 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20962 `grub_ieee1275_chosen'.
20963
ca5baa3f 209642005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20965
20966 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20967 /chosen/bootargs.
20968 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20969 /chosen/bootargs as "variable=value" pairs.
20970
708b345f 209712005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20972
20973 * include/grub/misc.h (grub_dprintf): New macro.
20974 (grub_real_dprintf): New prototype.
20975 (grub_strword): Likewise.
20976 (grub_iswordseparator): Likewise.
20977 * kern/misc.c (grub_real_dprintf): New function.
20978 (grub_strword): Likewise.
20979 (grub_iswordseparator): Likewise.
20980
f4c5e67c 209812005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20982
20983 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20984 (roundup): Remove macro.
20985 (grub_ieee1275_flags): Make static.
20986 (grub_ieee1275_realmode): Remove.
20987 (grub_ieee1275_test_flag): New function.
20988 (grub_ieee1275_set_flag): Likewise.
20989 (find_options): Rename to `grub_ieee1275_find_options'; update
20990 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20991 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20992 (cmain): New prototype.
20993 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20994 `grub_ieee1275_flags' directly.
20995 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
20996 machine/biosdisk.h.
20997 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
20998 Don't include grub/machine/init.h.
20999 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
21000 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21001 Remove prototype.
21002 (grub_ieee1275_realmode): Likewise.
21003 (grub_ieee1275_flag): New enum.
21004 (grub_ieee1275_test_flag): New prototype.
21005 (grub_ieee1275_set_flag): New prototype.
21006 * include/grub/powerpc/ieee1275/init.h: Remove file.
21007 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
21008 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
21009 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
21010 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
21011 comment.
21012 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
21013 `grub_ieee1275_test_flag'.
21014 (grub_ieee1275_encode_devname): Likewise.
21015
ed16607e 210162005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21017
21018 * include/grub/powerpc/ieee1275/ieee1275.h
21019 (grub_ieee1275_encode_devname): New prototype.
21020 (grub_ieee1275_get_filename): Likewise.
21021 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21022 function.
21023 (grub_set_prefix): Likewise.
21024 (grub_machine_init): Call grub_set_prefix.
21025 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21026 (grub_parse_type): New enum.
21027 (grub_ieee1275_get_devargs): New function.
21028 (grub_ieee1275_get_devname): Likewise.
21029 (grub_ieee1275_parse_args): Likewise.
21030 (grub_ieee1275_get_filename): Likewise.
21031 (grub_ieee1275_encode_devname): Likewise.
21032
be369920 210332005-03-30 Marco Gerards <metgerards@student.han.nl>
21034
21035 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21036 `grub_loader_unset'.
21037
a5ce3a4a 210382005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21039
21040 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21041 instead of grub_ieee1275_interpret.
21042 (grub_halt_init): New function.
21043 (grub_halt_fini): Likewise.
21044 (GRUB_MOD_INIT): Correct message grammar.
21045 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21046 instead of grub_ieee1275_interpret.
21047 (grub_reboot_init): New function.
21048 (grub_reboot_fini): Likewise.
21049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21050 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21051 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21052 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21053 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21054 function.
21055 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21056 Add prototype.
21057 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21058 prototype.
21059 (grub_halt): Likewise.
21060 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21061 (cmain): Remove __attribute__((unused)).
21062 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21063 (grub_heap_len): Likewise.
21064 (grub_machine_fini): New function.
21065 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21066 (grub_halt): Likewise.
21067 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21068 function.
21069 * util/powerpc/ieee1275/misc.c: New file.
21070
0058f771 210712005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21072
21073 * DISTLIST: New file.
21074 * gendistlist.sh: Likewise.
f19dbdb7 21075
0058f771 21076 * Makefile.in (COMMON_DISTFILES): Removed.
21077 (BOOT_DISTFILES): Likewise.
21078 (CONF_DISTFILES): Likewise.
21079 (DISK_DISTFILES): Likewise.
21080 (FS_DISTFILES): Likewise.
21081 (INCLUDE_DISTFILES): Likewise.
21082 (KERN_DISTFILES): Likewise.
21083 (LOADER_DISTFILES): Likewise.
21084 (TERM_DISTFILES): Likewise.
21085 (UTIL_DISTFILES): Likewise.
21086 (DISTFILES): Likewise.
21087 (uninstall): Uninstall files in $(pkgdata_DATA).
21088 (DISTLIST): New target.
21089 (distdir): Use the contents of the file DISTLIST to get a list of
21090 distributed files.
21091
46b3b8a5 210922005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21093
21094 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21095 descriptor. This is ported from GRUB Legacy.
21096
21097 * gencmdlist.sh: Added an extra semicolon to make it work with
21098 old sed versions. Reported by Robert Bihlmeyer
21099 <robbe@orcus.priv.at>.
21100
5822ff87 211012005-03-08 Yoshinori Okuji <okuji@enbug.org>
21102
21103 Automatic loading of commands is supported.
f19dbdb7 21104
5822ff87 21105 * normal/main.c (read_command_list): New function.
21106 (grub_normal_execute): Call read_command_list.
21107
21108 * normal/command.c (grub_register_command): Return zero or CMD.
21109 Allocate CMD->NAME from the heap.
21110 Initialize CMD->MODULE_NAME to zero.
21111 Find the same name as well. If the same command is found and it is
21112 a dummy command, overwrite members. If it is not a dummy command,
21113 return zero.
21114 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
21115 (grub_command_find): If a dummy command is found, load a module
21116 and retry to find a command only once.
21117
21118 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
21119 make sure that each command is loaded.
21120
21121 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
21122 macro.
21123 (struct grub_command): Remove const from the member `name'.
21124 Add a new member `module_name'.
21125 (grub_register_command): Return grub_command_t.
21126
21127 * commands/help.c (grub_cmd_help): Call grub_command_find to make
21128 sure that each command is loaded.
21129
21130 * genmk.rb (PModule::rule): Specify a module name without the
21131 suffix ".mod" to gencmdlist.sh.
21132
7b1f4b57 211332005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21134
21135 * gencmdlist.sh: New file.
f19dbdb7 21136
7b1f4b57 21137 * genmk.rb (PModule::rule): Generate a rule for a command list.
21138 Clean command.lst.
21139 Generate command.lst from $(COMMANDFILES).
21140
21141 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
21142 (DATA): Added $(pkgdata_DATA).
21143 (install-local): Install files in $(pkgdata_DATA).
21144
062aaf39 211452005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21146
21147 * term/i386/pc/vga.c (debug_command): Removed.
21148 (GRUB_MOD_INIT): Do not register the command "debug".
21149
21150 From Hollis Blanchard:
21151 * commands/configfile.c: New file.
21152 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21153 commands/configfile.c.
21154 (pkgdata_MODULES): Added configfile.mod.
21155 (configfile_mod_SOURCES): New variable.
21156 (configfile_mod_CFLAGS): Likewise.
21157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21158 commands/configfile.c.
21159 (pkgdata_MODULES): Added configfile.mod.
21160 (configfile_mod_SOURCES): New variable.
21161 (configfile_mod_CFLAGS): Likewise.
21162 * util/grub-emu.c (main): Call grub_configfile_init and
21163 grub_configfile_fini.
21164 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
21165 prototype.
21166 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 21167
cee01aa6 211682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21169
21170 * normal/arg.c (grub_arg_show_help): Do not show the bug report
21171 address.
21172
21173 * commands/help.c (grub_cmd_help): Do not print newlines after
21174 the last command in print_command_help.
21175
93f3a1d8 211762005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21177
21178 * commands/default.h: New file.
21179 * commands/timeout.h: Likewise.
21180 * normal/context.c: Likewise.
f19dbdb7 21181
93f3a1d8 21182 * util/misc.c: Do not include sys/times.h.
21183 Include sys/time.h and grub/machine/time.h.
21184 (grub_get_rtc): Rewritten with gettimeofday.
21185
21186 * util/grub-emu.c (main): Call grub_default_init and
21187 grub_timeout_init before grub_normal_init, and call
21188 grub_timeout_fini and grub_default_fini after grub_main.
21189
21190 * util/console.c (grub_ncurses_checkkey): Return the read
21191 character or -1.
21192
21193 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
21194 timeouts.
21195
21196 * normal/main.c (read_config_file): Push MENU. If this fails,
21197 print an error and wait for a user input.
21198 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
21199 If a menu is empty or an error occurs, pop MENU.
21200 (grub_normal_execute): Pop and free MENU after grub_menu_run
21201 returns.
21202
21203 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
21204
21205 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
21206 include time.h.
21207 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21208 without GRUB_UTIL.
21209 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
21210 time.h.
21211 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21212 without GRUB_UTIL.
21213
21214 * include/grub/normal.h (struct grub_menu_list): New struct.
21215 (grub_menu_list_t): New type.
21216 (struct grub_context): New struct.
21217 (grub_context_t): New type.
21218 (grub_register_command): Got rid of EXPORT_FUNC.
21219 (grub_unregister_command): Likewise.
21220 (grub_context_get): New prototype.
21221 (grub_context_get_current_menu): Likewise.
21222 (grub_context_push_menu): Likewise.
21223 (grub_context_pop_menu): Likewise.
21224 [GRUB_UTIL] (grub_default_init): Likewise.
21225 [GRUB_UTIL] (grub_default_fini): Likewise.
21226 [GRUB_UTIL] (grub_timeout_init): Likewise.
21227 [GRUB_UTIL] (grub_timeout_fini): Likewise.
21228
21229 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
21230 commands/timeout.c and normal/context.c.
21231 (pkgdata_MODULES): Added default.mod and timeout.mod.
21232 (normal_mod_SOURCES): Added normal/context.c.
21233 (default_mod_SOURCES): New variable.
21234 (default_mod_CFLAGS): Likewise.
21235 (timeout_mod_SOURCES): Likewise.
21236 (timeout_mod_CFLAGS): Likewise.
21237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
21238 conf/i386-pc.rmk.
21239 (pkgdata_MODULES): Added default.mod and timeout.mod.
21240 (normal_mod_SOURCES): Added normal/context.c.
21241 (default_mod_SOURCES): New variable.
21242 (default_mod_CFLAGS): Likewise.
21243 (timeout_mod_SOURCES): Likewise.
21244 (timeout_mod_CFLAGS): Likewise.
21245
21246 * Makefile.in (all-local): Added $(MKFILES).
21247
4ed2e1dd 212482005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
21249
21250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
21251 (grub_emu_SOURCES): Likewise.
21252 (pkgdata_MODULES): Add `sun.mod'.
21253 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21255 `partmap/sun.c'.
21256 (pkgdata_MODULES): Add `sun.mod'.
21257 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21258 * include/grub/partition.h (grub_sun_partition_map_init): New
21259 prototype.
21260 (grub_sun_partition_map_fini): Likewise.
21261 * partmap/sun.c: New file.
21262 * util/grub-emu.c (main): Initialize and de-initialize the sun
21263 partitionmap support.
21264
4d4e372e 212652005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
21266
21267 This implements an Emacs-like menu entry editor.
f19dbdb7 21268
4d4e372e 21269 * normal/menu_entry.c: New file.
f19dbdb7 21270
4d4e372e 21271 * util/console.c (grub_ncurses_putchar): Translate some Unicode
21272 characters to ASCII.
21273 (saved_char): New variable.
21274 (grub_ncurses_checkkey): Rewritten completely.
21275 (grub_ncurses_getkey): Likewise.
21276 (grub_ncurses_init): Call raw instead of cbreak.
21277
21278 * normal/menu.c (print_entry): Do not put a space.
21279 (init_page): Renamed to ...
21280 (grub_menu_init_page): ... this. All callers changed.
21281 (edit_menu_entry): Removed.
21282 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
21283
21284 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
21285
21286 * kern/misc.c (grub_vprintf): Call grub_refresh.
21287
21288 * normal/menu.c (DISP_LEFT): Renamed to ...
21289 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
21290 * normal/menu.c (DISP_UP): Renamed to ...
21291 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
21292 * normal/menu.c (DISP_RIGHT): Renamed to ...
21293 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
21294 * normal/menu.c (DISP_DOWN): Renamed to ...
21295 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
21296 * normal/menu.c (DISP_HLINE): Renamed to ...
21297 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
21298 * normal/menu.c (DISP_VLINE): Renamed to ...
21299 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
21300 * normal/menu.c (DISP_UL): Renamed to ...
21301 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
21302 * normal/menu.c (DISP_UR): Renamed to ...
21303 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
21304 * normal/menu.c (DISP_LL): Renamed to ...
21305 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
21306 * normal/menu.c (DISP_LR): Renamed to ...
21307 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
21308 * normal/menu.c (TERM_WIDTH): Renamed to ...
21309 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
21310 * normal/menu.c (TERM_HEIGHT): Renamed to ...
21311 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
21312 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
21313 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
21314 * normal/menu.c (TERM_MARGIN): Renamed to ...
21315 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
21316 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
21317 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
21318 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
21319 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
21320 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
21321 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
21322 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
21323 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
21324 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
21325 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
21326 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
21327 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
21328 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
21329 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
21330 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
21331 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
21332 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
21333 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
21334 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
21335 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
21336 All callers changed.
21337
21338 * include/grub/normal.h: New prototype.
21339
21340 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21341 normal/menu_entry.c.
21342 (normal_mod_SOURCES): Likewise.
21343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21344 (normal_mod_SOURCES): Likewise.
21345
e6b92c8a 213462005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
21347
21348 * include/grub/normal.h (grub_halt_init): New prototype.
21349 (grub_halt_fini): Likewise.
21350 (grub_reboot_init): Likewise.
21351 (grub_reboot_fini): Likewise.
21352
21353 * util/grub-emu.c: Include signal.h.
21354 (main_env): New global variable.
21355 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
21356 catch C-c.
21357 (grub_machine_fini): New function.
21358 (main): Call grub_halt_init and grub_reboot_init before
21359 grub_main, and grub_reboot_fini and grub_halt_fini after it.
21360 Call setjmp with MAIN_ENV to go back afterwards.
21361 Call grub_machine_fini right before return.
21362
21363 * include/grub/util/misc.h: Include setjmp.h.
21364 (main_env): New prototype.
21365
21366 * include/grub/kernel.h (grub_machine_fini): New prototype.
21367 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
21368 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
21369
21370 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
21371 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
21372 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 21373
e6b92c8a 21374 * util/i386/pc/misc.c: New file.
f19dbdb7 21375
e6b92c8a 21376 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21377 util/i386/pc/misc.c, commands/i386/pc/halt.c and
21378 commands/i386/pc/reboot.c.
21379
c642636f 213802005-02-14 Guillem Jover <guillem@hadrons.org>
21381
21382 * include/grub/dl.h (grub_dl_check_header): New prototype.
21383 (grub_arch_dl_check_header): Change return type to grub_err_t,
21384 remove size parameter and export function. Update all callers.
21385 * kern/dl.c (grub_dl_check_header): New function.
21386 (grub_dl_load_core): Use `grub_dl_check_header' instead of
21387 `grub_arch_dl_check_header'. Check ELF type. Check if sections
21388 are inside the core.
21389 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
21390 independent ELF header checks.
21391 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21392 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
21393 `grub_dl_check_header' instead of explicit checks. Check for the
21394 ELF type.
21395 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
21396 `grub_dl_check_header' instead of explicit checks. Remove arch
21397 specific ELF header checks.
21398
e6b92c8a 21399 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
21400 argument SIZE.
21401
5eabe94b 214022005-02-13 Hollis Blanchard <hollis@penguinppc.org>
21403
21404 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
21405 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
21406
1b14a681 214072005-02-12 Hollis Blanchard <hollis@penguinppc.org>
21408
21409 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 21410 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 21411 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 21412 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 21413 * partmap/amiga.c (amiga_partition_map_iterate): Return
21414 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
21415 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21416
aca108aa 214172005-02-01 Guillem Jover <guillem@hadrons.org>
21418
21419 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
21420 help info.
21421
c9f9c556 214222005-01-31 Marco Gerards <metgerards@student.han.nl>
21423
21424 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
21425 Removed prototype.
21426 (grub_rescue_cmd_linux): New prototype.
21427 (grub_rescue_cmd_initrd): Likewise.
21428 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
21429 `bi_rec'.
21430 (grub_linux_release_mem): Release the memory for the initrd.
21431 (grub_load_linux): Renamed from this...
21432 (grub_rescue_cmd_linux): ...To this. Changed all callers.
21433 Changed `entry' not to be static. Loop over memory regions to
21434 find another one when the default fails.
21435 (grub_rescue_cmd_initrd): New function.
21436 (grub_linux_init): Remove function.
21437 (grub_linux_fini): Likewise.
21438 (GRUB_MOD_INIT): Register `initrd'.
21439 (GRUB_MOD_FINI): Unregister `initrd'.
21440 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
21441 Function removed.
21442 (grub_linux_normal_fini): Likewise.
21443 (GRUB_MOD_INIT): Register `initrd'.
21444 (GRUB_MOD_FINI): Unregister `initrd'.
21445
990cf3aa 214462005-01-31 Marco Gerards <metgerards@student.han.nl>
21447
21448 * commands/help.c: New file.
21449 * normal/arg.c (show_help): Renamed to...
21450 (grub_arg_show_help): ... this.
21451 * commands/i386/pc/halt.c: New file.
21452 * commands/i386/pc/reboot.c: Likewise.
21453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
21454 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
21455 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
21456 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
21457 variables.
21458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21459 `commands/help.c'.
21460 (pkgdata_MODULES): Add `help.mod'.
21461 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
21462 * grub/i386/pc/init.h (grub_reboot): New prototype.
21463 (grub_halt): Likewise.
21464 * include/grub/normal.h (grub_arg_show_help): New prototype.
21465 (grub_help_init): Likewise.
21466 (grub_help_fini): Likewise.
21467 * util/grub-emu.c (main): Initialize and deinitialize the help
21468 command.
21469
21470 * normal/cmdline.c (grub_cmdline_get): Doc fix.
21471
21472 * normal/command.c (grub_command_init): Fixed the description of
21473 the `set' and `unset' commands.
21474
214752005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 21476
21477 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
21478 function.
21479 * commands/ieee1275/halt.c: New file.
21480 * commands/ieee1275/reboot.c: Likewise.
21481 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
21482 `__attribute__ ((unused))'. Some GCS related fixed.
21483 (grub_suspend_init) [GRUB_UTIL]: Function removed.
21484 (grub_suspend_fini): Likewise.
21485 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
21486 and `halt.mod'.
21487 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
21488 (halt_mod_CFLAGS): New variables.
21489 * include/grub/powerpc/ieee1275/ieee1275.h
21490 (grub_ieee1275_interpret): New prototype.
21491
1ab09cc7 214922005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
21493
21494 * include/grub/misc.h (memmove): New prototype.
21495 (memcpy): Likewise.
21496
8b8cbdb2 214972005-01-22 Hollis Blanchard <hollis@penguinppc.org>
21498
21499 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
21500 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
21501
e3741a27 215022005-01-22 Marco Gerards <metgerards@student.han.nl>
21503
21504 * kern/misc.c (grub_strndup): Function rewritten.
21505
776bd780 215062005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
21507
21508 * normal/menu.c (TERM_WIDTH): Macro redefined.
21509 (TERM_TOP_BORDER_Y): Likewise.
21510 (draw_border): Replaced while-loop by a for-loop. Make the number
21511 of lines consistent with the number of lines displayed in
21512 print_entries. Added a margin below the rectangle.
21513 (print_entry): Make the entry fit in the rectangle.
21514 (print_entries): Display the scroll arrows next to the right
21515 border.
21516
78026bce 215172005-01-21 Marco Gerards <metgerards@student.han.nl>
21518
21519 * fs/minix.c (grub_minix_find_file): Reserve more space for
21520 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
21521 `grub_strncpy' to copy `path' into it.
21522
67bbaf0f 215232005-01-21 Marco Gerards <metgerards@student.han.nl>
21524
21525 Add the loopback device, a device via which files can be accessed
21526 as devices.
f19dbdb7 21527
67bbaf0f 21528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
21529 (pkgdata_MODULES): Add loopback.mod.
21530 (loopback_mod_SOURCES): New variable.
21531 (loopback_mod_CFLAGS): Likewise.
21532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21533 `disk/loopback.c'.
21534 (pkgdata_MODULES): Add loopback.mod.
21535 (loopback_mod_SOURCES): New variable.
21536 (loopback_mod_CFLAGS): Likewise.
21537 * disk/loopback.c: new file.
21538 * include/grub/normal.h (grub_loop_init): New prototype.
21539 (grub_loop_fini): New prototype.
21540 * util/grub-emu.c (main): Initialize and de-initialize loopback
21541 support.
21542 * include/grub/disk.h (grub_disk_dev_id): Add
21543 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
21544
6f1c18bd 215452005-01-20 Hollis Blanchard <hollis@penguinppc.org>
21546
21547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
21548 function.
21549 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
21550 (suspend_mod_SOURCES): New variable.
21551 (suspend_mod_CFLAGS): Likewise.
21552 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
21553 New prototype.
21554 * commands/ieee1275/suspend.c: New file.
21555
b38551da 215562005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21557
21558 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 21559 ((unused))' to `__attribute__ ((used))'.
b38551da 21560 (GRUB_MOD_FINI): Likewise.
21561 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
21562 * genmk.rb (PModule): Assign space to common symbols when linking
21563 modules.
21564
777aff39 215652005-01-20 Marco Gerards <metgerards@student.han.nl>
21566
21567 * include/grub/mm.h (grub_mm_init_region): Change the type of the
21568 `unsigned' arguments to `grub_size_t'.
21569 (grub_malloc): Likewise.
21570 (grub_realloc): Likewise.
21571 (grub_memalign): Likewise.
21572 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
21573 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21574 * util/misc.c (grub_malloc): Likewise.
21575 (grub_realloc): Likewise.
21576 * kern/mm.c (get_header_from_pointer): Change the casts to
21577 `unsigned' into a cast to `grub_size_t'.
21578
21579 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
21580 point to `currnode' when `currnode' is changed.
21581
21582 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
21583 Schottelius <nico-linux@schottelius.org>.
21584
d0ff18e1 215852005-01-09 Hollis Blanchard <hollis@penguinppc.org>
21586
21587 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
21588 (note_path): Remove variable.
21589 (GRUB_IEEE1275_NOTE_NAME): New macro.
21590 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
21591 (grub_ieee1275_note_hdr): New structure.
21592 (grub_ieee1275_note_desc): Likewise.
21593 (grub_ieee1275_note): Likewise.
21594 (load_note): Remove `dir' argument. All callers updated. Remove
21595 `note_img' and `path'. Do not load a file from `note_path'.
21596 Initialize a struct grub_ieee1275_note and write that to `out'.
21597 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
21598
4ca7004c 215992005-01-05 Marco Gerards <metgerards@student.han.nl>
21600
21601 * util/misc.c (grub_util_read_image): Revert last change. It
21602 called `grub_util_read_at', which seeks from the beginning of the
21603 file.
21604
0b412211 216052005-01-04 Hollis Blanchard <hollis@penguinppc.org>
21606
21607 * TODO: Add note about endianness in grub-mkimage.
21608 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
21609 section.
21610 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
21611 (grub_mkimage_SOURCES): New target.
21612 * include/grub/kernel.h (grub_start_addr): Remove variable.
21613 (grub_end_addr): Likewise.
21614 (grub_total_module_size): Likewise.
21615 (grub_kernel_image_size): Likewise.
21616 (GRUB_MODULE_MAGIC): New constant.
21617 (grub_module_info): New structure.
21618 (grub_arch_modules_addr): New prototype.
21619 (grub_get_end_addr): Remove prototype.
21620 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
21621 * include/grub/powerpc/ieee1275/kernel.h: New file.
21622 * include/grub/util/misc.h (grub_util_get_fp_size): New
21623 prototype.
21624 (grub_util_read_at): Likewise.
21625 (grub_util_write_image_at): Likewise.
21626 * kern/main.c (grub_get_end_addr): Remove function.
21627 (grub_load_modules): Call grub_arch_modules_addr instead of using
21628 grub_end_addr. Look for a grub_module_info struct in memory. Use
21629 the grub_module_info fields instead of calling grub_get_end_addr
21630 as loop conditions. Move grub_add_unused_region code here.
21631 (grub_add_unused_region): Remove function.
21632 * kern/i386/pc/init.c: Include grub/cache.h.
21633 (grub_machine_init): Remove call to grub_get_end_addr. Remove
21634 one call to add_mem_region.
21635 (grub_arch_modules_addr): New function.
21636 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
21637 (grub_total_module_size): Likewise.
21638 Include grub/machine/kernel.h.
21639 (grub_arch_modules_addr): New function.
21640 * util/grub-emu.c (grub_end_addr): Remove variable.
21641 (grub_total_module_size): Likewise.
21642 (grub_arch_modules_addr): New function.
21643 * util/misc.c: Include unistd.h.
21644 (grub_util_get_fp_size): New function.
21645 (grub_util_read_at): Likewise.
21646 (grub_util_write_image_at): Likewise.
21647 (grub_util_read_image): Call grub_util_read_at.
21648 (grub_util_write_image): Call grub_util_write_image_at.
21649 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
21650 additional memory in kernel_img for a struct grub_module_info.
21651 Fill in that grub_module_info.
21652 * util/powerpc/ieee1275/grub-mkimage.c: New file.
21653
458786f8 216542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21655
21656 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
21657 New function.
21658 * include/grub/powerpc/ieee1275/ieee1275.h
21659 (grub_ieee1275_milliseconds): New prototype.
21660 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
21661 Change to 1000.
21662 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
21663 grub_ieee1275_milliseconds.
21664
ac507d1b 216652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21666
21667 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
21668 variable.
21669 (find_options): New function.
21670 (cmain): Call find_options.
21671 * include/grub/powerpc/ieee1275/ieee1275.h
21672 (grub_ieee1275_realmode): New extern variable.
21673 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
21674 grub_map if grub_ieee1275_realmode is false.
21675
6b8fd1c4 216762004-12-29 Marco Gerards <metgerards@student.han.nl>
21677
21678 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
21679 lines are inserted and make it work like readline. Reported by
21680 Vincent Pelletier <subdino2004@yahoo.fr>.
21681
8514a1e0 216822004-12-28 Marco Gerards <metgerards@student.han.nl>
21683
21684 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
21685
21686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
21687 `kern/powerpc/cache.S'.
21688
924b6140 216892004-12-27 Marco Gerards <metgerards@student.han.nl>
21690
21691 * genmk.rb: Handle the `Program' class in the main loop. Written
21692 by Johan Rydberg <jrydberg@gnu.org>.
21693 (Program): New class.
21694 (programs): New variable.
21695 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
21696 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
21697 instead of "grub/kernel.h". Include <grub/machine/init.h>.
21698 (help_arch): Function removed.
21699 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
21700 `powerpc/libgcc.h' and `loader.h'.
21701 (pkgdata_PROGRAMS): New variable.
21702 (sbin_UTILITIES): Variable removed.
21703 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
21704 (grubof_SOURCES): Variable re-defined so it only includes the
21705 core functionality.
21706 (grubof_CFLAGS): Remove `-DGRUBOF'.
21707 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
21708 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
21709 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
21710 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
21711 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
21712 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
21713 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
21714 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
21715 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
21716 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
21717 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21718 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
21719 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
21720 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
21721 (pc_mod_CFLAGS): New variables.
21722 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
21723 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
21724 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
21725 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
21726 Moved from here...
21727 * include/grub/i386/pc/init.h (grub_os_area_addr)
21728 (rub_os_area_size): ... to here.
21729 * include/grub/powerpc/ieee1275/ieee1275.h
21730 (grub_ieee1275_entry_fn): Export symbol.
21731 * include/grub/powerpc/ieee1275/init.h: New file.
21732 * include/grub/powerpc/libgcc.h: Likewise.
21733 * include/grub/cache.h: Likewise.
21734 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
21735 <hollis@penguinppc.org>.
21736 * kern/dl.c: Include <grub/cache.h>.
21737 (grub_dl_flush_cache): New function.
21738 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
21739 for this module.
21740 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
21741 (grub_console_init): Removed prototypes.
21742 (grub_machine_init): Don't initialize the modules anymore.
21743 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
21744 static.
21745 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
21746 Macro undef removed.
21747 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
21748 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
21749 relocation `R_PPC_REL32'. Return an error when the relocation is
21750 unknown.
21751 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
21752 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
21753 * util/misc.c (grub_arch_sync_caches): Likewise.
21754
e4b47e0c 217552004-12-19 Marco Gerards <metgerards@student.han.nl>
21756
21757 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
21758 `symlist.c', add `grubof_symlist.c'.
21759 (symlist.c): Variable removed.
21760 (grubof_HEADERS): Variable added.
21761 (grubof_symlist.c): New target.
21762 (kernel_syms.lst): Use `grubof_HEADERS' instead of
21763 `kernel_img_HEADERS'.
21764 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
21765 * kern/powerpc/dl.c: New file.
21766 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
21767 Function removed.
21768 (grub_arch_dl_relocate_symbols): Likewise.
21769 (grub_register_exported_symbols): Likewise.
21770
4ceb3636 217712004-12-13 Marco Gerards <metgerards@student.han.nl>
21772
21773 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
21774 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
21775 to fail instead. Reported by Vincent Pelletier
21776 <subdino2004@yahoo.fr>.
21777
21778 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
21779 it is not allocated. Reported by Vincent Pelletier
21780 <subdino2004@yahoo.fr>.
21781
21782 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
21783 output so the output looks better.
f19dbdb7 21784
3f1578fe 217852004-12-04 Marco Gerards <metgerards@student.han.nl>
21786
21787 Modulize the partition map support and add support for the amiga
21788 partition map.
f19dbdb7 21789
3f1578fe 21790 * commands/ls.c: Include <grub/partition.h> instead of
21791 <grub/machine/partition.h>.
21792 * kern/disk.c: Likewise.
21793 * kern/rescue.c: Likewise.
21794 * loader/i386/pc/chainloader.c: Likewise.
21795 * normal/cmdline.c: Likewise.
21796 * kern/powerpc/ieee1275/init.c: Likewise.
21797 (grub_machine_init): Call `grub_pc_partition_map_init',
21798 `grub_amiga_partition_map_init' and
21799 `grub_apple_partition_map_init'.
21800 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
21801 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
21802 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
21803 `partition.h' and `pc_partition.h'.
21804 (grub_setup_SOURCES): Remove
21805 `disk/i386/pc/partition.c'. Add `kern/partition.c',
21806 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21807 (grub_emu_SOURCES): Likewise.
21808 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
21809 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
21810 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
21811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21812 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
21813 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21814 (grubof_SOURCES): Likewise.
21815 * disk/i386/pc/partition.c: File removed.
21816 * disk/powerpc/ieee1275/partition.c: Likewise.
21817 * include/grub/powerpc/ieee1275/partition.h: Likewise.
21818 * include/grub/i386/pc/partition.h: Likewise.
21819 * kern/partition.c: New file.
21820 * partmap/amiga.c: Likewise.
21821 * partmap/apple.c: Likewise.
21822 * partmap/pc.c: Likewise.
21823 * include/grub/partition.h: Likewise..
21824 * include/grub/pc_partition.h: Likewise.
21825 * util/grub-emu.c: Include <grub/partition.h> instead of
21826 <grub/machine/partition.h>.
21827 (main): Call `grub_pc_partition_map_init',
21828 `grub_amiga_partition_map_init' and
21829 `grub_apple_partition_map_init' and deinitialize afterwards.
21830 * util/i386/pc/biosdisk.c: Include `#include
21831 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21832 `<grub/machine/partition.h>'.
21833 * util/i386/pc/grub-setup.c: Likewise.
21834 * util/i386/pc/biosdisk.c: Likewise.
21835 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
21836 partition information in case of a PC partition.
21837 * util/i386/pc/grub-setup.c: Include `#include
21838 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21839 `<grub/machine/partition.h>'.
21840 (setup): Only access the PC specific partition information in case
21841 of a PC partition.
21842
0ef4ced9 218432004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21844
0ef4ced9 21845 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
21846 (grub_longjmp): Likewise.
21847 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
21848 20.
21849 * normal/powerpc/setjmp.S: New file.
21850 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21851 `normal/powerpc/setjmp.S'.
21852 (grubof_CFLAGS): Add `-DGRUBOF'.
21853 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
21854 [GRUB_UTIL && !GRUBOF].
f19dbdb7 21855
19950e29 218562004-11-16 Marco Gerards <metgerards@student.han.nl>
21857
21858 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
21859 property named `name'. Correctly handle the error returned by
21860 `grub_ieee1275_finddevice' if a device can not be opened.
21861
a2fea427 218622004-11-02 Hollis Blanchard <hollis@penguinppc.org>
21863
21864 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
21865 `actual' for negativity.
21866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21867 kern/fshelp.c.
21868
41ea0ea3 218692004-11-01 Marco Gerards <metgerards@student.han.nl>
21870
21871 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
21872 (PAGE_OFFSET): New macro.
21873 (CRTC_ADDR_PORT): Likewise.
21874 (CRTC_DATA_PORT): Likewise.
21875 (START_ADDR_HIGH_REGISTER): Likewise.
21876 (START_ADDR_LOW_REGISTER): Likewise.
21877 (GRAPHICS_ADDR_PORT): Likewise.
21878 (GRAPHICS_DATA_PORT): Likewise.
21879 (READ_MAP_REGISTER): Likewise.
21880 (INPUT_STATUS1_REGISTER): Likewise.
21881 (INPUT_STATUS1_VERTR_BIT): Likewise.
21882 (page): New variable.
21883 (wait_vretrace): New function.
21884 (set_read_map): Likewise.
21885 (set_start_address): Likewise.
21886 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
21887 the right page.
21888 (check_vga_mem): Take the page into account.
21889 (write_char): Likewise.
21890 (write_cursor): Likewise.
21891 (scroll_up): Likewise. Copy the page to the page that is not
21892 shown and switch between both pages.
21893 (grub_vga_putchar): Fix off by one error.
21894 (grub_vga_cls): Wait for the vertical retrace. Take the page into
21895 account.
21896
ad0bd20b 218972004-11-01 Marco Gerards <metgerards@student.han.nl>
21898
21899 Add support for iso9660 (including rockridge).
f19dbdb7 21900
ad0bd20b 21901 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21902 (iso9660_mod_SOURCES): New variable.
21903 (iso9660_mod_CFLAGS): Likewise.
21904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21905 * include/grub/fs.h (grub_iso9660_init): New prototype.
21906 * util/grub-emu.c (main): Call `grub_iso9660_init'.
21907 * fs/iso9660.c: New file.
21908
21909 * include/grub/misc.h (grub_strncat): New prototype.
21910 * kern/misc.c (grub_strncat): New function.
f19dbdb7 21911
ad0bd20b 21912 * fs/hfs.c (grub_hfs_mount): Translate the error
21913 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
21914 * fs/jfs.c (grub_jfs_mount): Likewise.
21915 * fs/ufs.c (grub_ufs_mount): Likewise.
21916
a5477a59 219172004-10-28 Hollis Blanchard <hollis@penguinppc.org>
21918
21919 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
21920 which initialized BAT registers.
21921 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
21922 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21923 Move from here...
21924 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
21925 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21926 ... to here.
21927 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
21928 (grub_mapclaim): Likewise.
21929 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
21930 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
21931 hand.
21932
9304c1f8 219332004-10-19 Hollis Blanchard <hollis@penguinppc.org>
21934
21935 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21936 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21937 -ffreestanding and -msoft-float.
21938
86f4ae25 219392004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21940
21941 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21942 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21943 set in grub_ieee1275_flags.
21944
38912228 219452004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21946
21947 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21948 prototype.
21949 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21950 grub_console_init first.
21951 Change the memory range used for grub_ieee1275_claim and
21952 grub_mm_init_region.
21953 Print an error message if the claim fails.
21954 Include <grub/misc.h>.
21955
d1923dc8 219562004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21957
21958 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21959 Call grub_children_iterate for device nodes of type `scsi',
21960 `ide', or `ata'.
21961 (grub_ofdisk_open): Remove manual device alias resolution.
21962 Fix memory leak when device cannot be opened.
f19dbdb7 21963 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21964 (grub_children_iterate): New prototype.
21965 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21966 New function.
21967 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21968 Return -1 if args.size was -1.
21969
4512e4f3 219702004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21971
21972 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21973 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21974 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21975 Open Firmware's memory for it; claim memory from _start to _end.
21976 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21977 (_end): New extern.
21978 (_start): Zero BSS from __bss_start to _end.
21979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21980 New extern.
21981 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21982
4d61feb0 219832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21984
ad0bd20b 21985 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21986 -1 if args.base was -1.
4d61feb0 21987
026fa2f9 219882004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21989
21990 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21991 escape sequence instead of a literal ^L. Also call
21992 grub_ofconsole_gotoxy.
21993
9f2220ef 219942004-10-03 Hollis Blanchard <hollis@penguinppc.org>
21995
21996 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
21997 void * arguments to grub_addr_t. All callers updated. Also make
21998 the `result' argument optional.
21999 (grub_ieee1275_release): change void * arguments to grub_addr_t.
22000 All callers updated.
22001
8a572cd7 220022004-09-22 Hollis Blanchard <hollis@penguinppc.org>
22003
22004 * commands/ls.c (grub_ls_list_files): Use the string following the
22005 initial ')', if present, as the filesystem path.
22006 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
22007
22008 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
22009
18aa81f2 220102004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
22011
22012 Make the source code of the menu interface more readable.
f19dbdb7 22013
18aa81f2 22014 * normal/menu.c: Include grub/mm.h.
22015 (TERM_WIDTH): New macro.
22016 (TERM_HEIGHT): Likewise.
22017 (TERM_INFO_HEIGHT): Likewise.
22018 (TERM_MARGIN): Likewise.
22019 (TERM_SCROLL_WIDTH): Likewise.
22020 (TERM_TOP_BORDER_Y): Likewise.
22021 (TERM_LEFT_BORDER_X): Likewise.
22022 (TERM_BORDER_WIDTH): Likewise.
22023 (TERM_MESSAGE_HEIGHT): Likewise.
22024 (TERM_BORDER_HEIGHT): Likewise.
22025 (TERM_NUM_ENTRIES): Likewise.
22026 (TERM_FIRST_ENTRY_Y): Likewise.
22027 (TERM_ENTRY_WIDTH): Likewise.
22028 (TERM_CURSOR_X): Likewise.
22029 (draw_border): Use macros instead of magic numbers.
22030 (print_entry): Likewise.
22031 (print_entries): Likewise.
22032 (run_menu): Likewise. Also, handle the key 'e'.
22033 (run_menu_entry): Ignore empty command lines.
22034 (print_message): Added a new argument EDIT. If EDIT is true,
22035 print a different message.
22036 (init_page): Likewise.
22037 (edit_menu_entry): New function. Not implemented yet.
22038
b47efe30 220392004-09-17 Marco Gerards <metgerards@student.han.nl>
22040
22041 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22042 can be loaded from normal mode.
f19dbdb7 22043
b47efe30 22044 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22045 `multiboot.mod'.
22046 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22047 (multiboot_mod_CFLAGS): New variables.
22048 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22049 * loader/i386/pc/multiboot_normal.c: Likewise.
22050
b47efe30 22051 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22052 attribute `unused'.
f19dbdb7 22053
b47efe30 22054 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22055 `fdiro' to read the mode information from instead of `diro'.
22056
22057 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22058 looking up a symlink.
22059
22060 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22061 macro.
22062 * normal/command.c (grub_command_execute): Don't parse the
22063 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22064 flags of the command.
22065
22066 * normal/menu.c (grub_menu_run): Fix typo.
22067
da75ac71 220682004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22069
22070 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22071
22072 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22073 `y + 1' instead of `y - 1'.
22074
22075 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22076
062b24c2 220772004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22078
22079 From Hollis Blanchard <hollis@penguinppc.org>:
22080 * kern/misc.c (memmove): New alias for grub_memmove.
22081 (memcmp): New alias for grub_memcmp.
22082 (memset): New alias for grub_memset.
f19dbdb7 22083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22084 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22085 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22086 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22087
8ddad845 220882004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22089
22090 Added normal mode command `chainloader' as module chain.mod, which
22091 depends on normal.mod and _chain.mod.
f19dbdb7 22092
8ddad845 22093 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22094 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22095 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22096 Deleted prototype.
22097 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22098 but arguments parsing moved to ...
22099 (grub_chainloader_cmd): ... here. New function.
22100 * include/grub/i386/pc/chainloader.h: New file.
22101 * loader/i386/pc/chainloader_normal.c: Likewise.
22102
2c1f4ce3 221032004-09-11 Marco Gerards <metgerards@student.han.nl>
22104
22105 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
22106 (grub_mkimage_LDFLAGS): Likewise.
22107 (grub_emu_SOURCES): Likewise.
22108 (kernel_img_HEADERS): Added fshelp.h.
22109 * fs/ext2.c: Include <grub/fshelp.h>.
22110 (FILETYPE_REG): New macro.
22111 (FILETYPE_INO_REG): Likewise.
22112 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
22113 Changed all users.
22114 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
22115 all users.
22116 (grub_fshelp_node): New struct.
22117 (grub_ext2_data): Added member `diropen'. Changed member `inode'
22118 to a pointer.
22119 (grub_ext2_get_file_block): Removed function.
22120 (grub_ext2_read_block): New function.
22121 (grub_ext2_read_file): Replaced parameter `data' by `node'.
22122 This function was written.
22123 (grub_ext2_mount): Read the root inode. Create a diropen struct.
22124 (grub_ext2_find_file): Removed function.
22125 (grub_ext2_read_symlink): New function.
22126 (grub_ext2_iterate_dir): Likewise.
22127 (grub_ext2_open): Rewritten.
22128 (grub_ext2_dir): Rewritten.
22129 * include/grub/fshelp.h: New file.
22130 * fs/fshelp.c: Likewise.
22131
3c52136a 221322004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
22133
22134 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
22135 (print_message): Add a missing newline.
22136 (run_menu): Added timeout support.
22137 (run_menu_entry): New local function.
22138 (grub_menu_run): Added support for booting.
22139
22140 * kern/loader.c (grub_loader_is_loaded): New function.
22141
22142 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
22143 (grub_get_rtc): Exported.
22144
22145 * include/grub/i386/pc/time.h: Include grub/symbol.h.
22146 (grub_get_rtc): Exported.
22147
22148 * include/grub/normal.h (struct grub_command_list): Remove
22149 constant from the member `command'.
22150
22151 * include/grub/loader.h (grub_loader_is_loaded): Declared.
22152
22153 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
22154
22155 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
22156
aa033560 221572004-08-28 Marco Gerards <metgerards@student.han.nl>
22158
22159 Add support for the JFS filesystem.
22160
22161 * fs/jfs.c: New file.
22162 * include/grub/fs.h (grub_jfs_init): New prototype.
22163 (grub_jfs_fini): New prototype.
22164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
22165 (grub_emu_SOURCES): Likewise.
22166 (pkgdata_MODULES): Add jfs.mod.
22167 (jfs_mod_SOURCES): New variable.
22168 (jfs_mod_CFLAGS): Likewise.
22169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
22170 (grubof_SOURCES): Likewise.
22171 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
22172
22173 * fs/fat.c (grub_fat_find_dir): Convert the filename little
22174 endian to the host endian.
22175 (grub_fat_utf16_to_utf8): Move function from there...
22176 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 22177 the endianness of the source string anymore.
aa033560 22178 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
22179
94bc45af 221802004-08-24 Marco Gerards <metgerards@student.han.nl>
22181
22182 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
22183 (grub_boot_fini) [GRUB_UTIL]: Likewise.
22184 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
22185 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 22186
94bc45af 22187 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
22188 (grub_hfs_iterate_dir): Make the function static. Add prototypes
22189 for `node_found' and `it_dir'.
22190 (grub_hfs_dir): Add prototype for `dir_hook'.
22191
22192 * fs/minix.c (grub_minix_get_file_block): Add prototype for
22193 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
22194 and `indir32' to silence a gcc warning.
22195
22196 * include/grub/fs.h (grub_hfs_init): New prototype.
22197 (grub_hfs_fini): Likewise.
f19dbdb7 22198
22199
97543f08 222002004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22201
22202 Each disk device has its own id now. This is useful to make use
22203 of multiple disk devices.
f19dbdb7 22204
97543f08 22205 * include/grub/disk.h (grub_disk_dev_id): New enum.
22206 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
22207 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
22208
22209 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
22210 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22211
22212 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
22213 GRUB_DISK_DEVICE_OFDISK_ID as an id.
22214
22215 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
22216 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22217
22218 * include/grub/disk.h (struct grub_disk_dev): Added a new member
22219 "id" which is used by the cache manager.
22220
22221 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
22222 of just "GRUB".
22223
64372eb4 222242004-08-18 Marco Gerards <metgerards@student.han.nl>
22225
22226 * fs/hfs.c: New file.
22227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
22228 (grub_emu_SOURCES): Likewise.
22229 (pkgdata_MODULES): Add hfs.mod.
22230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
22231 (grubof_SOURCES): Likewise.
22232 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
22233
22234 * include/grub/misc.h (grub_strncasecmp): Add prototype.
22235 * kern/misc.c (grub_strncasecmp): Add function.
22236
cc61b58f 222372004-08-14 Marco Gerards <metgerards@student.han.nl>
22238
22239 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
22240 with parentheses.
22241
22242 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
22243 (grub_ext2_dir): In case the directory entry type is unknown, read
22244 it from the inode.
22245
0ef123f6 222462004-08-02 Peter Bruin <pjbruin@dds.nl>
22247
22248 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
22249 grub_load_linux instead of grub_rescue_cmd_linux as second
22250 argument of grub_rescue_register_command.
22251
22252 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
22253
a447c5df 222542004-07-27 Marco Gerards <metgerards@student.han.nl>
22255
22256 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
22257 function.
22258 * commands/boot.c: Remove the check for `GRUB_UTIL'.
22259 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22260 `loader/powerpc/ieee1275/linux.c',
22261 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
22262 * include/grub/powerpc/ieee1275/ieee1275.h
22263 (grub_ieee1275_release): New prototype.
22264 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
22265 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
22266 normal, boot, linux and linux_normal.
22267 * loader/powerpc/ieee1275/linux.c: New file.
22268 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22269
5a9e3546 222702004-07-12 Marco Gerards <metgerards@student.han.nl>
22271
22272 * normal/arg.c (grub_arg_parse): Correct error handling after
22273 reallocating the argumentlist (check if `argl' is not null instead
22274 of checking if `args' is not null).
22275 * kern/mm.c (grub_realloc): Return the same pointer when using the
22276 same region, instead of returning the header address.
22277
e15199cb 222782004-07-11 Marco Gerards <metgerards@student.han.nl>
22279
22280 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
22281 one block instead of two when looking for the initial partition.
22282 (grub_partition_probe): Initialize the local variable `p' with 0.
22283 Use base 10 for the grub_strtoul call.
22284 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
22285 need for one local variable.
22286 (grub_strtoul): Don't add the new value to `num', instead of that
22287 just assign it.
22288
020616c2 222892004-07-11 Marco Gerards <metgerards@student.han.nl>
22290
22291 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
22292 (pxeboot_img_SOURCES): New variable.
22293 (pxeboot_img_ASFLAGS): Likewise.
22294 (pxeboot_img_LDFLAGS): Likewise.
22295 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
22296 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
22297 <lode_leroy@hotmail.com>.
22298
6c51eb64 222992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22300
22301 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
22302 there was no input.
22303
cfb12aff 223042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22305
22306 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
22307 the history buffer logic.
22308
6eabba74 223092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22310
22311 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
22312 (FILETYPE_INO_SYMLINK): New macros.
22313 (grub_ext2_find_file): Check if the node is a directory using the
22314 inode stat information instead of using the filetype in the
22315 dirent. Exclude the first character of an absolute symlink.
22316 (grub_ext2_dir): Mask out the filetype part of the mode member of
22317 the inode.
22318
66e19ef8 223192004-05-24 Marco Gerards <metgerards@student.han.nl>
22320
22321 Add support for UFS version 1 and 2. Add support for the minix
22322 filesystem version 1 and 2, both the variants with 14 and 30 long
22323 filenames.
f19dbdb7 22324
66e19ef8 22325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
22326 fs/minix.c.
22327 (grub_emu_SOURCES): Likewise.
22328 (pkgdata_MODULES): Add ufs.mod and minix.mod.
22329 (ufs_mod_SOURCES): New variable.
22330 (ufs_mod_CFLAGS): Likewise.
22331 (minix_mod_SOURCES): Likewise.
22332 (minix_mod_CFLAGS): Likewise.
22333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
22334 fs/minix.c.
22335 (grubof_SOURCES): Likewise.
22336 * fs/ufs.c: New file.
22337 * fs/minix.c: New file.
22338 * include/grub/fs.h (grub_ufs_init): New prototype.
22339 (grub_ufs_fini): Likewise.
22340 (grub_minix_init): Likewise.
22341 (grub_minix_fini): Likewise.
22342 * util/grub-emu.c (main): Initialize and deinitialize UFS and
22343 minix fs.
22344
cc2e748a 223452004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
22346
22347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
22348 commands/ls.c, commands/terminal.c, commands/boot.c,
22349 commands/cmp.c and commands/cat.c.
22350 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
22351
22352 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
22353 "env.h"
22354
4b13b216 223552004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22356
22357 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
22358 and grub_, respectively. Because the conversion is trivial and
22359 mechanical, I omit the details here. Please refer to the CVS
22360 if you need more information.
22361
6a142551 223622004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22363
22364 * include/pupa: Renamed to ...
22365 * include/grub: ... this.
22366 * util/i386/pc/pupa-mkimage.c: Renamed to ...
22367 * util/i386/pc/grub-mkimage.c: ... this.
22368 * util/i386/pc/pupa-setup.c: Renamed to ...
22369 * util/i386/pc/grub-setup.c: ... this.
22370 * util/pupa-emu.c: Renamed to ...
22371 * util/grub-emu.c: ... this.
22372
e56cdf21 223732004-03-29 Marco Gerards <metgerards@student.han.nl>
22374
22375 Add support for the newworld apple macintosh (PPC). This has been
22376 tested on the powerbook 2000 only. It only adds support for
22377 generic ieee1275 functions, console and disk support. This should
22378 be easy to port to other architectures with support for Open
22379 Firmware.
f19dbdb7 22380
e56cdf21 22381 * configure.ac: Accept the powerpc as host_cpu. In the case of
22382 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
22383 specific tests are only executed while building for the i386.
22384 Inverse test for crosscompile.
22385 * genmk.rb (Utility): Allow assembler files.
22386 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
22387 * conf/powerpc-ieee1275.rmk: New file.
22388 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
22389 * disk/powerpc/ieee1275/partition.c: Likewise.
22390 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
22391 * include/pupa/powerpc/ieee1275/console.h: Likewise.
22392 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
22393 * include/pupa/powerpc/ieee1275/time.h: Likewise.
22394 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
22395 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
22396 * include/pupa/powerpc/ieee1275/loader.h
22397 * include/pupa/powerpc/setjmp.h: Likewise.
22398 * include/pupa/powerpc/types.h: Likewise.
22399 * kern/powerpc/ieee1275/init.c: Likewise.
22400 * kern/powerpc/ieee1275/openfw.c: Likewise.
22401 * term/powerpc/ieee1275/ofconsole.c: Likewise.
22402
22403 These files were written by Johan Rydberg
22404 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 22405
e56cdf21 22406 * boot/powerpc/ieee1275/cmain.c: New file.
22407 * boot/powerpc/ieee1275/crt0.S: Likewise.
22408 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
22409 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
22410
8c8cc205 224112004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
22412
22413 * Makefile.in: Update copyright.
22414 * genmodsrc.sh: Likewise.
22415 * gensymlist.sh: Likewise.
22416 * term/i386/pc/vga.c: Indent correctly.
22417
22418 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
22419 bugreporting address.
22420 * util/i386/pc/pupa-setup.c (usage): Likewise,
22421 (main): Call pupa_ext2_init and pupa_ext2_fini.
22422
f19dbdb7 22423 * fs/fat.c (log2): Renamed to ...
8c8cc205 22424 (fat_log2): ... this.
22425 All callers changed.
22426 * kern/misc.c (memcpy): Alias to pupa_memmove.
22427 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
22428 lvalue cast.
22429 * util/console.c (pupa_ncurses_fini): Return 0.
22430
22431 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
22432 Move fail label here.
22433 [__GNU__]: Don't warn when using stat.
22434 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
22435 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
22436 long int. Use strtol instead of strtoul.
f19dbdb7 22437
db1771cf 224382004-03-14 Marco Gerards <metgerards@student.han.nl>
22439
22440 * commands/boot.c: New file.
22441 * commands/cat.c: Likewise.
22442 * commands/cmp.c: Likewise.
22443 * commands/ls.c: Likewise.
22444 * commands/terminal.c: Likewise.
22445 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
22446 (pupa_register_command): Changed interface to match the new
22447 argument parser.
22448 (pupa_command_execute): Changed (almost rewritten) so it uses
22449 pupa_split_command. Added support for setting variables using the
22450 syntax `foo=bar'.
22451 (rescue_command): Changed to work with the new argument parser.
22452 (terminal_command): Moved from here to commands/terminal.c.
22453 (set_command): New function.
22454 (unset_command): New function.
22455 (insmod_command): New function.
22456 (rmmod_command): New function.
22457 (lsmod_command): New function.
22458 (pupa_command_init): Don't initialize the command terminal
22459 anymore. Initialize the commands set, unset, insmod, rmmod and
22460 lsmod.
22461 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
22462 (kernel_img_HEADERS): Add arg.h and env.h.
22463 (pupa_mkimage_LDFLAGS): Add kern/env.c.
22464 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
22465 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
22466 normal/arg.c.
22467 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
22468 terminal.mod.
22469 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
22470 (boot_mod_SOURCES): New variable.
22471 (terminal_mod_SOURCES): Likewise.
22472 (ls_mod_SOURCES): Likewise.
22473 (cmp_mod_SOURCES): Likewise.
22474 (cat_mod_SOURCES): Likewise.
22475
22476 * normal/arg.c: New file.
22477 * kern/env.c: Likewise.
22478 * include/pupa/arg.h: Likewise.
22479 * include/pupa/env.h: Likewise.
22480 * font/manager.c (font_command): Changed to match argument parsing
22481 interface changes.
22482 (PUPA_MOD_INIT): Likewise.
22483 * hello/hello.c (pupa_cmd_hello): Likewise.
22484 (PUPA_MOD_INIT): Likewise.
22485 * include/pupa/disk.h: Include <pupa/device.h>.
22486 (pupa_print_partinfo): New prototype.
22487 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
22488 (pupa_dl_get_prefix): Likewise.
22489 * include/pupa/misc.h: Include <pupa/err.h>.
22490 (pupa_isgraph): New prototype.
22491 (pupa_isdigit): Likewise.
22492 (pupa_split_cmdline): Likewise.
22493 * include/pupa/normal.h: Include <pupa/arg.h>.
22494 (pupa_command): Changed the prototype of the member `func' to
22495 match the argument parsing interface. Added member `options'.
22496 (pupa_register_command): Updated to match function.
22497 (pupa_arg_parse): New prototype.
22498 (pupa_hello_init) [PUPA_UTIL]: New prototype.
22499 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
22500 (pupa_ls_init) [PUPA_UTIL]: Likewise.
22501 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
22502 (pupa_cat_init) [PUPA_UTIL]: Likewise.
22503 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
22504 (pupa_boot_init) [PUPA_UTIL]: Likewise.
22505 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
22506 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
22507 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
22508 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
22509 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
22510 * kern/disk.c: Include <pupa/file.h>.
22511 (pupa_print_partinfo): New function.
22512 * kern/dl.c: Include <pupa/env.h>.
22513 (pupa_dl_dir): Variable removed.
22514 (pupa_dl_load): Use the environment variable `prefix' instead of
22515 the variable pupa_dl_dir.
22516 (pupa_dl_set_prefix): Function removed.
22517 (pupa_dl_get_prefix): Likewise.
22518 * kern/i386/pc/init.c: Include <pupa/env.h>.
22519 (pupa_machine_init): Use the environment variable `prefix' instead of
22520 using pupa_dl_set_prefix to set the prefix.
22521 * kern/main.c: Include <pupa/env.h>.
22522 (pupa_set_root_dev): Use the environment variable `prefix' instead of
22523 using pupa_dl_get_prefix to get the prefix.
22524 * kern/misc.c: Include <pupa/env.h>.
22525 (pupa_isdigit): New function.
22526 (pupa_isgraph): Likewise.
22527 (pupa_ftoa): Likewise.
22528 (pupa_vsprintf): Added support for printing values of the type
22529 `double'. Make it possible to format variable output when using
22530 formatting like `%1.2%f'.
22531 (pupa_split_cmdline): New function.
22532 * kern/rescue.c: Include <pupa/env.h>.
22533 (next_word): Removed function.
22534 (pupa_rescue_cmd_prefix): Likewise.
22535 (pupa_rescue_cmd_set): New function.
22536 (pupa_rescue_cmd_unset): New function.
22537 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
22538 split the command line instead of splitting it here. Added
22539 support for setting variables using the syntax `foo=bar'. Don't
22540 initialize the prefix command anymore. Initialized the set and
22541 unset commands.
22542 * normal/cmdline.c: Include <pupa/env.h>.
22543 (pupa_tab_complete): Added prototypes for print_simple_completion,
22544 print_partition_completion, add_completion, iterate_commands,
22545 iterate_dev, iterate_part and iterate_dir. Moved code to print
22546 partition information from here to kern/disk.c.
fe6b695a 22547 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 22548 * normal/main.c: Include <pupa/env.h>.
22549 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
22550 instead of using pupa_dl_get_prefix to get the prefix.
22551 * term/i386/pc/vga.c: Include <pupa/arg.h>.
22552 (check_vga_mem): Cast pointers to `void *' to silence a gcc
22553 warning.
22554 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
22555 (pupa_vga_setcolor): Declare unused variables with `__attribute__
22556 ((unused))' to silence a gcc warning.
22557 (pupa_vga_setcolor): Likewise.
22558 (debug_command): Changed to match argument parsing
22559 interface changes.
22560 * util/pupa-emu.c: Include <pupa/env.h>.
22561 (options): Added 0's for unused fields to silence a gcc warning.
22562 (argp): Likewise.
22563 (main): Use the environment variable `prefix' instead of using
22564 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
22565 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
22566 and terminal.
22567
22568 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
22569 * util/misc.c: Include <malloc.h>.
22570 (pupa_malloc): Rewritten so errors are correctly reported.
22571 (pupa_realloc): Likewise.
22572 (pupa_memalign): Likewise.
22573 (pupa_mm_init_region): Declare unused variables with
22574 `__attribute__ ((unused))' to silence a gcc warning.
22575 * normal/i386/setjmp.S: Remove tab at the end of the file to
22576 silence a gcc warning.
22577 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
22578 variables with `__attribute__ ((unused))' to silence a gcc
22579 warning.
22580 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
22581 local variable i unsigned to silence a gcc warning.
22582
22583 * kern/term.c: Include <pupa/misc.h>.
22584 (pupa_more_lines): New variable.
22585 (pupa_more): Likewise.
22586 (pupa_putcode): When the pager is active pause at the end of every
22587 screen.
22588 (pupa_set_more): New function.
22589 * include/pupa/term.h (pupa_set_more): New prototype.
22590
22591
3b1139cb 225922004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
22593
22594 Now this project is GRUB 2 rather than PUPA. The location of
22595 the CVS repository was moved to GRUB's.
f19dbdb7 22596
3b1139cb 22597 * configure.ac: Use bug-grub as the reporting address.
22598 Use GRUB instead of PUPA.
22599 Change the version number to 1.90.
22600
8367695c 226012004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
22602
22603 * genkernsyms.sh: Updated copyright information.
22604 * genmk.rb: Likewise.
22605 * genmodsrc.sh: Likewise.
22606 * gensymlist.sh: Likewise.
22607 * boot/i386/pc/boot.S: Likewise.
22608 * boot/i386/pc/diskboot.S: Likewise.
22609 * disk/i386/pc/biosdisk.c: Likewise.
22610 * disk/i386/pc/partition.c: Likewise.
22611 * font/manager.c: Likewise.
22612 * fs/ext2.c: Likewise.
22613 * fs/fat.c: Likewise.
22614 * include/pupa/boot.h: Likewise.
22615 * include/pupa/device.h: Likewise.
22616 * include/pupa/disk.h: Likewise.
22617 * include/pupa/dl.h: Likewise.
22618 * include/pupa/elf.h: Likewise.
22619 * include/pupa/err.h: Likewise.
22620 * include/pupa/file.h: Likewise.
22621 * include/pupa/font.h: Likewise.
22622 * include/pupa/fs.h: Likewise.
22623 * include/pupa/kernel.h: Likewise.
22624 * include/pupa/loader.h: Likewise.
22625 * include/pupa/misc.h: Likewise.
22626 * include/pupa/mm.h: Likewise.
22627 * include/pupa/net.h: Likewise.
22628 * include/pupa/normal.h: Likewise.
22629 * include/pupa/rescue.h: Likewise.
22630 * include/pupa/setjmp.h: Likewise.
22631 * include/pupa/symbol.h: Likewise.
22632 * include/pupa/term.h: Likewise.
22633 * include/pupa/types.h: Likewise.
22634 * include/pupa/i386/setjmp.h: Likewise.
22635 * include/pupa/i386/types.h: Likewise.
22636 * include/pupa/i386/pc/biosdisk.h: Likewise.
22637 * include/pupa/i386/pc/boot.h: Likewise.
22638 * include/pupa/i386/pc/console.h: Likewise.
22639 * include/pupa/i386/pc/init.h: Likewise.
22640 * include/pupa/i386/pc/kernel.h: Likewise.
22641 * include/pupa/i386/pc/linux.h: Likewise.
22642 * include/pupa/i386/pc/loader.h: Likewise.
22643 * include/pupa/i386/pc/memory.h: Likewise.
22644 * include/pupa/i386/pc/multiboot.h: Likewise.
22645 * include/pupa/i386/pc/partition.h: Likewise.
22646 * include/pupa/i386/pc/time.h: Likewise.
22647 * include/pupa/i386/pc/vga.h: Likewise.
22648 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
22649 * include/pupa/util/getroot.h: Likewise.
22650 * include/pupa/util/misc.h: Likewise.
22651 * include/pupa/util/resolve.h: Likewise.
22652 * kern/device.c: Likewise.
22653 * kern/disk.c: Likewise.
22654 * kern/dl.c: Likewise.
22655 * kern/err.c: Likewise.
22656 * kern/file.c: Likewise.
22657 * kern/fs.c: Likewise.
22658 * kern/loader.c: Likewise.
22659 * kern/main.c: Likewise.
22660 * kern/misc.c: Likewise.
22661 * kern/mm.c: Likewise.
22662 * kern/rescue.c: Likewise.
22663 * kern/term.c: Likewise.
22664 * kern/i386/dl.c: Likewise.
22665 * kern/i386/pc/init.c: Likewise.
22666 * kern/i386/pc/lzo1x.S: Likewise.
22667 * kern/i386/pc/startup.S: Likewise.
22668 * loader/i386/pc/chainloader.c: Likewise.
22669 * loader/i386/pc/linux.c: Likewise.
22670 * loader/i386/pc/multiboot.c: Likewise.
22671 * normal/cmdline.c: Likewise.
22672 * normal/command.c: Likewise.
22673 * normal/main.c: Likewise.
22674 * normal/menu.c: Likewise.
22675 * normal/i386/setjmp.S: Likewise.
22676 * term/i386/pc/console.c: Likewise.
22677 * term/i386/pc/vga.c: Likewise.
22678 * util/console.c: Likewise.
22679 * util/genmoddep.c: Likewise.
22680 * util/misc.c: Likewise.
22681 * util/pupa-emu.c: Likewise.
22682 * util/resolve.c: Likewise.
22683 * util/unifont2pff.rb: Likewise.
22684 * util/i386/pc/biosdisk.c: Likewise.
22685 * util/i386/pc/getroot.c: Likewise.
22686 * util/i386/pc/pupa-mkimage.c: Likewise.
22687 * util/i386/pc/pupa-setup.c: Likewise.
22688
e6eced71 226892004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
22690
22691 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
22692 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
22693 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
22694 reading and reset it after reading.
22695 (pupa_ext2_close): Return PUPA_ERR_NONE.
22696
22697 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
22698 Correct value.
22699 (struct linux_kernel_header): Add kernel_version and
22700 initrd_addr_max.
22701 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
22702 pupa_file_read succeeds.
22703 (pupa_rescue_cmd_initrd): Implement.
22704
5aded270 227052003-12-03 Marco Gerards <metgerards@student.han.nl>
22706
22707 * fs/ext2.c (pupa_ext2_label): New function.
22708 (pupa_ext2_fs): Added label.
22709 * fs/fat.c (pupa_fat_label): New function.
22710 (pupa_fat_fs): Added label.
22711 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
22712
22713 * kern/misc.c (pupa_strndup): New function.
22714 * include/pupa/misc.h (pupa_strndup): New prototype.
22715
22716 * include/pupa/normal.h: Include <pupa/err.h>.
22717 (pupa_set_history): New prototype.
22718 (pupa_iterate_commands): New prototype.
22719 * normal/cmdline.c: Include <pupa/machine/partition.h>,
22720 <pupa/disk.h>, <pupa/file.h>.
22721 (hist_size): New variable.
22722 (hist_lines): Likewise.
22723 (hist_end): Likewise.
22724 (hist_used): Likewise.
22725 (pupa_set_history): New function.
22726 (pupa_history_get): Likewise.
22727 (pupa_history_add): Likewise.
22728 (pupa_history_replace): Likewise.
22729 (pupa_tab_complete): Likewise.
22730 (pupa_cmdline_run): Added tab completion and history buffer. Tab
22731 completion shows partitionnames while completing partitions, this
22732 feature was suggested by Jeff Bailey.
22733 * normal/command.c (pupa_iterate_commands): New function.
22734 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
22735 (pupa_normal_init): Initialize history buffer.
22736 (PUPA_MOD_INIT): Likewise.
22737 (pupa_normal_fini): Free the history buffer.
22738 (PUPA_MOD_FINI): Likewise.
22739
22740 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
22741 key.
22742
22743 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
22744 * configure.ac [i386]: Check for regparam bug.
22745 (NESTED_FUNC_ATTR) [! i386]: Defined.
22746
1f7315a3 227472003-11-17 Marco Gerards <metgerards@student.han.nl>
22748
22749 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
22750 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
22751 (pupa_emu_SOURCES): New variable.
22752 (pupa_emu_LDFLAGS): Likewise.
22753 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
22754 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
22755 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
22756 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22757 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
22758 (pupa_jmp_buf): New typedef.
22759 (pupa_setjmp) [PUPA_UTIL]: New macro.
22760 (pupa_longjmp) [PUPA_UTIL]: Likewise.
22761 * include/pupa/term.h (struct pupa_term): New member `refresh'.
22762 (pupa_refresh): New prototype.
22763 * include/pupa/util/getroot.h: New file.
22764 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
22765 it.
22766 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
22767 (pupa_rescue_cmd_cat): Likewise.
22768 (pupa_rescue_cmd_ls): Likewise.
22769 (pupa_rescue_cmd_testload): Likewise.
22770 (pupa_rescue_cmd_lsmod): Likewise.
22771 * normal/cmdline.c (pupa_cmdline_get): Likewise.
22772 * normal/menu.c (run_menu): Likewise.
22773 * kern/term.c (pupa_cls): Likewise.
22774 (pupa_refresh): New function.
22775 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
22776 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22777 * util/console.c: New file.
f19dbdb7 22778
1f7315a3 22779 * util/i386/pc/getroot.c: New file.
22780 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
22781 (pupa_putchar): New function.
22782 (pupa_refresh): Likewise.
22783 (xgetcwd): Function moved to ...
22784 (strip_extra_slashes): Likewise.
22785 (get_prefix): Likewise.
f19dbdb7 22786 * util/i386/pc/getroot.c: ... here.
1f7315a3 22787 (find_root_device): Function moved and renamed to...
22788 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
22789 Changed all callers.
22790 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
22791 and renamed to...
22792 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
22793 Changed all callers.
22794 * util/misc.c (pupa_memalign): New function.
22795 (pupa_mm_init_region): Likewise.
22796 (pupa_register_exported_symbols): Likewise.
22797 (pupa_putchar): Function removed.
22798 * util/pupa-emu.c: New file.
22799
9a5c1ade 228002003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
22801
22802 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
22803 (_multiboot_mod_SOURCES): New variable.
22804 (_multiboot_mod_CFLAGS): Likewise.
22805 * loader/i386/pc/multiboot.c: New file.
22806 * include/pupa/i386/pc/multiboot.h: Likewise.
22807 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
22808 (pupa_multiboot_real_boot): New function.
22809 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
22810 (pupa_multiboot_real_boot): New prototype.
22811 (pupa_rescue_cmd_multiboot): Likewise
22812 (pupa_rescue_cmd_module): Likewise.
22813
22814 * kern/loader.c (pupa_loader_set): Continue when
22815 pupa_loader_unload_func() fails.
22816 (pupa_loader_unset): New function.
22817 * include/pupa/loader.h (pupa_loader_unset): New prototype.
22818
22819 * kern/misc.c (pupa_stpcpy): New function.
22820 * include/pupa/misc.h (pupa_stpcpy): New prototype.
22821
8e72a9c0 228222003-11-12 Marco Gerards <metgerards@student.han.nl>
22823
22824 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
22825 for available extensions.
22826
22827 * include/pupa/i386/pc/time.h: New file.
22828 * kern/disk.c: Include <pupa/machine/time.h>.
22829 (PUPA_CACHE_TIMEOUT): New macro.
22830 (pupa_last_time): New variable.
22831 (pupa_disk_open): Flush the cache when there was a timeout.
22832 (pupa_disk_close): Reset the timer.
22833 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
22834 pupa_currticks.
22835 * util/misc.c: Include <sys/times.h>
22836 (pupa_get_rtc): New function.
22837
c4adbd32 228382003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22839
22840 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
22841 as blocks.
22842 (pupa_ext2_get_file_block): Use blocks member.
22843
22844 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
22845 first block. Return -1 instead of pupa_errno on error.
22846
bfd30f06 228472003-10-27 Marco Gerards <metgerards@student.han.nl>
22848
22849 * README: In the pupa-mkimage example use _chain instead of chain
22850 and ext2 instead of fat.
22851 * TODO: Replace ext2fs with jfs as an example. Add an item for
22852 adding journal playback for ext2fs.
22853 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
22854 (pkgdata_MODULES): Added ext2.mod.
22855 (ext2_mod_SOURCES): New variable.
22856 (ext2_mod_CFLAGS): Likewise.
22857 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
22858 * include/pupa/misc.h (pupa_strncpy): New prototype.
22859 (pupa_strcat): Likewise.
22860 (pupa_strncmp): Likewise.
22861 * kern/misc.c (pupa_strcat): Enable function.
22862 (pupa_strncpy): New function.
22863 (pupa_strncmp): Likewise.
22864 * fs/ext2.c: New file.
f19dbdb7 22865
bfd30f06 22866 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
22867 when the read failed before retrying.
22868 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
22869 (_FILE_OFFSET_BITS): Likewise.
22870 * configure.ac: Added AC_SYS_LARGEFILE.
22871
98d15063 228722003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22873
22874 * genmk.rb (PModule#rule): Make sure to get only symbol names
22875 from the output of nm.
22876 Reported by Robert Millan <zeratul2@wanadoo.es>.
22877
18d9c7cd 228782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22879
22880 I forgot to check in these changes for a long time. This adds
22881 incomplete support for VGA console, and this is still very
22882 buggy. Also, a lot of consideration is required for I18N,
22883 UNICODE, and VGA font issues. Therefore, assume that this is
22884 such that "better than nothing".
f19dbdb7 22885
18d9c7cd 22886 * font/manager.c: New file.
22887 * include/pupa/font.h: Likewise.
22888 * include/pupa/i386/pc/vga.h: Likewise.
22889 * term/i386/pc/vga.c: Likewise.
22890 * util/unifont2pff.rb: Likewise.
22891
22892 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
22893 (pkgdata_MODULES): Added vga.mod and font.mod.
22894 (vga_mod_SOURCES): New variables.
22895 (vga_mod_CFLAGS): Likewise.
22896 (font_mod_SOURCES): Likewise.
22897 (font_mod_CFLAGS): Likewise.
22898
22899 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
22900
22901 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 22902 (struct pupa_term): Added init and fini.
18d9c7cd 22903 Changed the argument of putchar to pupa_uint32_t.
22904
22905 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
22906 (pupa_console_real_putchar): New prototype.
22907 (pupa_console_putchar): Removed.
22908 (pupa_console_checkkey): Exported.
22909 (pupa_console_getkey): Likewise.
22910
22911 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
22912 characters.
22913
22914 * kern/term.c (pupa_term_set_current): Rewritten.
22915 (pupa_putchar): Likewise.
22916 (pupa_putcode): New function.
22917
22918 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
22919 (pupa_console_real_putchar): ... this.
22920 (pupa_vga_set_mode): New function.
22921 (pupa_vga_get_font): Likewise.
22922
22923 * normal/command.c: Include pupa/term.h.
22924 (terminal_command): New function.
22925 (pupa_command_init): Register the command "terminal".
22926
22927 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
22928 (DISP_UP): Likewise.
22929 (DISP_RIGHT): Likewise.
22930 (DISP_DOWN): Likewise.
22931 (DISP_HLINE): Likewise.
22932 (DISP_VLINE): Likewise.
22933 (DISP_UL): Likewise.
22934 (DISP_UR): Likewise.
22935 (DISP_LL): Likewise.
22936 (DISP_LR): Likewise.
22937
22938 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22939
977329f5 229402003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22941
22942 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22943 FIX. Reverse the path_list.
22944
22945 * include/pupa/normal.h: Export pupa_register_command and
22946 pupa_unregister_command.
22947
22948 * hello/hello.c (pupa_cmd_hello): New module.
22949 * conf/i386-pc.rmk: Added hello.mod.
22950
1f5ab428 229512003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22952
22953 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22954
1f5ab428 22955 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22956 (compress_kernel): New variable.
22957 (generate_image): Heavily modified to support compressing a
22958 large part of the core image.
22959
22960 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22961 leak.
22962 (pupa_util_load_image): New function.
22963
22964 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22965 (pupa_compressed_size): New variable.
22966 (codestart): Enable Gate A20 here.
22967 Decompress the compressed part of the core image.
22968 Rearrange the code to put functions and variables which are
22969 required for initialization in the non-compressed part.
22970 Include lzo1x.S.
22971
22972 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22973 here.
22974
22975 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22976
f19dbdb7 22977 * include/pupa/i386/pc/kernel.h
1f5ab428 22978 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22979 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22980 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22981 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22982 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22983
22984 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22985
22986 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22987 (Utility#rule): Likewise.
22988
22989 * configure.ac: Check if LZO is available.
22990
ce5bf700 229912003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22992
22993 * include/pupa/normal.h: New file.
22994 * include/pupa/setjmp.h: Likewise.
22995 * include/pupa/i386/setjmp.h: Likewise.
22996 * normal/cmdline.c: Likewise.
22997 * normal/command.c: Likewise.
22998 * normal/main.c: Likewise.
22999 * normal/menu.c: Likewise.
23000 * normal/i386/setjmp.S: Likewise.
f19dbdb7 23001
ce5bf700 23002 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
23003 (pupa_rescue_cmd_initrd): Likewise.
23004
23005 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
23006 Likewise.
23007
23008 * kern/i386/pc/startup.S (translation_table): New variable.
23009 (translate_keycode): New function.
23010 (pupa_console_getkey): Call translate_keycode.
23011
23012 * kern/rescue.c (attempt_normal_mode): New function.
23013 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
23014 it failed, print a message.
23015
23016 * kern/mm.c (pupa_real_malloc): Print more information when a
23017 free magic is broken.
23018 (pupa_free): If the first free header is not free actually, set
23019 it to P.
23020
23021 * kern/main.c (pupa_load_normal_mode): Just load the module
23022 "normal".
23023 (pupa_main): Don't print the message
23024 "Entering into rescue mode..." here.
23025
23026 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23027 Declared.
23028 (pupa_rescue_cmd_initrd): Likewise.
23029 (pupa_rescue_cmd_initrd): Likewise.
23030
23031 * include/pupa/symbol.h (FUNCTION): Specify the type.
23032 (VARIABLE): Likewise.
23033
23034 * include/pupa/err.h (pupa_err_t): Added
23035 PUPA_ERR_UNKNOWN_COMMAND.
23036
23037 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23038 (pupa_dl_get_prefix): Likewise.
23039
23040 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23041 Added _chain.mod and _linux.mod instead of chain.mod and
23042 linux.mod.
23043 (chain_mod_SOURCES): Renamed to ...
23044 (_chain_mod_SOURCES): ... this.
23045 (chain_mod_CFLAGS): Renamed to ...
23046 (_chain_mod_CFLAGS): ... this.
23047 (linux_mod_SOURCES): Renamed to ...
23048 (_linux_mod_SOURCES): ... this.
23049 (linux_mod_CFLAGS): Renamed to ...
23050 (_linux_mod_CFLAGS): ... this.
23051 (normal_mod_SOURCES): New variable.
23052 (normal_mod_CFLAGS): Likewise.
23053 (normal_mod_ASFLAGS): Likewise.
23054
230552003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23056
23057 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23058 possible.
23059
fe6b695a 23060 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23061 recursively.
23062 (pupa_dl_unref): Unrefer depending modules recursively.
23063 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23064 a module is unloaded before one depending on that module is
23065 unloaded.
23066 (pupa_dl_unload): Unload depending modules explicitly,
23067 if possible.
23068
c04da074 230692003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23070
23071 * include/pupa/i386/pc/linux.h: New file.
23072 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23073
c04da074 23074 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23075 Removed.
23076 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23077 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23078 of PUPA_CHAINLOADER_BOOT_SECTOR.
23079
23080 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23081 (pupa_linux_prot_size): New variable.
23082 (pupa_linux_tmp_addr): Likewise.
23083 (pupa_linux_real_addr): Likewise.
23084 (pupa_linux_boot_zimage): New function.
23085 (pupa_linux_boot_bzimage): Likewise.
23086
23087 * kern/i386/pc/init.c (struct mem_region): New structure.
23088 (MAX_REGIONS): New macro.
23089 (mem_regions): New variable.
23090 (num_regions): Likewise.
23091 (pupa_os_area_addr): Likewise.
23092 (pupa_os_area_size): Likewise.
23093 (pupa_lower_mem): Likewise.
23094 (pupa_upper_mem): Likewise.
23095 (add_mem_region): New function.
23096 (compact_mem_regions): Likewise.
23097 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23098 the size of the conventional memory and that of so-called upper
23099 memory (before the first memory hole).
23100 Instead of adding each found region to free memory, use
23101 add_mem_region and add them after removing overlaps.
23102 Also, add only 1/4 of the upper memory to free memory. The rest
23103 is used for loading OS images. Maybe this is ad hoc, but this
23104 makes it much easier to relocate OS images when booting.
23105
23106 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
23107 (pupa_enter_rescue_mode): Don't register initrd and module.
23108
23109 * kern/mm.c: Include pupa/dl.h.
23110
23111 * kern/main.c: Include pupa/file.h and pupa/device.h.
23112
23113 * kern/loader.c (pupa_loader_load_module_func): Removed.
23114 (pupa_loader_load_module): Likewise.
23115
23116 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
23117 ``.o''.
23118
23119 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
23120 (pupa_linux_tmp_addr): Likewise.
23121 (pupa_linux_real_addr): Likewise.
23122 (pupa_linux_boot_zimage): Likewise.
23123 (pupa_linux_boot_bzimage): Likewise.
23124
23125 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
23126 (pupa_upper_mem): Likewise.
23127 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
23128 module is too dangerous.
23129
23130 * include/pupa/loader.h (pupa_os_area_addr): Declared.
23131 (pupa_os_area_size): Likewise.
23132 (pupa_loader_set): Remove the first argument. Loader doesn't
23133 manage modules or initrd any longer.
23134 (pupa_loader_load_module): Removed.
23135
23136 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
23137 (linux_mod_SOURCES): New variable.
23138 (linux_mod_CFLAGS): Likewise.
23139
a13f9237 231402003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
23141
23142 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
23143 the length of a blocklist correctly.
23144
23145 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
23146 Use ioctl only if the OS file is a block device.
23147 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
23148 not very useful for normal files.
23149
23150 * kern/main.c (pupa_set_root_dev): New function.
23151 (pupa_load_normal_mode): Likewise.
23152 (pupa_main): Call those above.
23153
23154 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
23155 pupa_uint16_t.
23156
23157 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
23158
a5ffe966 231592003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23160
23161 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
23162 (setup): Configure the installed partition information and the
23163 dl prefix.
23164
23165 * loader/i386/pc/chainloader.c (my_mod): New variable.
23166 (pupa_chainloader_unload): New function.
23167 (pupa_rescue_cmd_chainloader): Refer itself.
23168 (PUPA_MOD_INIT): Save its own module in MY_MOD.
23169
23170 * kern/i386/pc/startup.S (install_partition): Removed.
23171 (version_string): Likewise.
23172 (config_file): Likewise.
23173 (pupa_install_dos_part): New variable.
23174 (pupa_install_bsd_part): Likewise.
23175 (pupa_prefix): Likewise.
23176 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
23177
23178 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
23179 and pupa/misc.h.
23180 (make_install_device): New function.
23181 (pupa_machine_init): Set the dl prefix.
23182
23183 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
23184 (buf): Renamed to ...
23185 (linebuf): ... this.
23186 (pupa_rescue_cmd_prefix): New function.
23187 (pupa_rescue_cmd_insmod): Likewise.
23188 (pupa_rescue_cmd_rmmod): Likewise.
23189 (pupa_rescue_cmd_lsmod): Likewise.
23190 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
23191 rmmod and lsmod.
23192
23193 * kern/mm.c (pupa_memalign): If failed even after invalidating
23194 disk caches, unload unneeded modules and retry.
23195
23196 * kern/misc.c (pupa_memmove): New function.
23197 (pupa_memcpy): Removed.
23198 (pupa_strcpy): New function.
23199 (pupa_itoa): Made static.
23200
23201 * kern/dl.c (pupa_dl_iterate): New function.
23202 (pupa_dl_ref): Likewise.
23203 (pupa_dl_unref): Likewise.
23204 (pupa_dl_unload): Return if succeeded or not.
23205 (pupa_dl_unload_unneeded): New function.
23206 (pupa_dl_unload_all): Likewise.
23207 (pupa_dl_init): Renamed to ...
23208 (pupa_dl_set_prefix): ... this.
23209 (pupa_dl_get_prefix): New function.
23210
23211 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
23212 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
23213 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23214 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23215 (pupa_install_dos_part): Declared.
23216 (pupa_install_bsd_part): Likewise.
23217 (pupa_prefix): Likewise.
23218 (pupa_boot_drive): Likewise.
23219
23220 * include/pupa/types.h: Fix a typo.
23221
23222 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
23223 pupa_memmove.
23224 (pupa_memmove): Declared.
23225 (pupa_strcpy): Likewise.
23226
23227 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
23228 pupa_mod_init takes one argument, its own module.
23229 (pupa_dl_unload_unneeded): Declared.
23230 (pupa_dl_unload_all): Likewise.
23231 (pupa_dl_ref): Likewise.
23232 (pupa_dl_unref): Likewise.
23233 (pupa_dl_iterate): Likewise.
23234 (pupa_dl_init): Renamed to ...
23235 (pupa_dl_set_prefix): ... this.
23236 (pupa_dl_get_prefix): Declared.
23237
23238 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 23239 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 23240 unloaded.
23241 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
23242 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
23243
23244 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
23245 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
23246
012d7999 232472003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23248
23249 * util/i386/pc/pupa-setup.c (setup): Define the internal
23250 function find_first_partition_start at the top level, because GCC
23251 3.0.x cannot compile internal functions in deeper scopes
23252 correctly.
23253 (find_root_device): Use lstat instead of stat.
23254 Don't follow symbolic links.
23255 Fix the path-constructing code.
23256
23257 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
23258 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
23259 by a BLKGETSIZE ioctl first, because block devices don't fill
23260 the member st_mode of the structure stat on Linux.
23261 [__linux__] (linux_find_partition): Use a temporary buffer
23262 REAL_DEV for the working space. Copy it to DEV before returning.
23263 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
23264 buffer cache consistent.
23265 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
23266 strncmp. The previous value was merely wrong.
23267 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
23268
23269 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
23270 FAT size is 12. The previous value was merely wrong.
23271
23272 * kern/main.c (pupa_main): Don't split the starting message from
23273 newlines.
23274
23275 * kern/term.c (pupa_putchar): Put CR after LF instead of before
23276 LF, because BIOS goes crazy about character attributes in this
23277 case.
23278
1cc73a62 232792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23280
23281 * include/i386/pc/util/biosdisk.h: New file.
23282 * util/i386/pc/biosdisk.c: Likewise.
23283 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 23284
1cc73a62 23285 * Makefile.in (INCLUDE_DISTFILES): Added
23286 include/pupa/i386/pc/util/biosdisk.h.
23287 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
23288 directory util/i386/pc.
23289 (install-local): Added a rule for sbin_UTILITIES.
23290 (uninstall): Likewise.
23291
23292 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
23293
23294 * util/misc.c (xrealloc): New function.
23295 (pupa_malloc): Likewise.
23296 (pupa_free): Likewise.
23297 (pupa_realloc): Likewise.
23298 (pupa_stop): Likewise.
23299 (pupa_putchar): Likewise.
23300
23301 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
23302
23303 * include/pupa/util/misc.h (xrealloc): Declared.
23304
23305 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
23306 macro.
23307 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
23308 (PUPA_BOOT_MACHINE_BPB_END): ... this.
23309
23310 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
23311 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23312
23313 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
23314 way should be implemented.
23315 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23316
23317 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
23318 the size of NAME for safety.
23319 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
23320 0x88.
23321
23322 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
23323 (pupa_setup_SOURCES): Likewise.
23324
23325 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
23326
08b70fe8 233272002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23328
23329 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
23330 bunch of pushl's from pusha, because this destroys the return
23331 value.
23332
62ddcc8f 233332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23334
23335 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
23336 This means that any missing prototypes could be fatal. Also, you
23337 must take care when writing assembly code. See the comments at
23338 the beginning of startup.S, for more details.
f19dbdb7 23339
62ddcc8f 23340 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
23341 compilation mechanism.
23342 (pupa_chainloader_real_boot): Likewise.
23343 (pupa_biosdisk_rw_int13_extensions): Likewise.
23344 (pupa_biosdisk_rw_standard): Likewise.
23345 (pupa_biosdisk_check_int13_extensions): Likewise.
23346 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
23347 (pupa_biosdisk_get_diskinfo_standard): Likewise.
23348 (pupa_get_memsize): Likewise.
23349 (pupa_get_mmap_entry): Likewise.
23350 (pupa_console_putchar): Likewise.
23351 (pupa_console_setcursor): Likewise.
23352 (pupa_getrtsecs): Use pushl instead of push.
23353
23354 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
23355 memory instead of the stack for a mmap entry, because some
23356 BIOSes may ignore the maximum size and overflow.
23357
23358 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
23359
23360 * genmk.rb (PModule#rule): Compile automatically generated
23361 sources with module-specific CFLAGS as well as other sources.
23362
9962ed99 233632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23364
23365 * configure.ac: Check ld.
23366 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
23367 respectively, before checking endianness and sizes.
23368
23369 * Makefile.in (LD): New variable.
f19dbdb7 23370
abdfc3c5 233712002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23372
23373 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
23374
6a161fa9 233752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23376
23377 * Changelog: New file.
23378