]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
0b8a223c
VS
12010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4 Reported by: Grégoire Sutre
5
92ab12b0
RM
62010-01-11 Robert Millan <rmh.grub@aybabtu.com>
7
8 * util/misc.c (canonicalize_file_name): New function.
9 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10 instead of realpath().
11
a788afb6
CW
122010-01-11 Colin Watson <cjwatson@ubuntu.com>
13
14 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15 and make it clearer that it's optional. Based on confusion
16 witnessed on IRC.
17
ffa8e3d2
VS
182010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21 in premature implicit newline.
22
e9060a9d
VS
232010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26 which resulted in garbled command line at the end of screen.
27
f0d0c0b7
RM
282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29
30 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31 initialization with similar approach as with other Linux loaders.
32
0e60bae7
RM
332010-01-10 Robert Millan <rmh.grub@aybabtu.com>
34
35 Fix i386-ieee1275 build.
36
37 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
38 and grub_term_height() for video_{width,height} initialization.
39
402010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
41
42 Fix grub-emu build.
43
44 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
45
cdb3f378
RM
462010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
472010-01-09 Robert Millan <rmh.grub@aybabtu.com>
48
49 Support for multiple terminals.
50
51 * Makefile.in (pkglib_DATA): terminal.lst.
52 (terminal.lst): New target.
53 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
54 (GRUB_MOD_INIT(handler)): Likewise.
55 (GRUB_MOD_FINI(handler)): Likewise.
56 * commands/help.c (grub_cmd_help): Handle multiple terminals.
57 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
58 * commands/sleep.c (do_print): Use grub_term_restore_pos.
59 (grub_cmd_sleep): Use grub_term_save_pos.
60 * commands/terminal.c: New file.
61 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
62 commands/terminal.c and lib/charset.c.
63 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
64 (pkglib_MODULES): Add terminal.mod.
65 (terminal_mod_SOURCES): New variable.
66 (terminal_mod_CFLAGS): Likewise.
67 (terminal_mod_LDFLAGS): Likewise.
68 * genhandlerlist.sh: Don't handle terminals.
69 * genmk.rb: Generate terminal-*.lst.
70 * genterminallist.sh: New file.
71 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
72 (grub_is_valid_utf8): Likewise.
73 (grub_utf8_to_ucs4_alloc): Likewise.
74 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
75 (grub_menu_register_viewer): Changed argument.
76 (grub_menu_try_text): New proto.
77 (grub_gfxmenu_try_hook): New declaration.
78 * include/grub/normal.h (grub_normal_exit_level): New declaration.
79 (grub_menu_init_page): Additional argument term.
80 (grub_normal_init_page): Likewise.
81 (grub_cmdline_get): Arguments simplified.
82 (grub_utf8_to_ucs4_alloc): Removed.
83 (grub_print_ucs4): Additional argument term.
84 (grub_getstringwidth): Likewise.
85 (grub_print_message_indented): Likewise.
86 (grub_menu_text_register_instances): New proto.
87 (grub_show_menu): Likewise.
88 (read_terminal_list): Likewise.
89 (grub_set_more): Likewise.
90 * include/grub/parser.h: Include handler.h.
91 * include/grub/reader.h: Rewritten.
92 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
93 (GRUB_TERM_WIDTH): Changed to function.
94 (GRUB_TERM_HEIGHT): Likewise.
95 (GRUB_TERM_BORDER_WIDTH): Likewise.
96 (GRUB_TERM_BORDER_HEIGHT): Likewise.
97 (GRUB_TERM_NUM_ENTRIES): Likewise.
98 (GRUB_TERM_ENTRY_WIDTH): Likewise.
99 (GRUB_TERM_CURSOR_X): Likewise.
100 (grub_term_input_class): Likewise.
101 (grub_term_output_class): Likewise.
102 (grub_term_outputs_disabled): New declaration.
103 (grub_term_inputs_disabled): Likewise.
104 (grub_term_outputs): Likewise.
105 (grub_term_inputs): Likewise.
106 (grub_term_register_input): Rewritten.
107 (grub_term_register_output): Likewise.
108 (grub_term_unregister_input): Likewise.
109 (grub_term_unregister_output): Likewise.
110 (FOR_ACTIVE_TERM_INPUTS): New macro.
111 (FOR_DISABLED_TERM_INPUTS): Likewise.
112 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
113 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
114 * include/grub/terminfo.h: Add oterm argument to all protypes.
115 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
116 Use grub_rescue_run.
117 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
118 All users updated.
119 * kern/reader.c: Removed. All users updated.
120 * kern/rescue_reader.c (grub_rescue_init): Removed.
121 (grub_rescue_reader): Likewise.
122 (grub_register_rescue_reader): Likewise.
123 (grub_rescue_run): New function based on kern/reader.c.
124 * kern/term.c: Adapted for multiterm.
125 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
126 (grub_is_valid_utf8): Likewise.
127 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
128 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
129 right terminal.
130 * loader/i386/linux.c (grub_linux_boot): Likewise.
131 * normal/auth.c (grub_username_get): New function.
132 (grub_auth_check_authentication): Use grub_username_get.
133 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
134 * normal/color.c: Adapt for multiterm.
135 * normal/main.c (read_config_file): Don't use grub_reader_loop.
136 (grub_normal_init_page): Additional argument term.
137 (read_lists): Call read_terminal_lists.
138 (grub_enter_normal_mode): Call grub_cmdline_run.
139 Handle grub_normal_exit_level.
140 (grub_cmd_normal): Make reentrant.
141 (grub_cmd_normal_exit): New function.
142 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
143 * normal/menu.c: Adapt for multiterm.
144 * normal/menu_entry.c: Likewise.
145 * normal/menu_text.c: Likewise.
146 * normal/menu_viewer.c: Removed. All users updated.
147 * normal/term.c: New file.
148 * util/console.c: Change order of includes to workaround a bug in
149 ncurses headers.
150 * term/terminfo.c: New argument oterm on all exported functions.
151 All users updated.
152 * util/grub-editenv.c (grub_term_input_class): Removed.
153 (grub_term_output_class): Likewise.
154
1a064917
RM
1552010-01-09 Robert Millan <rmh.grub@aybabtu.com>
156
157 Make loader output a bit more user-friendly.
158
159 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
160 is being loaded. Likewise for the Hurd.
161
162 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
163 that kernel of FreeBSD ${version} is being loaded.
164
165 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
166 grub_dprintf().
167 (grub_cmd_initrd): Likewise.
168 * util/grub.d/10_linux.in (linux_entry): Print message indicating
169 that Linux ${version} is being loaded. Likewise for initrd.
170
5ce0a83a 1712010-01-09 Carles Pina i Estany <carles@pina.cat>
172
173 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
174
809bbfeb 1752010-01-08 Carles Pina i Estany <carles@pina.cat>
176
177 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
178 (GRUB_MOD_INIT): Gettextizze.
179 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
180 (GRUB_MOD_INIT): Gettextizze.
181 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
182 (grub_cmd_linux): Capitalise Linux.
183 (GRUB_MOD_INIT): Gettextizze.
184 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
185 (grub_cmd_linux): Capitalise Linux.
186 (GRUB_MOD_INIT): Gettextizze.
187 * loader/i386/linux.c: Include `<grub/i18n.h>'.
188 (grub_cmd_linux): Capitalise Linux.
189 (GRUB_MOD_INIT): Gettextizze.
190 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
191 (GRUB_MOD_INIT): Gettextizze.
192 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
193 (grub_cmd_linux): Capitalise Linux.
194 (GRUB_MOD_INIT): Gettextizze.
195 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
196 (grub_cpu_xnu_init): Gettextizze.
197 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
198 (GRUB_MOD_INIT): Gettextizze.
199 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
200 (GRUB_MOD_INIT): Gettextizze.
201 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
202 (grub_linux_load64): Capitalise Linux.
203 (GRUB_MOD_INIT): Gettextizze.
204 * loader/xnu.c: Include `<grub/i18n.h>'.
205 (GRUB_MOD_INIT): Gettextizze.
206 * po/POTFILES: Add `loader/efi/appleloader.c',
207 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
208 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
209 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
210 `loader/i386/xnu.c', `loader/multiboot_loader.c',
211 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
212 and `loader/xnu.c'.
213
b394b2ca
RM
2142010-01-08 Robert Millan <rmh.grub@aybabtu.com>
215
216 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
217
2182010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
219
220 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
221 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
222 * util/mkisofs/mkisofs.c (main): Readjust --version output.
223
bc8b32b3
RM
2242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
225
226 Reset Multiboot 2 support. New loader implements the draft in
227 /branches/multiboot2 and shares as much code as possible with the
228 production Multiboot 1 implementation.
229
230 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
231 * loader/multiboot2.c: Likewise.
232 * loader/i386/multiboot_helper.S: Likewise.
233 * include/multiboot2.h: Replace with latest version from the draft
234 in /branches/multiboot2.
235
236 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
237 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
238 and `loader/multiboot2.c'.
239 (pkglib_MODULES): Add `multiboot2.mod'.
240 (multiboot2_mod_SOURCES): New variable.
241 (multiboot2_mod_LDFLAGS): Likewise.
242 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
243
244 * conf/i386-pc.rmk: Likewise.
245
246 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
247 (multiboot_mod_SOURCES): Remove variable.
248 (multiboot_mod_LDFLAGS): Likewise.
249 (multiboot_mod_CFLAGS): Likewise.
250
251 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
252 `<multiboot2.h>' instead of `<multiboot.h>'.
253 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
254 (MULTIBOOT_HEADER_MAGIC): New macros.
255
256 * loader/multiboot_loader.c (module_version_status): Remove variable.
257 (find_multi_boot2_header): Remove function.
258 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
259 logic. Always check for the Multiboot version we're compiling for.
260 (grub_cmd_module_loader): Likewise.
261 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
262 command instead of `multiboot'.
263
5d2c52b8
RM
2642010-01-07 Robert Millan <rmh.grub@aybabtu.com>
265
266 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
267 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
268 all users.
269
53108d92
RM
2702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2712010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Fix breakage introduced with previous commit.
274
275 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
276 commands.
277 * normal/handler.c (read_handler_list): Revert part of previous commit
278 affecting this file.
279 * normal/main.c (read_lists): Move read_handler_list() call back to ...
280 (grub_normal_execute): ... here.
281
e2e936b2
RM
2822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
283
284 Merge prefix-redefinition-fix branch.
285
286 * normal/autofs.c (read_fs_list): Make function capable of being
287 run multiple times, gracefuly replacing the previous data
288 structures.
289 * normal/dyncmd.c (read_command_list): Likewise.
290 * normal/handler.c (read_handler_list): Likewise.
291 * normal/main.c (read_lists): New function. Calls all the
292 list reading functions.
293 (grub_normal_execute): Use read_lists() instead of calling all
294 list reading functions explicitly. Register read_lists() as a
295 variable hook attached to ${prefix}.
296
607a3701
VS
2972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
298
299 Merge crypto branch.
300
301 * Makefile.in (pkglib_DATA): Add crypto.lst.
302 (crypto.lst): New target.
303 * commands/hashsum.c: New file.
304 * commands/password.c (check_password): Use grub_crypto_memcmp.
305 * commands/password_pbkdf2.c: New file.
306 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
307 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
308 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
309 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
310 -I$(srcdir)/lib/libgcrypt_wrap.
311 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
312 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
313 password_pbkdf2.mod.
314 (crypto_mod_SOURCES): New variable.
315 (crypto_mod_CFLAGS): Likewise.
316 (crypto_mod_LDFLAGS): Likewise.
317 (hashsum_mod_SOURCES): New variable.
318 (hashsum_mod_CFLAGS): Likewise.
319 (hashsum_mod_LDFLAGS): Likewise.
320 (pbkdf2_mod_SOURCES): New variable.
321 (pbkdf2_mod_CFLAGS): Likewise.
322 (pbkdf2_mod_LDFLAGS): Likewise.
323 (password_pbkdf2_mod_SOURCES): New variable.
324 (password_pbkdf2_mod_CFLAGS): Likewise.
325 (password_pbkdf2_mod_LDFLAGS): Likewise.
326 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
327 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
328 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
329 Include conf/gcry.rmk.
330 * include/grub/auth.h: Rewritten.
331 * include/grub/crypto.h: New file.
332 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
333 * include/grub/normal.h (read_crypto_list): New prototype.
334 * lib/crypto.c: New file.
335 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
336 * lib/pbkdf2.c: Likewise.
337 * normal/auth.c (grub_auth_strcmp): Removed.
338 (grub_iswordseparator): Likewise.
339 (grub_auth_strword): Likewise.
340 (is_authenticated): Use grub_strword.
341 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
342 and grub_strword. Pass entered password to authentication callback.
343 * normal/crypto.c: New file.
344 * normal/main.c: Call read_crypto_list.
345 * util/grub-mkpasswd-pbkdf2.c: New file.
346 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
347
42841caa
VS
3482010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Fix descent and ascent calculation.
351
352 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
353 (options): New option "asce".
354 (usage): Likewise.
355 (add_char): Ignore invalid glyphs for descent calculation.
356 Calculate ascent from actual content.
357 (print_glyphs): Use 'asce'.
358 (write_font): Likewise. Allow ascent override.
359 (main): Handle "asce" option.
360
e7730de7 3612010-01-06 Carles Pina i Estany <carles@pina.cat>
362
363 * kern/err.c: Include `<grub/i18n.h>'.
364 (grub_print_error): Add full stop. Gettextizze.
365 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
366 (grub_bsd_load_elf): Capitalise ELF.
367 (grub_cmd_freebsd_loadenv): Add `s' in error string.
368 (grub_cmd_freebsd_module): Likewise.
369 (grub_cmd_freebsd_module_elf): Likewise.
370 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
371
40e3a41f 3722010-01-06 Carles Pina i Estany <carles@pina.cat>
373
374 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
375 * commands/search_file.c (HELP_MESSAGE): New macro.
376 * commands/search_label.c (HELP_MESSAGE): Likewise.
377 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
378 * po/POTFILES: Add `commands/search_file.c',
379 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
380 `commands/search.c'.
381
83507e68
RM
3822010-01-05 Robert Millan <rmh.grub@aybabtu.com>
383
384 * config.rpath: Update from Gnulib.
385
465c787b
YB
3862010-01-05 Yves Blusseau <blusseau@zetam.org>
387
388 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
389
6581dd3a
YB
3902010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
391
392 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
393
3bff18c5
CW
3942010-01-05 Colin Watson <cjwatson@ubuntu.com>
395
396 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
397 arguments to fread so that we get a return value in bytes, rather
398 than something that will normally be rounded down to 0.
399 Adjust error handling to avoid producing garbage when size_t is not
400 the same size as long long.
401
a1368118
CW
4022010-01-05 Colin Watson <cjwatson@ubuntu.com>
403
404 * util/mkisofs/write.c (padblock_write): Check return value of
405 fread.
406
7c302978
RM
4072010-01-05 Robert Millan <rmh.grub@aybabtu.com>
408
409 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
410 floppy images now.
411
412 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
413
e33ace06
RM
4142010-01-04 Robert Millan <rmh.grub@aybabtu.com>
415
416 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
417 instead of manual alignment.
418 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
419 verbose). Avoid attempts to read past end of the device
420 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
421 but GRUB_DISK_CACHE_SIZE may exceed that).
422
4b856776
RM
4232010-01-04 Robert Millan <rmh.grub@aybabtu.com>
424
425 * commands/crc.c (grub_cmd_crc): Abort on read errors.
426 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
427 it to upper layer.
428
52c2d97f
VS
4292010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
432 New constant.
433 (grub_efi_piwg_device_path): New structure
434 (grub_efi_piwg_device_path_t): New type.
435 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
436 (devpath_1): Transform to a structure. All users updated.
437 (devpath_2): Likewise.
438 (devpath_3): Likewise.
439 (devpath_4): Likewise.
440 (devpath_5): Likewise.
441
98ff6a54
VS
4422010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * loader/efi/appleloader.c: Restored. Update all users.
445
3a73dcb6
RM
4462010-01-03 Robert Millan <rmh.grub@aybabtu.com>
447
448 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
449
450 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
451 (struct boot_blocklist): Move from here ...
452 * include/grub/i386/pc/boot.h [ASM_FILE]
453 (struct grub_boot_blocklist): ... to here. Update all users.
454 (setup): Only initialize `start' member of `first_block'
455 structure. Add assert() calls to verify the other members.
456
457 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
458 (generate_image): Fix broken blocklist length initialization.
459 Add assert() call to verify blocklist `segment' field.
460
ab0eeb0c
RM
4612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
462
463 * loader/efi/appleloader.c: Remove. Update all users.
464
58bc8bd5
RM
4652010-01-03 Robert Millan <rmh.grub@aybabtu.com>
466
467 * boot/i386/pc/boot.S: Update copyright year.
468 * boot/i386/pc/cdboot.S: Likewise.
469 * boot/i386/pc/diskboot.S: Likewise.
470 * boot/i386/pc/lnxboot.S: Likewise.
471 * boot/i386/pc/pxeboot.S: Likewise.
472 * bus/pci.c: Likewise.
473 * commands/cmp.c: Likewise.
474 * commands/help.c: Likewise.
475 * commands/hexdump.c: Likewise.
476 * commands/i386/pc/halt.c: Likewise.
477 * commands/i386/pc/play.c: Likewise.
478 * commands/i386/pc/vbeinfo.c: Likewise.
479 * commands/ls.c: Likewise.
480 * commands/test.c: Likewise.
481 * disk/dmraid_nvidia.c: Likewise.
482 * disk/i386/pc/biosdisk.c: Likewise.
483 * disk/ieee1275/nand.c: Likewise.
484 * disk/ieee1275/ofdisk.c: Likewise.
485 * disk/lvm.c: Likewise.
486 * disk/raid.c: Likewise.
487 * disk/raid6_recover.c: Likewise.
488 * disk/scsi.c: Likewise.
489 * fs/affs.c: Likewise.
490 * fs/cpio.c: Likewise.
491 * fs/ext2.c: Likewise.
492 * fs/hfs.c: Likewise.
493 * fs/iso9660.c: Likewise.
494 * fs/ntfs.c: Likewise.
495 * fs/sfs.c: Likewise.
496 * fs/udf.c: Likewise.
497 * fs/ufs.c: Likewise.
498 * fs/xfs.c: Likewise.
499 * gencmdlist.sh: Likewise.
500 * genmk.rb: Likewise.
501 * include/grub/disk.h: Likewise.
502 * include/grub/efi/api.h: Likewise.
503 * include/grub/efi/efi.h: Likewise.
504 * include/grub/efi/pe32.h: Likewise.
505 * include/grub/elf.h: Likewise.
506 * include/grub/fs.h: Likewise.
507 * include/grub/i386/at_keyboard.h: Likewise.
508 * include/grub/i386/pc/memory.h: Likewise.
509 * include/grub/i386/pc/vbe.h: Likewise.
510 * include/grub/i386/pci.h: Likewise.
511 * include/grub/i386/tsc.h: Likewise.
512 * include/grub/ieee1275/ieee1275.h: Likewise.
513 * include/grub/ntfs.h: Likewise.
514 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
515 * include/grub/sparc64/libgcc.h: Likewise.
516 * include/grub/symbol.h: Likewise.
517 * include/grub/types.h: Likewise.
518 * include/multiboot2.h: Likewise.
519 * io/gzio.c: Likewise.
520 * kern/device.c: Likewise.
521 * kern/disk.c: Likewise.
522 * kern/efi/efi.c: Likewise.
523 * kern/efi/mm.c: Likewise.
524 * kern/elf.c: Likewise.
525 * kern/file.c: Likewise.
526 * kern/i386/dl.c: Likewise.
527 * kern/i386/pc/init.c: Likewise.
528 * kern/i386/pc/startup.S: Likewise.
529 * kern/ieee1275/ieee1275.c: Likewise.
530 * kern/ieee1275/init.c: Likewise.
531 * kern/main.c: Likewise.
532 * kern/mm.c: Likewise.
533 * kern/powerpc/dl.c: Likewise.
534 * kern/sparc64/dl.c: Likewise.
535 * kern/x86_64/dl.c: Likewise.
536 * lib/hexdump.c: Likewise.
537 * loader/efi/appleloader.c: Likewise.
538 * loader/i386/ieee1275/linux.c: Likewise.
539 * loader/i386/pc/chainloader.c: Likewise.
540 * loader/i386/pc/linux.c: Likewise.
541 * loader/i386/pc/multiboot2.c: Likewise.
542 * loader/ieee1275/multiboot2.c: Likewise.
543 * loader/multiboot2.c: Likewise.
544 * loader/multiboot_loader.c: Likewise.
545 * loader/powerpc/ieee1275/linux.c: Likewise.
546 * normal/completion.c: Likewise.
547 * normal/menu_entry.c: Likewise.
548 * partmap/apple.c: Likewise.
549 * util/grub.d/10_hurd.in: Likewise.
550 * util/hostfs.c: Likewise.
551 * video/readers/png.c: Likewise.
552
e2d70b5c
CW
5532010-01-03 Colin Watson <cjwatson@ubuntu.com>
554
555 * include/grub/misc.h (GNUC_PREREQ): New macro.
556 (ATTRIBUTE_ERROR): New macro.
557 * include/grub/list.h (grub_bad_type_cast_real): Use
558 ATTRIBUTE_ERROR.
559
a173283f 5602010-01-03 Carles Pina i Estany <carles@pina.cat>
561
562 * normal/menu_text.c (print_message): Change messages.
563
7fa7ff74 5642010-01-03 Carles Pina i Estany <carles@pina.cat>
565
566 * normal/menu_entry.c (store_completion): Gettextizze.
567
136d24f6 5682010-01-03 Carles Pina i Estany <carles@pina.cat>
569
570 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
571
f936862e 5722010-01-03 Carles Pina i Estany <carles@pina.cat>
573
574 * po/POTFILES: Sort correctly.
575
29c44ad1 5762010-01-03 Carles Pina i Estany <carles@pina.cat>
577
578 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
579 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
580 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
581 full stop.
582 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
583 summary. Gettextizze the strings.
584 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
585 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
586 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
587 full stop.
588 (GRUB_MOD_INIT): Remove command name from summary.
589 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
590 summary.
591 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
592 * term/i386/pc/serial.c (options): Add full stops.
593 (GRUB_MOD_INIT): Remove command name from the summary.
594
77a79592 5952010-01-03 Carles Pina i Estany <carles@pina.cat>
596
597 * commands/acpi.c: Gettextizze help strings and/or options. Include
598 `grub/i18n.h' if needed.
599 * commands/blocklist.c: Likewise.
600 * commands/boot.c: Likewise.
601 * commands/cat.c: Likewise.
602 * commands/cmp.c: Likewise.
603 * commands/configfile.c: Likewise.
604 * commands/crc.c: Likewise.
605 * commands/date.c: Likewise.
606 * commands/echo.c: Likewise.
607 * commands/efi/fixvideo.c: Likewise.
608 * commands/efi/loadbios.c: Likewise.
609 * commands/gptsync.c: Likewise.
610 * commands/halt.c: Likewise.
611 * commands/handler.c: Likewise.
612 * commands/hdparm.c: Likewise.
613 * commands/hexdump.c: Likewise.
614 * commands/i386/cpuid.c: Likewise.
615 * commands/i386/pc/drivemap.c: Likewise.
616 * commands/i386/pc/halt.c: Likewise.
617 * commands/i386/pc/pxecmd.c: Likewise.
618 * commands/i386/pc/vbeinfo.c: Likewise.
619 * commands/i386/pc/vbetest.c: Likewise.
620 * commands/ieee1275/suspend.c: Likewise.
621 * commands/keystatus.c: Likewise.
622 * commands/loadenv.c: Likewise.
623 * commands/ls.c: Likewise.
624 * commands/lsmmap.c: Likewise.
625 * commands/lspci.c: Likewise.
626 * commands/memrw.c: Likewise.
627 * commands/minicmd.c: Likewise.
628 * commands/parttool.c: Likewise.
629 * commands/password.c: Likewise.
630 * commands/probe.c: Likewise.
631 * commands/read.c: Likewise.
632 * commands/reboot.c: Likewise.
633 * commands/search.c: Likewise.
634 * commands/sleep.c: Likewise.
635 * commands/test.c: Likewise.
636 * commands/true.c: Likewise.
637 * commands/usbtest.c: Likewise.
638 * commands/videotest.c: Likewise.
639 * commands/xnu_uuid.c: Likewise.
640 * disk/loopback.c: Likewise.
641 * hello/hello.c: Likewise.
642 * loader/i386/bsd.c: Likewise.
643 * term/i386/pc/serial.c: Likewise.
644 * po/POTFILES: Add new files.
645
da8d5c53
CW
6462010-01-02 Colin Watson <cjwatson@ubuntu.com>
647
648 * term/i386/pc/at_keyboard.c
649 (keyboard_controller_wait_untill_ready): Rename to ...
650 (keyboard_controller_wait_until_ready): ... this. Update all users.
651
33937904 6522010-01-01 Carles Pina i Estany <carles@pina.cat>
653
654 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
655 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
656 string using string width.
657 * normal/menu_text.c (grub_print_message_indented): Use
658 grub_print_spaces and not print_spaces.
659 (print_timeout): Likewise.
660 (print_spaces): Move to...
661 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
662
3fd3b8d8
RM
6632010-01-01 Robert Millan <rmh.grub@aybabtu.com>
664
665 Import from Gnulib.
666
667 * gnulib/getdelim.c: New file.
668 * gnulib/getline.c: Likewise.
669
33433555
VS
6702009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
671
672 * include/grub/list.h (grub_assert_fail): Removed.
673 (grub_bad_type_cast_real): New function.
674 (grub_bad_type_cast): New macro.
675 (GRUB_AS_LIST): Use grub_bad_type_cast.
676 (GRUB_AS_LIST_P): Likewise.
e44721e8 677 (GRUB_AS_NAMED_LIST): Likewise.
33433555 678 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 679 (GRUB_AS_PRIO_LIST): Likewise.
33433555 680 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 681 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 682
f5a51306
VS
6832009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
686 Fix syntax error.
687
90d1e879
RM
6882009-12-29 Robert Millan <rmh.grub@aybabtu.com>
689
690 * configure.ac: Check for TARGET_CFLAGS initialization before we
691 initialize it ourselves (sigh).
692 Move a few modifications to TARGET_CFLAGS to be unconditional
693 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
694 eh_frame)
695
696 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
697 * term/i386/pc/at_keyboard.c
698 (keyboard_controller_wait_untill_ready): Likewise.
699 (keyboard_controller_led): Rename `led_status' paramter to avoid
700 name conflict.
701
465b5a81 7022009-12-28 Carles Pina i Estany <carles@pina.cat>
703
704 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
705 quotes.
706
c181849b
VS
7072009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
710
9c8739a4
VS
7112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * normal/menu_text.c (grub_print_message_indented): Prevent
714 past-the-end-of-array dereference.
715
3e74249c
VS
7162009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
719 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
720
64fd18ed 7212009-12-27 Carles Pina i Estany <carles@pina.cat>
722
723 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
724 * normal/main.c (grub_normal_read_line): Remove a space from the
725 default prompt.
726
714af9b9 7272009-12-27 Carles Pina i Estany <carles@pina.cat>
728
729 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
730 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
731 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
732 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
733 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
734 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
735 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
736
82f3e412 7372009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 738
739 * video/readers/jpeg.c (cmd): Declare.
740 (grub_cmd_jpegtest): 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/png.c (cmd): Declare.
745 (grub_cmd_pngtest): 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 * video/readers/tga.c (cmd): Declare.
750 (grub_cmd_tgatest): Use `grub_command_t' type.
751 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
752 Assign to `cmd'.
753 (GRUB_MOD_FINI): Use `cmd' to unregister.
754
82f3e412 7552009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 756
757 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
758 stops.
759 * kern/corecmd.c (grub_register_core_commands): Likewise.
760 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
761 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
762 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
763 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
764 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
765 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
766 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
767 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
768 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
769 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
770 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
771 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
772 * normal/handler.c (insert_handler): Likewise.
773 * normal/main.c (GRUB_MOD_INIT): Likewise.
774 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
775
fdcdbb66 7762009-12-26 Carles Pina i Estany <carles@pina.cat>
777
778 * commands/help.c (grub_cmd_help): Print the command name before the
779 summary.
780 (GRUB_MOD_INIT): Remove command name from the summary.
781 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 782 string as summary.
fdcdbb66 783 * lib/arg.c (find_long): Print the command name before the summary.
784 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
785 summary.
786 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
787 * commands/cat.c (GRUB_MOD_INIT): Likewise.
788 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
789 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
790 * commands/crc.c (GRUB_MOD_INIT): Likewise.
791 * commands/date.c (GRUB_MOD_INIT): Likewise.
792 * commands/echo.c (GRUB_MOD_INIT): Likewise.
793 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
794 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
795 * commands/handler.c (GRUB_MOD_INIT): Likewise.
796 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
797 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
798 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
799 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
800 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
801 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
802 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
803 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
804 * commands/ls.c (GRUB_MOD_INIT): Likewise.
805 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
806 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
807 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
808 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
809 * commands/password.c (GRUB_MOD_INIT): Likewise.
810 * commands/probe.c (GRUB_MOD_INIT): Likewise.
811 * commands/read.c (GRUB_MOD_INIT): Likewise.
812 * commands/search.c (GRUB_MOD_INIT): Likewise.
813 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
814 * commands/test.c (GRUB_MOD_INIT): Likewise.
815 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
816 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
817 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
818 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
819 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
820 * lib/arg.c (GRUB_MOD_INIT): Likewise.
821 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
822 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
823 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
824 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
825 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
826 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
827 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
828 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
829
9c288be2
VS
8302009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Use search command for preliminar UUID search.
833
834 * commands/search.c: Split into ...
835 * commands/search_wrap.c: ...this
836 * commands/search.c: ...and this.
837 * commands/search_file.c: New file.
838 * commands/search_label.c: New file.
839 * commands/search_uuid.c: New file.
840 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
841 Add commands/search_wrap.c, commands/search_file.c,
842 commands/search_label.c and commands/search_uuid.c.
843 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
844 (search_mod_SOURCES): Set to commands/search_wrap.c.
845 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
846 search_label.mod.
847 (search_fs_file_mod_SOURCES): New variable.
848 (search_fs_file_mod_CFLAGS): Likewise.
849 (search_fs_file_mod_LDFLAGS): Likewise.
850 (search_label_mod_SOURCES): Likewise.
851 (search_label_mod_CFLAGS): Likewise.
852 (search_label_mod_LDFLAGS): Likewise.
853 (search_fs_uuid_mod_SOURCES): New variable.
854 (search_fs_uuid_mod_CFLAGS): Likewise.
855 (search_fs_uuid_mod_LDFLAGS): Likewise.
856 (fs_file_mod_SOURCES): Removed.
857 (fs_file_mod_CFLAGS): Likewise.
858 (fs_file_mod_LDFLAGS): Likewise.
859 (fs_uuid_mod_SOURCES): Removed.
860 (fs_uuid_mod_CFLAGS): Likewise.
861 (fs_uuid_mod_LDFLAGS): Likewise.
862 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
863 Set to util/grub-install.in.
864 * disk/fs_file.c: Removed.
865 * disk/fs_uuid.c: Likewise.
866 * include/grub/search.h: New file.
867 * util/grub-install.in: Handle sparc64.
868 Create and use load.cfg.
869 * util/sparc64/ieee1275/grub-install.in: Removed.
870
db943399
VS
8712009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
874 Ignore return status if CF is cleared.
875 (grub_biosdisk_get_diskinfo_standard): Likewise.
876
3fdae612
RM
8772009-12-25 Robert Millan <rmh.grub@aybabtu.com>
878
879 * term/i386/pc/at_keyboard.c
880 (keyboard_controller_wait_untill_ready): New function.
881 (grub_keyboard_controller_write, grub_keyboard_controller_read)
882 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
883 for keyboard polling, rather than duplicate the same loop. This
884 saves a few bytes in code size.
885
7ebaa2b4
VS
8862009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Support for (pxe[:server[:gateway]]) syntax and
889 use environment variable for PXE.
890
891 * commands/i386/pc/pxecmd.c (options): Removed.
892 (print_ip): Removed.
893 (grub_cmd_pxe): Removed
894 (grub_cmd_pxe_unload): New function.
895 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
896 (grub_pxe_your_ip): Made static.
897 (grub_pxe_default_server_ip): Likewise.
898 (grub_pxe_default_gateway_ip): Likewise.
899 (grub_pxe_blksize): Likewise.
900 (parse_ip): New function.
901 (grub_pxe_open): Support server and gateway specification.
902 (grub_pxe_close): Free disk->data.
903 (grub_pxefs_open): Use disk->data.
904 (grub_pxefs_read): Likewise.
905 (grub_env_write_readonly): New function.
906 (set_mac_env): Likewise.
907 (set_env_limn_ro): Likewise.
908 (parse_dhcp_vendor): Likewise.
909 (grub_pxe_detect): Set the environment variables.
910 (set_ip_env): New function.
911 (write_ip_env): Likewise.
912 (grub_env_write_pxe_default_server): Likewise.
913 (grub_env_write_pxe_default_gateway): Likewise.
914 (grub_env_write_pxe_blocksize): Likewise.
915 (GRUB_MOD_INIT(pxe)): Set environment variables.
916 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
917 (grub_pxe_mac_addr_t): ... this. All users updated.
918 (grub_pxe_your_ip): Removed.
919 (grub_pxe_server_ip): Likewise.
920 (grub_pxe_gateway_ip): Likewise.
921 (grub_pxe_blksize): Likewise.
922
ec5f98ab 9232009-12-25 Carles Pina i Estany <carles@pina.cat>
924
925 * commands/help.c: Include `<grub/i18n.h>'.
926 (grub_cmd_help): Gettextizze.
927 (GRUB_MOD_INIT): Likewise.
928 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
929 (GRUB_MOD_INIT): Gettextizze.
930 * commands/search.c: Include `<grub/i18n.h>'.
931 (options): Gettextizze.
932 (GRUB_MOD_INIT): Gettextizze.
933 * lib/arg.c: Include `<grub/i18n.h>'.
934 (help_options): Gettextizze.
935 (find_long): Likewise.
936 (grub_arg_show_help): Likewise.
937 * normal/dyncmd.c: Include `<grub/i18n.h>'.
938 (read_command_list): Gettextizze.
939 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 940 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 941
22815526
RM
9422009-12-25 Robert Millan <rmh.grub@aybabtu.com>
943
944 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
945 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
946 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
947 (led_status): New variable.
948 (keyboard_controller_led): New function.
949 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
950 update led status for caps lock, num lock and scroll lock.
951
0ad46fd7
FZ
9522009-12-25 Felix Zielcke <fzielcke@z-51.de>
953
954 * util/hostdisk.c (open_device): Fix a comment.
955
d0e158c2
RM
9562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
957
958 * util/grub-install.in (host_os): New variable.
959 * util/i386/efi/grub-install.in (host_os): Likewise.
960
401c0ad6
RM
9612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
962
963 * util/mkisofs/write.c (padblock_write): Abort when given an
964 excedingly large embed image, instead of silently truncating it.
965
d14d3370
RM
9662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
967
968 * include/multiboot.h: Indentation fixes.
969
eeed10b4
RM
9702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
971
972 * include/multiboot.h (struct multiboot_aout_symbol_table)
973 (struct multiboot_elf_section_header_table): New structure
974 declarations (stolen from GRUB Legacy).
975 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
976 table information.
977
978 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
979 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
980 type aliases.
981
681c70ab
RM
9822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
983
984 * include/multiboot.h: Make comments src2texi-friendly.
985
e4d47d8d
RM
9862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
987
988 For consistency with [multiboot]/docs/boot.S.
989
990 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
991 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
992 (MULTIBOOT_MAGIC2): Rename from this ...
993 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
994
a0b70bda
RM
9952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
996
997 * include/multiboot.h: Remove `<grub/types.h>'.
998 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
999 types. Update all users.
1000
61ba42be 10012009-12-25 Carles Pina i Estany <carles@pina.cat>
1002
1003 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
1004 `couldn't' and `can not' by `cannot'.
1005 * commands/i386/pc/drivemap.c: Likewise.
1006 * disk/ata.c: Likewise.
1007 * disk/ieee1275/nand.c: Likewise.
1008 * fs/affs.c: Likewise.
1009 * fs/fat.c: Likewise.
1010 * fs/hfs.c: Likewise.
1011 * fs/hfsplus.c: Likewise.
1012 * fs/iso9660.c: Likewise.
1013 * fs/jfs.c: Likewise.
1014 * fs/minix.c: Likewise.
1015 * fs/reiserfs.c: Likewise.
1016 * fs/sfs.c: Likewise.
1017 * fs/udf.c: Likewise.
1018 * fs/ufs.c: Likewise.
1019 * fs/xfs.c: Likewise.
1020 * loader/powerpc/ieee1275/linux.c: Likewise.
1021 * loader/sparc64/ieee1275/linux.c: Likewise.
1022 * util/grub-probe.c: Likewise.
1023 * util/misc.c: Likewise.
1024
7fd0baee 10252009-12-24 Carles Pina i Estany <carles@pina.cat>
1026
1027 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1028 grub_errno calls.
1029 * commands/acpi.c: Likewise.
1030 * commands/blocklist.c: Likewise.
1031 * commands/efi/loadbios.c: Likewise.
1032 * commands/i386/pc/drivemap.c: Likewise.
1033 * commands/loadenv.c: Likewise.
1034 * commands/memrw.c: Likewise.
1035 * commands/password.c: Likewise.
1036 * commands/videotest.c: Likewise.
1037 * disk/ata.c: Likewise.
1038 * disk/ata_pthru.c: Likewise.
1039 * disk/dmraid_nvidia.c: Likewise.
1040 * disk/ieee1275/nand.c: Likewise.
1041 * disk/ieee1275/ofdisk.c: Likewise.
1042 * disk/loopback.c: Likewise.
1043 * disk/lvm.c: Likewise.
1044 * disk/mdraid_linux.c: Likewise.
1045 * disk/raid.c: Likewise.
1046 * disk/raid6_recover.c: Likewise.
1047 * disk/scsi.c: Likewise.
1048 * efiemu/main.c: Likewise.
1049 * efiemu/mm.c: Likewise.
1050 * efiemu/pnvram.c: Likewise.
1051 * efiemu/symbols.c: Likewise.
1052 * font/font.c: Likewise.
1053 * fs/cpio.c: Likewise.
1054 * fs/hfsplus.c: Likewise.
1055 * fs/iso9660.c: Likewise.
1056 * fs/jfs.c: Likewise.
1057 * fs/minix.c: Likewise.
1058 * fs/ntfs.c: Likewise.
1059 * fs/ntfscomp.c: Likewise.
1060 * fs/reiserfs.c: Likewise.
1061 * fs/ufs.c: Likewise.
1062 * fs/xfs.c: Likewise.
1063 * gettext/gettext.c: Likewise.
1064 * include/grub/auth.h: Likewise.
1065 * kern/elf.c: Likewise.
1066 * kern/file.c: Likewise.
1067 * kern/ieee1275/init.c: Likewise.
1068 * kern/ieee1275/mmap.c: Likewise.
1069 * kern/ieee1275/openfw.c: Likewise.
1070 * kern/powerpc/dl.c: Likewise.
1071 * kern/sparc64/dl.c: Likewise.
1072 * lib/arg.c: Likewise.
1073 * loader/i386/bsd.c: Likewise.
1074 * loader/i386/bsdXX.c: Likewise.
1075 * loader/i386/efi/linux.c: Likewise.
1076 * loader/i386/efi/xnu.c: Likewise.
1077 * loader/i386/ieee1275/linux.c: Likewise.
1078 * loader/i386/linux.c: Likewise.
1079 * loader/i386/multiboot.c: Likewise.
1080 * loader/i386/pc/linux.c: Likewise.
1081 * loader/i386/pc/multiboot2.c: Likewise.
1082 * loader/i386/xnu.c: Likewise.
1083 * loader/ieee1275/multiboot2.c: Likewise.
1084 * loader/macho.c: Likewise.
1085 * loader/machoXX.c: Likewise.
1086 * loader/multiboot2.c: Likewise.
1087 * loader/multiboot_loader.c: Likewise.
1088 * loader/powerpc/ieee1275/linux.c: Likewise.
1089 * loader/sparc64/ieee1275/linux.c: Likewise.
1090 * loader/xnu.c: Likewise.
1091 * loader/xnu_resume.c: Likewise.
1092 * mmap/i386/pc/mmap.c: Likewise.
1093 * normal/menu_viewer.c: Likewise.
1094 * partmap/acorn.c: Likewise.
1095 * partmap/amiga.c: Likewise.
1096 * partmap/apple.c: Likewise.
1097 * script/lexer.c: Likewise.
1098 * term/gfxterm.c: Likewise.
1099 * term/i386/pc/serial.c: Likewise.
1100 * term/i386/pc/vga.c: Likewise.
1101 * term/ieee1275/ofconsole.c: Likewise.
1102 * term/terminfo.c: Likewise.
1103 * video/bitmap.c: Likewise.
1104 * video/efi_gop.c: Likewise.
1105 * video/efi_uga.c: Likewise.
1106 * video/fb/video_fb.c: Likewise.
1107 * video/i386/pc/vbe.c: Likewise.
1108 * video/readers/tga.c: Likewise.
1109 * video/video.c: Likewise.
1110
0ad46fd7 11112009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
1112
1113 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
1114 * commands/lspci.c: Likewise.
1115 * commands/probe.c: Likewise.
1116 * commands/xnu_uuid.c: Likewise.
1117 * conf/i386-coreboot.rmk: Likewise.
1118 * conf/i386-efi.rmk: Likewise.
1119 * conf/i386-ieee1275.rmk: Likewise.
1120 * conf/i386-pc.rmk: Likewise.
1121 * conf/powerpc-ieee1275.rmk: Likewise.
1122 * conf/sparc64-ieee1275.rmk: Likewise.
1123 * conf/x86_64-efi.rmk: Likewise.
1124 * fs/i386/pc/pxe.c: Likewise.
1125 * gettext/gettext.c: Likewise.
1126 * include/grub/efi/graphics_output.h: Likewise.
1127 * include/grub/i386/pc/memory.h: Likewise.
1128 * kern/env.c: Likewise.
1129 * kern/i386/qemu/startup.S: Likewise.
1130 * lib/i386/pc/biosnum.c: Likewise.
1131 * lib/i386/relocator.c: Likewise.
1132 * lib/i386/relocator_asm.S: Likewise.
1133 * lib/relocator.c: Likewise.
1134 * loader/i386/bsd.c: Likewise.
1135 * loader/i386/multiboot.c: Likewise.
1136 * loader/i386/pc/chainloader.c: Likewise.
1137 * loader/i386/xnu.c: Likewise.
1138 * loader/xnu.c: Likewise.
1139 * normal/main.c: Likewise.
1140 * normal/menu_text.c: Likewise.
1141 * util/getroot.c: Likewise.
1142 * util/grub-mkconfig_lib.in: Likewise.
1143 * util/grub.d/00_header.in: Likewise.
1144 * util/i386/pc/grub-mkimage.c: Likewise.
1145 * util/mkisofs/eltorito.c: Likewise.
1146 * util/mkisofs/exclude.h: Likewise.
1147 * util/mkisofs/hash.c: Likewise.
1148 * util/mkisofs/iso9660.h: Likewise.
1149 * util/mkisofs/joliet.c: Likewise.
1150 * util/mkisofs/mkisofs.c: Likewise.
1151 * util/mkisofs/mkisofs.h: Likewise.
1152 * util/mkisofs/multi.c: Likewise.
1153 * util/mkisofs/name.c: Likewise.
1154 * util/mkisofs/rock.c: Likewise.
1155 * util/mkisofs/tree.c: Likewise.
1156 * util/mkisofs/write.c: Likewise.
1157 * video/efi_gop.c: Likewise.
1158
009ec743
VS
11592009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
1162 size counting.
1163
0ad46fd7 11642009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
1165
1166 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
1167 * genmk.rb (class SCRIPT): Modify the target file instead of source.
1168
d3d30ea0
VS
11692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
1172 (GRUB_MOD_INIT(memrw)): Update help line.
1173
a34f5c70
VS
11742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
1177 Use grub_extcmd_t. All users updated.
1178 (options): New variable.
1179 (grub_cmd_read): Restructure for readability. Support "-v" option.
1180 (grub_cmd_write): Restructure for readability.
1181
0ad46fd7 11822009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
1183
1184 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
1185
0ad46fd7 11862009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
1187
1188 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
1189 with the actual contents of the correspondending make variable.
1190 * util/grub-mkrescue.in (pkglib_DATA): New variable.
1191 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
1192 specifying `*.lst' and `efiemu??.o'
1193
0ad46fd7 11942009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
1195
1196 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
1197 after function name.
1198 Noticed by Rene Engelhard <rene@debian.org>.
1199
dc77a799
VS
12002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
1203 (options): New variable.
1204 (iospace): Likewise.
1205 (grub_lspci_iter): List IO spaces if "-i" was given.
1206 (grub_cmd_lspci): Parse options.
1207 (GRUB_MOD_INIT(lspci)): Use extcmd.
1208 (GRUB_MOD_FINI(lspci)): Likewise.
1209
0ad46fd7 12102009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
1211
1212 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
1213 `function' keyword.
1214 Patch by Tony Mancill <tmancill@debian.org>.
1215
b5d5993b
VS
12162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
1219 (grub_uhci_portstatus): Likewise.
1220 (grub_uhci_portstatus): Add necessary delay.
11d18281 1221 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 1222
941903f2 12232009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 1224
941903f2 1225 * commands/acpi.c (options): Fix capitalizations and/or full stops.
1226 (GRUB_MOD_INIT): Likewise.
1227 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 1228 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
1229 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 1230 * commands/efi/loadbios.c (enable_rom_area): Likewise.
1231 (enable_rom_area): Likewise.
1232 (GRUB_MOD_INIT): Likewise.
1233 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1234 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
1235 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1236 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
1237 * commands/hexdump.c (options): Likewise.
1238 * commands/i386/cpuid.c (options): Likewise.
1239 (GRUB_MOD_INIT): Likewise.
1240 * commands/i386/pc/drivemap.c (options): Likewise.
1241 (GRUB_MOD_INIT): Likewise.
1242 * commands/i386/pc/halt (options): Likewise.
1243 (GRUB_MOD_INIT): Likewise.
1244 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1245 * commands/i386/pc/pxecmd.c (options): Likewise.
1246 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
1247 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
1248 * commands/keystatus.c (options): Likewise.
1249 (GRUB_MOD_INIT): Likewise.
1250 * commands/loadenv.c (options): Likewise.
1251 * commands/ls.c (options): Likewise.
1252 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1253 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1254 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1255 * commands/parttool.c (helpmsg): Likewise.
1256 * commands/probe.c (options): Likewise.
1257 * commands/read.c (GRUB_MOD_INIT): Likewise.
1258 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
1259 * commands/search.c (options): Likewise.
1260 * commands/sleep.c (options): Likewise.
1261 * commands/test.c (GRUB_MOD_INIT): Likewise.
1262 * commands/true.c (GRUB_MOD_INIT): Likewise.
1263 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
1264 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
1265 * lib/arg.c (help_options): Likewise.
e9bbb4e7 1266 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
1267 `$(XGETTEXT)'.
98a50553 1268 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 1269
0ad46fd7 12702009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 1271
ef3c2c3a 1272 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
1273 instead of specifying them explicit.
1274
7922f68b
RM
12752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1276
1277 * NEWS: Add grub-probe support for GNU/Hurd.
1278
537ce47f
RM
12792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1280
1281 * NEWS: gettext was added after 1.97.
1282
9b214e3a
RM
12832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1284
1285 * util/mkisofs/msdos_partition.h: New file (based on
1286 include/grub/msdos_partition.h).
1287 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
1288 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
1289 (ld_options, main): Recognize --protective-msdos-label.
1290 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
1291 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
1292 (padblock_write): If `use_protective_msdos_label' is set, patch a
1293 protective DOS-style label in the output image.
1294
1295 * util/grub-mkrescue.in: Use --protective-msdos-label.
1296
e9309813
RM
12972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1298
1299 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
1300 boot.
1301
0ae56929
RM
13022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1303
1304 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
1305 variables.
1306 (ld_options, main): Recognize `--embedded-boot'.
1307 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
1308 declarations.
1309 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
1310 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
1311 (padblock_write): Likewise. Rewrite to support embedded boot image.
1312
1313 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
1314 for BIOS-based disk boot instead of only ElTorito.
1315
b15937b1
RM
13162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1317
1318 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
1319 build (not needed for bootstrap).
1320
52cc3ce0
RM
13212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1322
1323 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
1324 from i386-pc build (not needed for bootstrap).
1325 Rewrite a pair of strings.
1326
36f5ff04
RM
13272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1328
1329 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
1330
973c6c85 13312009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
1332
1333 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
1334
05d21547
AB
13352009-12-21 Andreas Born <futur.andy@googlemail.com>
1336
1337 * kern/env.c (grub_env_context_open): Mark exported variable for
1338 reexport.
1339
0175d51f
AB
13402009-12-21 Andreas Born <futur.andy@googlemail.com>
1341
1342 * kern/env.c (grub_env_export): Create nonexistent variables before
1343 exporting.
1344
7f39d92f 13452009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 1346
7f39d92f 1347 * include/grub/auth.h: Include `<grub/i18n.h>'.
1348 (GRUB_GET_PASSWORD): Gettextizze string.
1349 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
1350 menu_text.c.
1351 (grub_utf8_to_ucs4_alloc): Fix indentation.
1352 (grub_print_ucs4): Likewise.
1353 (grub_getstringwidth): Likewise.
1354 (print_message_indented): New declaration.
1355 * normal/auth.c: Include `<grub/i18n.h>'.
1356 (grub_auth_check_authentication): Gettexttize string.
1357 * normal/cmdline.c: Include `<grub/i18n.h>'.
1358 (grub_cmdline_get): Gettextizze.
1359 * normal/color.c: Include `<grub/i18n.h>'.
1360 (grub_parse_color_name_pair): Gettexttize strings.
1361 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
1362 string (use `print_message_indented').
1363 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
1364 `include/grub/normal.h'.
1365 (print_message_indented): Renamed to ...
1366 (grub_print_message_indented): ... this. Remove `static' qualifer (now
1367 used in normal/main.c).
1368 (print_message): Use `grub_print_message_indented' instead of
1369 `print_message_indented'.
1370 (print_timeout): Likewise.
1371 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
1372 (grub_normal_print_device_info): Gettexttize strings.
1373 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
1374
3041d898
VS
13752009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
1378 of arguments. Return number of tokens and not arguments. All users
1379 updated.
1380
de15bf8e
VS
13812009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
1384 non-MSDOS paritions.
1385
e0a6ca52
VS
13862009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * include/grub/types.h (UNUSED): Removed since it conflicts with
1389 NetBSD headers. All users changed to direct __attribute__ ((unused)).
1390 Reported by Grégoire Sutre.
1391
b99518d1 13922009-12-19 Carles Pina i Estany <carles@pina.cat>
1393
1394 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
1395 (grub_print_ucs4_alloc): Likewise.
1396 (grub_getstringwidth): Likewise.
1397 * normal/main.c (grub_normal_init_page): Gettextize version string.
1398 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
1399 (getstringwidth): Renamed to ...
1400 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
1401 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
1402 (grub_print_ucs4): Remove `static' qualifer (now used in
1403 normal/main.c).
1404 * po/POTFILES: Add normal/main.c.
1405
bfd5e52b 14062009-12-19 Carles Pina i Estany <carles@pina.cat>
1407
1408 * normal/menu_text.c (STANDARD_MARGIN): New macro.
1409 (print_message_indented): Add `margin_left' and `margin_right'
1410 parameters.
1411 (print_message): Update `print_message_indented' calls. Adds '\n' to the
1412 strings.
1413 (print_timeout): Use `print_message_indented' to print the message.
1414 Deletes `second_stage' parameter.
1415 (run_menu): Update `print_timeout' calls.
1416
5a1ad2b9
VS
14172009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Fix console palette on OpenFirmware.
1420
1421 * term/ieee1275/ofconsole.c (MAX): Removed.
1422 (colors): Redone based on VGA palette.
1423 (grub_ofconsole_setcolor): Discard brightness bit since only 8
1424 colors are supported.
1425 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
1426
b045f00a
VS
14272009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 Fix potential EfiEmu double prepare.
1430
1431 * efiemu/main.c (prepared): New variable
1432 (grub_efiemu_unload): Set prepare to '0'.
1433 (grub_efiemu_prepare): Return if already prepared. Set prepared.
1434
1435 set_virtual_address_map support.
1436
1437 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
1438 prototype.
1439 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
1440 prototype.
1441 (grub_efiemu_crc32): Likewise.
1442 (grub_efiemu_crc64): Likewise.
1443 (grub_efiemu_set_virtual_address_map): Likewise.
1444 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
1445 New definition.
1446 (grub_autoefi_set_virtual_address_map): Likewise.
1447 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
1448 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
1449 Restructure flow to accomodate it.
1450 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
1451 (grub_efiemu_crc): Recompute CRC32.
1452 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
1453 (efiemu_ptv_relocated): ... this. Made global. All users updated.
1454 * efiemu/symbols.c (relocated_handle): New variable.
1455 (grub_efiemu_free_syms): Free relocated_handle.
1456 (grub_efiemu_alloc_syms): Allocate relocated_handle.
1457 (grub_efiemu_write_sym_markers): New function.
1458 (grub_efiemu_set_virtual_address_map): Likewise.
1459
1460 Newer XNU parameters.
1461
1462 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
1463 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
1464 (grub_xnu_fill_devicetree): New prototype.
1465 (grub_xnu_heap_real_start): New variable.
1466 * loader/xnu.c (get_name_ptr): New function.
1467 (grub_xnu_load_driver): Fill namelen and name.
1468
1469 64-bit xnu support.
1470
1471 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
1472 and 'loader/macho64.c'.
1473 * conf/i386-pc.rmk: Likewise.
1474 * conf/x86_64-efi.rmk: Likewise.
1475 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
1476 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
1477 * include/grub/macho.h (grub_macho_segment64): New structure.
1478 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
1479 (grub_macho_size32): ... to this.
1480 (grub_macho32_get_entry_point): Renamed from ...
1481 (grub_macho_get_entry_point32): ... to this.
1482 (grub_macho_contains_macho64): New prototype.
1483 (grub_macho_size64): Likewise.
1484 (grub_macho_get_entry_point64): Likewise.
1485 (grub_macho32_load): Renamed from ...
1486 (grub_macho_load32): ... to this.
1487 (grub_macho32_filesize): Renamed from ...
1488 (grub_macho_filesize32): ... to this.
1489 (grub_macho32_readfile): Renamed from ...
1490 (grub_macho_readfile32): ... to this.
1491 (grub_macho_filesize64): New prototype.
1492 (grub_macho_readfile64): Likewise.
1493 (grub_macho_parse32): Likewise.
1494 (grub_macho_parse64): Likewise.
1495 * loader/macho.c: Split into ...
1496 * loader/machoXX.c: ... and this. Replace 32 with XX.
1497 * loader/macho32.c: New file.
1498 * loader/macho64.c: Likewise.
1499 * loader/xnu.c (grub_xnu_is_64bit): New variable.
1500 (grub_cmd_xnu_kernel): Make 32-bit only.
1501 (grub_cmd_xnu_kernel64): New function.
1502 (grub_xnu_load_driver): Support Mach-O 64.
1503 (grub_cmd_xnu_mkext): Likewise.
1504 * util/grub.d/30_os-prober.in (osx_entry): New function.
1505 Generate entries for 64-bit boot too.
1506
1507 Eliminate ad-hoc tree format in XNU and EfiEmu.
1508
1509 * efiemu/main.c (grub_efiemu_prepare): Update comment.
1510 * efiemu/pnvram.c: Rewritten to use environment variables.
1511 All users updated.
1512
1513 Inline utf16_to_utf8.
1514
1515 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
1516 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
1517 All users updated.
1518 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
1519
1520 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
1521 * commands/usbtest.c (grub_usb_get_string): ... move here.
1522 (usb_print_str): Fix error handling.
1523 * include/grub/usb.h (grub_usb_get_string): Remove.
1524
1525 UTF-8 to UTF-16 transformation.
1526
1527 * conf/common.rmk (pkglib_MODULES): Add charset.mod
1528 (charset_mod_SOURCES): New variable.
1529 (charset_mod_CFLAGS): Likewise.
1530 (charset_mod_LDFLAGS): Likewise.
1531 * include/grub/utf.h: New file.
1532 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
1533
1534 Support for device properties.
1535
1536 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
1537 (grub_xnu_devprop_device_header): Likewise.
1538 (grub_xnu_devprop_device_descriptor): Likewise.
1539 (grub_xnu_devprop_add_device): New prototype.
1540 (grub_xnu_devprop_remove_device): Likewise.
1541 (grub_xnu_devprop_remove_property): Likewise.
1542 (grub_xnu_devprop_add_property_utf8): Likewise.
1543 (grub_xnu_devprop_add_property_utf16): Likewise.
1544 (grub_cpu_xnu_init): Likewise.
1545 (grub_cpu_xnu_fini): Likewise.
1546 (grub_cpu_xnu_unload): Likewise.
1547 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
1548 (property_descriptor): Likewise.
1549 (devices): New variable.
1550 (grub_xnu_devprop_remove_property): New function.
1551 (grub_xnu_devprop_add_device): Likewise.
1552 (grub_xnu_devprop_remove_device): Likewise.
1553 (grub_xnu_devprop_add_property): Likewise.
1554 (grub_xnu_devprop_add_property_utf8): Likewise.
1555 (grub_xnu_devprop_add_property_utf16): Likewise.
1556 (hextoval): Likewise.
1557 (grub_cpu_xnu_fill_devprop): Likewise.
1558 (grub_cmd_devprop_load): Likewise.
1559 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
1560 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
1561 (cmd_devprop_load): New variable.
1562 (grub_cpu_xnu_init): New function.
1563 (grub_cpu_xnu_fini): Likewise.
1564 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
1565 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
1566 (grub_cmd_xnu_devtree): Likewise.
1567 (hextoval): New function.
1568 (unescape): Likewise.
1569 (grub_xnu_fill_devicetree): Likewise.
1570
1571 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
1572 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
1573
0945f181
VS
15742009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 Workaround for broken ATI VBE.
1577
1578 * video/i386/pc/vbe.c (last_set_mode): New variable.
1579 (grub_vbe_set_video_mode): Set 'last_set_mode'.
1580 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
1581 (grub_video_vbe_setup): Don't check for reserved flag.
1582
0ad46fd7 15832009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
1584
1585 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
1586 the `find' command.
1587
c179ebe4
VS
15882009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 UUID support for HFS.
1591
1592 * fs/hfs.c (grub_hfs_uuid): New function.
1593 (grub_hfs_fs): New value .uuid.
1594 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
1595
0ad46fd7 15962009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
1597
1598 Fix a segfault with parsing unknown long options.
1599
1600 * util/grub-mkrelpath.c (options): Zero terminate it.
1601
c4a3e41a
CPE
16022009-12-13 Carles Pina i Estany <carles@pina.cat>
1603
1604 * include/grub/misc.h (grub_puts): New declaration.
1605 (grub_puts_): Likewise.
a22008a6 1606 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
1607 (grub_puts_): Likewise.
1608
2e8a7602
RM
16092009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1610
1611 * util/grub-probe.c (probe): Improve error message.
1612
b50b77b9
RM
16132009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1614
1615 * loader/i386/multiboot_elfxx.c
1616 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
1617 initialization.
1618
16192009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Relocator framework
1622
1623 * loader/i386/xnu_helper.S: Removed. All users updated.
1624 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
1625 (relocator_mod_SOURCES): New variable.
1626 (relocator_mod_CFLAGS): Likewise.
1627 (relocator_mod_LDFLAGS): Likewise.
1628 (relocator_mod_ASFLAGS): Likewise.
1629 * conf/x86_64.rmk: Likewise.
1630 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
1631 (grub_multiboot_payload_entry_offset): Likewise.
1632 (grub_multiboot_forward_relocator): Likewise.
1633 (grub_multiboot_forward_relocator_end): Likewise.
1634 (grub_multiboot_backward_relocator): Likewise.
1635 (grub_multiboot_backward_relocator_end): Likewise.
1636 (grub_multiboot_payload_eip): New variable.
1637 (grub_multiboot_payload_orig): Likewise.
1638 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
1639 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
1640 * include/grub/i386/memory.h
1641 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
1642 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
1643 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
1644 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
1645 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
1646 * include/grub/i386/relocator.h: New file.
1647 * include/grub/x86_64/relocator.h: Likewise.
1648 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
1649 (XNU_RELOCATOR): New macro.
1650 (grub_xnu_launcher_start): Remove.
1651 (grub_xnu_launcher_end): Likewise.
1652 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
1653 (grub_xnu_heap_real_start): Remove.
1654 (grub_xnu_heap_start): Change to void *. All users updated.
1655 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
1656 * lib/i386/relocator.c: New file.
1657 * lib/i386/relocator_asm.S: Likewise.
1658 * lib/i386/relocator_backward.S: Likewise.
1659 * lib/mips/relocator.c: Likewise.
1660 * lib/mips/relocator_asm.S: Likewise.
1661 * lib/relocator.c: Likewise.
1662 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
1663 (entry): Removed.
1664 (playground): Likewise.
1665 (grub_multiboot_payload_orig): New variable.
1666 (grub_multiboot_payload_dest): Likewise.
1667 (grub_multiboot_payload_size): Likewise.
1668 (grub_multiboot_payload_eip): Likewise.
1669 (grub_multiboot_payload_esp): Likewise.
1670 (grub_multiboot_boot): Use grub_relocator32_boot.
1671 (grub_multiboot_unload): Free relocators.
1672 (grub_multiboot): Setup stack. Use relocators.
1673 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
1674 (grub_multiboot_load_elfXX): Use relocators.
1675 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
1676 (grub_multiboot_payload_size): Likewise.
1677 (grub_multiboot_payload_dest): Likewise.
1678 (grub_multiboot_payload_entry_offset): Likewise.
1679 (grub_multiboot_forward_relocator): Likewise.
1680 (grub_multiboot_backward_relocator): Likewise.
1681 (grub_multiboot_real_boot): Likewise.
1682 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
1683 (grub_xnu_entry_point): Likewise.
1684 (grub_xnu_arg1): Likewise.
1685 (grub_xnu_stack): Likewise.
1686 (grub_xnu_launch): Removed.
1687 (grub_xnu_boot_resume): New function.
1688 (grub_xnu_boot): Use relocators.
1689 * loader/i386/xnu_helper.S: Removed.
1690 * loader/xnu.c (grub_xnu_heap_start): New variable.
1691 (grub_xnu_heap_size): Likewise.
1692 (grub_xnu_heap_malloc): Use relocators.
1693 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
1694
29eb90c6
VS
16952009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
1698 anything.
1699
31027430
CPE
17002009-12-13 Carles Pina i Estany <carles@pina.cat>
1701
1702 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
1703 GRUB_ERR_NONE before calling grub_env_set.
1704
dc0c71d9
RM
17052009-12-12 Robert Millan <rmh@aybabtu.com>
1706
1707 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
1708 * genmk.rb (video): New variable.
1709 (CLEANFILES, VIDEOFILES): Add #{video}.
1710 (#{video}): New target rule.
1711 * genvideolist.sh: New file.
1712 * Makefile.in (pkglib_DATA): Add video.lst.
1713 (video.lst): New target rule.
1714 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
1715 `video.lst'.
1716 * util/grub.d/30_os-prober.in: Replace `vbe' with
1717 ${GRUB_VIDEO_BACKEND}.
1718
2a4bfcf0
RM
17192009-12-11 Robert Millan <rmh.grub@aybabtu.com>
1720
1721 * THANKS: Add David Miller.
1722
2a3aa4d5
RM
17232009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 libpciaccess support.
1726
1727 * Makefile.in (LIBPCIACCESS): New variable.
1728 (enable_grub_emu_pci): Likewise.
1729 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
1730 util/pci.c and commands/lspci.c.
1731 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
1732 * configure.ac (grub-emu-pci): New option.
1733 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
1734 (grub_pci_device_unmap_range): Likewise.
1735 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
1736 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
1737 (grub_pci_address_t) [!GRUB_UTIL]: New type.
1738 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
1739 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
1740 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
1741 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
1742 * include/grub/pciutils.h: New file.
1743 * util/pci.c: Likewise.
1744
0ad46fd7 17452009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
1746
1747 * util/misc.c: Don't include <errno.h> twice.
1748
0ad46fd7 17492009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
1750
1751 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
1752 name in an error message.
1753 (grub_biosdisk_rw): Likewise.
1754
2e59983c
VS
17552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Eliminate NTFS 4Gib barrier.
1758
1759 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
1760 (read_run_data): Likewise.
1761 (grub_ntfs_read_run_list): Likewise.
1762 (grub_ntfs_read_block): Likewise.
1763 (grub_ntfs_iterate_dir): Likewise.
1764 (read_mft): Likewise.
1765 (read_data): Likewise.
1766 Use COM_LOG_LEN.
1767 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
1768 to avoid 64-bit division
1769 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
1770 (grub_ntfs_rlst): Use grub_disk_addr_t.
1771
71ee178a
VS
17722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Eliminate grub-fstest 4Gib barrier.
1775
1776 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
1777 (read_file): Fix error reporting.
1778
2520d4b8
VS
17792009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Eliminate hexdump 4Gib barrier.
1782
1783 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
1784 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
1785
e1f27065
VS
17862009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
1789 Fixes amarsh bug.
1790
1a0f7f45
RM
17912009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
1792
1793 Remove miscellaneous files in distclean target.
1794
1795 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
1796
c631d9fb
CW
17972009-12-09 Colin Watson <cjwatson@ubuntu.com>
1798
1799 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
1800 if they're already set. This resolves the conflict between my
1801 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
1802 fixing the --grub-probe option again.
1803 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
1804 change on 2009-10-06, so that we now once again source
1805 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1806
7c7b6106
RM
18072009-12-08 Robert Millan <rmh.grub@aybabtu.com>
1808
1809 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
1810 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
1811 `util/devicemap.c'.
1812
e3069ec1
CPE
18132009-12-08 Carles Pina i Estany <carles@pina.cat>
1814
1815 * include/grub/misc.h (grub_printf_): New declaration.
1816 * kern/misc.c (grub_printf_): New definition.
1817 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
1818 instead of `grub_printf' and `_'.
1819 * normal/menu_entry.c (store_completion): Likewise.
1820 (run): Likewise.
1821 (grub_menu_entry_run): Likewise.
1822 * normal/menu_text.c (grub_wait_after_message): Likewise.
1823 (notify_booting): Likewise.
1824 (notify_fallback): Likewise.
1825 (notify_execution_failure): Likewise.
1826
d6ceebf1
CW
18272009-12-07 Colin Watson <cjwatson@ubuntu.com>
1828
1829 * configure.ac: Check for vasprintf.
1830 * util/misc.c (asprintf): Move allocation from here ...
1831 (vasprintf): ... to here. New function.
1832 (xasprintf): New function.
1833 * include/grub/util/misc.h (vasprintf, xasprintf): Add
1834 prototypes.
1835 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1836 * util/grub-mkfont.c (write_font): Likewise.
1837 * util/grub-probe.c (probe): Likewise.
1838 * util/hostdisk.c (make_device_name): Likewise.
1839
de6daa8b
DM
18402009-12-06 David S. Miller <davem@sunset.davemloft.net>
1841
1842 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
1843 anything even prefixed with 'cdrom' as a cdrom.
1844
0ad46fd7 18452009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
1846
1847 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
1848 mount points.
1849
98d3dc02
CPE
18502009-12-05 Carles Pina i Estany <carles@pina.cat>
1851
1852 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
1853 grub_gettext_msg_list.
1854 (grub_gettext_gettranslation_from_position): Return const char *
1855 and not char *.
a2c1332b 1856 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
1857 returns from the list if existing there.
1858 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
1859 (grub_gettext_delete_list): Delete the list.
1860 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
1861 lang environment variable is changed.
1862 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
1863
b283f108
VS
18642009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 Rename kernel.mod to kernel.img.
1867
1868 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
1869 (kernel_mod_EXPORTS): Rename to ...
1870 (kernel_img_EXPORTS): ... this.
1871 (kernel_mod_SOURCES): Rename to ...
1872 (kernel_img_SOURCES): ... this.
1873 (kernel_mod_HEADERS): Rename to ...
1874 (kernel_img_HEADERS): ... this. All users updated.
1875 (kernel_mod_CFLAGS): Rename to ...
1876 (kernel_img_CFLAGS): ... this.
1877 (kernel_mod_ASFLAGS): Rename to ...
1878 (kernel_img_ASFLAGS): ... this.
1879 (kernel_mod_LDFLAGS): Rename to ...
1880 (kernel_img_LDFLAGS): ... this.
1881 * conf/x86_64-efi.rmk: Likewise.
1882 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
1883 (read_kernel_image): ... this. All users updated.
1884 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
1885
69055f8a
CPE
18862009-12-05 Carles Pina i Estany <carles@pina.cat>
1887
1888 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
1889 (print_spaces): New function.
1890 (grub_print_ucs4): New function.
1891 (getstringwidth): New function.
1892 (print_message_indented): New function.
1893 (print_message): Gettexttize strings using print_message_indented.
1894 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
1895 width.
1896 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 1897 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
1898 Gettextize.
1899 * normal/menu_entry.c (store_completion): Cleanup the gettextized
1900 string.
1901 (run): Likewise.
1902 (grub_menu_entry_run): Likewise.
1903 * PO/POTFILES: Add normal/menu_entry.c.
1904
f616f51c
VS
19052009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
1908
57bbe3be
CPE
19092009-12-05 Carles Pina i Estany <carles@pina.cat>
1910
1911 * util/grub-install.in: Install gettext .mo files.
1912 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
1913
013d67a1
CPE
19142009-12-05 Carles Pina i Estany <carles@pina.cat>
1915
1916 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
1917 grub_dprintf.
1918
fb954db0
RM
19192009-12-05 Robert Millan <rmh.grub@aybabtu.com>
1920
1921 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
1922 non-firmware-dependant one in realmode.S takes precedence.
1923
6b8474f8
RM
19242009-12-04 Robert Millan <rmh.grub@aybabtu.com>
1925
1926 * commands/halt.c: Replace misc arch-specific headers with
1927 `<grub/misc.h>'.
1928 * commands/reboot.c: Likewise.
1929 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
1930 `<grub/misc.h>'.
1931 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
1932 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
1933 (kernel_img_SOURCES): ... to here.
1934
1935 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
1936 * include/grub/i386/pc/init.h: Likewise.
1937 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1938 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1939
1940 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1941
1942 * include/grub/i386/halt.h: Remove.
1943 * include/grub/i386/reboot.h: Likewise.
1944
1945 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1946
4b2e6ca2
DM
19472009-12-03 David S. Miller <davem@sunset.davemloft.net>
1948
1949 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1950 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1951 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1952 "progname.h"
1953 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1954 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1955 (usage): Add missing comma in printf.
1956
5239348f
RM
19572009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1958
1959 Use the same reboot approach on i386 coreboot and qemu as we do on
1960 BIOS.
1961
1962 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1963 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1964 * kern/i386/reboot.c: Remove.
1965 * include/grub/i386/reboot.h (grub_reboot): Export function.
1966 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1967 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1968 0xf000:0xfff0 instead of 0xffff:0x0000.
1969 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1970 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1971
ef34cbd4
RM
19722009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1973
1974 Fix $srcdir != $objdir build.
1975
1976 * Makefile.in (po/%.po): Rewrite as ...
1977 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1978
dc9837ea
ST
19792009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1980
1981 Fix GNU/Hurd grub-install crash.
1982 * util/grub-probe.c (probe): Try to access `path' only when it is not
1983 NULL.
1984
2f857f98
VS
19852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Correct module naming.
1988
1989 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1990 (GRUB_MOD_INIT(efi_uga)): ... to this
1991 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1992 (GRUB_MOD_FINI(efi_uga)): ... to this
1993 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1994 (GRUB_MOD_INIT(efi_gop)): ... to this
1995 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1996 (GRUB_MOD_FINI(efi_gop)): ... to this
1997
c5448046
RM
19982009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1999
2000 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
2001 translatable.
2002 (usage): Translate `arg' strings using gettext().
2003 Thanks to Jordi Mallach for the suggestion.
2004
c85184ad
VS
20052009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 GOP support. Based on patch from Bean
2008 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2009
2010 * video/efi_gop.c: New file.
2011 * include/grub/efi/graphics_output.h: Likewise.
2012 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
2013 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2014 variables.
2015 * conf/x86_64-efi.rmk: Likewise.
2016
8a4c48d8
VS
20172009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Rename efi_fb to efi_uga.
2020
2021 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2022 'efi_uga.mod'.
2023 (efi_fb_mod_SOURCES): Rename this ...
2024 (efi_uga_mod_SOURCES): ... to this.
2025 (efi_fb_mod_CFLAGS): Rename this ...
2026 (efi_uga_mod_CFLAGS): ... to this.
2027 (efi_fb_mod_LDFLAGS): Rename this ...
2028 (efi_uga_mod_LDFLAGS): ... to this.
2029 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2030 'efi_uga.mod'.
2031 (efi_fb_mod_SOURCES): Rename this ...
2032 (efi_uga_mod_SOURCES): ... to this.
2033 (efi_fb_mod_CFLAGS): Rename this ...
2034 (efi_uga_mod_CFLAGS): ... to this.
2035 (efi_fb_mod_LDFLAGS): Rename this ...
2036 (efi_uga_mod_LDFLAGS): ... to this.
2037 * video/efi_fb.c: Move this ...
2038 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2039
fb6c1a7b
RM
20402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2041
2042 * po/README: New file. Explain our PO file workflow.
2043
3bc7896c
RM
20442009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2045
2046 * po/ChangeLog: Remove. Move relevant entries back to ...
2047 * ChangeLog: ... here.
2048 * po/ca.po: Remove (now handled by TLP).
2049 * po/id.po: Likewise.
2050 * po/zh_CN.po: Likewise.
2051 * Makefile.in (LINGUAS): Initialize in a way that supports
2052 empty set.
2053
9ed4841d
RM
20542009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2055
2056 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2057 reliing on po/LINGUAS.
2058 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2059 (po/%.po): ... this.
2060
0ad46fd7 20612009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2062
2063 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2064 (main): Use `program_name' instead of nonexistent `progname'.
2065
e30dd392
FZ
20662009-11-26 Felix Zielcke <fzielcke@z-51.de>
2067
2068 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2069 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2070
7656de4f
RM
20712009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2072
2073 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2074 commit.
2075 * conf/i386-efi.rmk: Likewise.
2076 * conf/i386-ieee1275.rmk: Likewise.
2077 * conf/powerpc-ieee1275.rmk: Likewise.
2078 * conf/sparc64-ieee1275.rmk: Likewise.
2079 * conf/x86_64-efi.rmk: Likewise.
2080
db77c4d4
FZ
20812009-11-26 Felix Zielcke <fzielcke@z-51.de>
2082
2083 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2084
a755bb04
FZ
20852009-11-26 Felix Zielcke <fzielcke@z-51.de>
2086
2087 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2088
8a4c07fd
RM
20892009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2090
2091 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2092 (grub_mkdevicemap_SOURCES): New variable.
2093 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2094 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2095 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2096 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2097 (grub_mkdevicemap_SOURCES): Remove.
2098 * conf/i386-efi.rmk: Likewise.
2099 * conf/i386-ieee1275.rmk: Likewise.
2100 * conf/i386-pc.rmk: Likewise.
2101 * conf/powerpc-ieee1275.rmk: Likewise.
2102 * conf/sparc64-ieee1275.rmk: Likewise.
2103 * conf/x86_64-efi.rmk: Likewise.
2104 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2105 (usage): Fix strings to use `program_name'.
2106 (main): Initialize gettext.
2107 * util/grub-editenv.c: Likewise.
2108 * util/grub-emu.c: Likewise.
2109 * util/grub-fstest.c: Likewise.
2110 * util/grub-mkdevicemap.c: Likewise.
2111 * util/grub-mkfont.c: Likewise.
2112 * util/grub-mkrelpath.c: Likewise.
2113 * util/grub-pe2elf.c: Likewise.
2114 * util/grub-probe.c: Likewise.
2115 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2116 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2117 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2118
2119 * util/misc.c: Include `"progname.h"'.
2120 (progname): Remove variable.
2121 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
2122
6f61ed55
FZ
21232009-11-25 Felix Zielcke <fzielcke@z-51.de>
2124
2125 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
2126 printf and print a newline after the menuentry header line.
2127 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2128
f022876b
FZ
21292009-11-25 Felix Zielcke <fzielcke@z-51.de>
2130
2131 autoconf >= 2.60 support $(localedir).
2132
2133 * INSTALL: Note that autoconf 2.60 is required.
2134 * configure.ac (AC_PREREQ): Bump to 2.60.
2135 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
2136 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2137
6717926e
YB
21382009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
2139
2140 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
2141 aclocal is run.
2142
08806a54
RM
21432009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2144
2145 * normal/main.c (grub_normal_read_line): Fix off-by-one
2146 buffer overflow.
2147
13b33fba
RM
21482009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2149
2150 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
2151 "parser.grub" in grub_command_execute() call.
2152
4a8572e9
CPE
21532009-11-24 Carles Pina i Estany <carles@pina.cat>
2154
2155 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
2156 * conf/i386-efi.rmk: Likewise.
2157 * conf/i386-ieee1275.rmk: Likewise.
2158 * conf/i386-pc.rmk: Likewise.
2159 * conf/powerpc-ieee1275.rmk: Likewise.
2160 * conf/sparc64-ieee1275.rmk: Likewise.
2161 * conf/x86_64-efi.rmk: Likewise.
2162 * gettext/gettex.c: Include <grub/i18n.h>.
2163 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
2164 here ...
2165 * include/grub/i18n.h: ... to here
2166 * include/grub/i18n.h: ... to here.
2167 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 2168 (grub_gettext_dummy): Move above user.
4a8572e9 2169
bee48093
FZ
21702009-11-24 Felix Zielcke <fzielcke@z-51.de>
2171
2172 * util/Makefile.in (install-local): Convert a `for' into a normal
2173 shell expansion.
2174
a031e91c
RM
21752009-11-24 Robert Millan <rmh.grub@aybabtu.com>
2176
2177 * autogen.sh: Add automake call.
2178 * config.guess: Remove.
2179 * config.sub: Likewise.
2180 * install-sh: Likewise.
2181
26bec39d
FZ
21822009-11-24 Felix Zielcke <fzielcke@z-51.de>
2183
2184 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
2185
8e2532fd
FZ
21862009-11-24 Felix Zielcke <fzielcke@z-51.de>
2187
2188 * util/Makefile.in (install-local): Convert a make `$(foreach)'
2189 function to a normal shell `for'.
2190
fefa1b7d
FZ
21912009-11-24 Felix Zielcke <fzielcke@z-51.de>
2192
2193 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2194
4501250b
FZ
21952009-11-24 Felix Zielcke <fzielcke@z-51.de>
2196
2197 * util/grub-mkrelpath.c: New file.
2198 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
2199 (grub_mkrelpath_SOURCES): New variable.
2200 * include/grub/util/misc.h: New function prototype.
2201 * util/misc.c (make_system_path_relative_to_its_root): New function.
2202
2203 * util/grub-mkconfig_lib.in (bindir): New variable.
2204 (grub_mkrelpath): Likewise.
2205 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
2206
2207 * util/probe.c (probe): Make the file path relative to its root.
2208 Change a info message to use the GRUB path. Enable again the
2209 check if we can read the file with GRUB facilities.
2210
2211 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
2212 to its root.
2213
11d9778b
FZ
22142009-11-24 Felix Zielcke <fzielcke@z-51.de>
2215
2216 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
2217 platform.
2218
4465287d
FZ
22192009-11-24 Felix Zielcke <fzielcke@z-51.de>
2220
2221 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
2222 strncmp().
2223
62b47f22
FZ
22242009-11-24 Felix Zielcke <fzielcke@z-51.de>
2225
2226 * util/getroot.c (grub_util_is_dmraid): New function.
2227 (grub_util_get_dev_abstraction): Treat dmraid and multipath
2228 devices as normal ones, not as LVM.
2229
1eafb9b9 22302009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
2231
2232 * conf/common.rmk: Add grub-gettext_lib target and updates
2233 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
2234 LDFLAGS.
2235 * gettext/gettext.c: New file. (Reads mo files).
2236 * include/grub/file.h (grub_file_pread): New prototype.
2237 * include/grub/i18n.h (_): New prototype.
2238 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
2239 prototypes.
2240 * kern/misc.c (grub_gettext_dummy): New function.
2241 * normal/menu_text.c: Include <grub/i18n.h>.
2242 * normal/menu_text.c (print_timeout): Gettexttize string.
2243 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
2244 * po/POTFILES: Add `normal/menu_text.c'.
2245 * po/ca.po: Add new translations.
c3ea6bd4
CPE
2246 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
2247 gettext module and defines locale_dir and lang in grub.cfg.
2248 * NEWS: Add gettext support.
2249
0fdb2568
RM
22502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2251
2252 * util/hostdisk.c: Include `<grub/i18n.h>'.
2253 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
2254 (make_device_name): Rewrite using asprintf.
2255 (convert_system_partition_to_system_disk): Replace 0 with NULL.
2256 (find_system_device): If a device is not found, generate one just
2257 by reusing the OS path name.
2258 (read_device_map): Make it permissible for device.map not to exist.
2259
f515aa62
RM
22602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2261
2262 * script/sh/execute.c: Move from here ...
2263 * script/execute.c: ... to here. Update all users.
2264 * script/sh/function.c: Move from here ...
2265 * script/function.c: ... to here. Update all users.
2266 * script/sh/lexer.c: Move from here ...
2267 * script/lexer.c: ... to here. Update all users.
2268 * script/sh/main.c: Move from here ...
2269 * script/main.c: ... to here. Update all users.
2270 * script/sh/parser.y: Move from here ...
2271 * script/parser.y: ... to here. Update all users.
2272 * script/sh/script.c: Move from here ...
2273 * script/script.c: ... to here. Update all users.
2274
f84b481b
RM
22752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2276
2277 * configure.ac: Detect all `emu' platforms. Define
2278 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
2279 --enable-grub-emu logic. Disable include/grub/machine
2280 symlink on `emu' platforms.
2281
2282 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
2283 * gensymlist.sh.in: Likewise.
2284
2285 * include/grub/i386/coreboot/machine.h: Remove file.
2286 * include/grub/i386/efi/machine.h: Likewise.
2287 * include/grub/i386/ieee1275/machine.h: Likewise.
2288 * include/grub/i386/pc/machine.h: Likewise.
2289 * include/grub/i386/qemu/machine.h: Likewise.
2290 * include/grub/powerpc/ieee1275/machine.h: Likewise.
2291 * include/grub/sparc64/ieee1275/machine.h: Likewise.
2292 * include/grub/x86_64/efi/machine.h: Likewise.
2293
2294 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
2295 * commands/halt.c: Likewise.
2296 * commands/reboot.c: Likewise.
2297 * include/grub/autoefi.h: Likewise.
2298 * include/grub/i386/at_keyboard.h: Likewise.
2299 * include/grub/i386/kernel.h: Likewise.
2300 * include/grub/i386/loader.h: Likewise.
2301 * include/grub/i386/pc/memory.h: Likewise.
2302 * kern/dl.c: Likewise.
2303 * kern/i386/coreboot/init.c: Likewise.
2304 * loader/i386/bsd.c: Likewise.
2305 * loader/i386/linux.c: Likewise.
2306 * loader/multiboot_loader.c: Likewise.
2307 * term/i386/pc/serial.c: Likewise.
2308 * term/usb_keyboard.c: Likewise.
2309
2310 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
2311 `<grub/machine/machine.h>'
2312 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
2313 * util/misc.c: Remove `<grub/machine/machine.h>' and
2314 `<grub/machine/time.h>'.
2315
2316 * Makefile.in (enable_grub_emu): Remove variable.
2317 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
2318
2319 * conf/any-emu.rmk: New file.
2320 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
2321 (grub_emu_init.c): Move from here ...
2322 * conf/any-emu.rmk: ... to here.
2323
2324 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
2325 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
2326 * conf/any-emu.rmk: ... to here.
2327
4efeab03
RM
23282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2329
2330 * include/grub/parser.h (grub_parser_register): Document need
2331 of `name' parameter.
2332 * normal/main.c (grub_normal_read_line): Simplify prompt string.
2333 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
2334 "sh" to "grub".
2335
ea1dd8bf
RM
23362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2337
2338 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
2339 `$(XGETTEXT)'.
2340 * include/grub/i18n.h (N_): New macro.
2341 * util/mkisofs/mkisofs.h: Likewise.
2342 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
2343 around N_().
2344 (usage): Use gettext() to translate help strings when printing them.
2345
0c140626
RM
23462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2347
2348 Based on patch from Bean
2349 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2350
2351 * video/efi_fb.c: New file.
2352 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
2353 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2354 variables.
2355 * conf/x86_64-efi.rmk: Likewise.
2356
87d58298
RM
23572009-11-22 Robert Millan <rmh.grub@aybabtu.com>
2358
2359 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
2360 * util/i386/pc/grub-setup.c: Likewise.
2361
994cc3a3
ST
23622009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2363
2364 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
2365 <hurd/fs.h>
2366 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
2367 file_get_storage_info to implement grub_guess_root_device.
2368
26a61d6a
FZ
23692009-11-21 Felix Zielcke <fzielcke@z-51.de>
2370
2371 * Makefile.in (target): Use make's builtin $(shell) function
2372 instead of calling directly $(SHELL) to create the locale directories,
2373 inside the $(foreach) function.
2374
74ff1dd5
FZ
23752009-11-21 Felix Zielcke <fzielcke@z-51.de>
2376
2377 * util/grub-mkrescue.in: Print an error and usage if output option
2378 has not been given.
2379
0b787d0e
FZ
23802009-11-21 Felix Zielcke <fzielcke@z-51.de>
2381
2382 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
2383 * util/grub.d/30_os-prober.in: Cope with Linux entries where
2384 root and /boot are on different devices.
2385
1164b270
RM
23862009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2387
2388 Fix build for srcdir != objdir.
2389
2390 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
2391 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
2392 $(srcdir).
2393 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
2394 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
2395 reference for input.
2396
13774a2f
RM
23972009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2398
2399 * util/grub-mkrescue.in: Use source directory direcly (without copiing
2400 or hardlinking it). Remove -J option, Joliet is not compatible with
2401 multiple source directories.
2402
efda854e
RM
24032009-11-21 Carles Pina i Estany <carles@pina.cat>
24042009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2405
2406 * util/grub-mkrescue.in: Recognize `--override-directory' option.
2407 (process_input_dir): New function. Process an arbitrary input
2408 directory.
2409 Misc adjustments to support both "override mode" and system-wide mode.
2410
6c09890c
FZ
24112009-11-20 Felix Zielcke <fzielcke@z-51.de>
2412
2413 * configure.ac (UNIFONT_BDF): Rename to ...
2414 (FONT_SOURCE): ... this. Update all users.
2415
a797824f
FZ
24162009-11-20 Felix Zielcke <fzielcke@z-51.de>
2417
2418 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
2419 to the list of unifont files to look for.
2420
cd4f42b0
RM
24212009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2422
2423 Patch from Joe Auricchio <jauricchio@gmail.com>
2424 * commands/minicmd.c (grub_mini_cmd_clear): New function.
2425 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
2426 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
2427
393c783d
FZ
24282009-11-19 Felix Zielcke <fzielcke@z-51.de>
2429
2430 * Makefile.in (install-local): Add a missing backslash.
2431
b2f1e327
FZ
24322009-11-19 Felix Zielcke <fzielcke@z-51.de>
2433
2434 * include/grub/x86_64/io.h: New file.
2435
f577f7a0
RM
24362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2437
2438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
2439 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
2440 Include `"progname.h"'.
2441 (main): Initialize gettext.
2442 * util/i386/pc/grub-setup.c: Gettexttize.
2443 * util/i386/pc/grub-mkimage.c: Likewise.
2444
2445 * Makefile.in (po/*.po): Redefine as ...
2446 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
2447
3bc7896c
RM
2448 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
2449
c37943b6
RM
24502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2451
2452 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
2453 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
2454 (program_name): Remove.
2455 (main): Initialize gettext support.
6323f705
RM
2456 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
2457 Include `<libintl.h>'.
2458 (_): New macro.
c37943b6
RM
2459
2460 * util/mkisofs/eltorito.c: Gettexttize.
2461 * util/mkisofs/joliet.c: Likewise.
2462 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
2463 * util/mkisofs/multi.c: Likewise.
2464 * util/mkisofs/rock.c: Likewise.
2465 * util/mkisofs/tree.c: Likewise.
2466 * util/mkisofs/write.c: Likewise.
2467
3bc7896c
RM
2468 * po/POTFILES: Update with new files.
2469
5ce77c6e
RM
24702009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2471
2472 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
2473 * util/mkisofs/iso9660.h: Likewise.
2474 * util/mkisofs/joliet.c: Likewise.
2475 * util/mkisofs/mkisofs.c: Likewise.
2476 * util/mkisofs/mkisofs.h: Likewise.
2477 * util/mkisofs/rock.c: Likewise.
2478 * util/mkisofs/tree.c: Likewise.
2479 * util/mkisofs/write.c: Likewise.
2480
2481 * util/mkisofs/eltorito.c (rcsid): Remove.
2482 * util/mkisofs/hash.c: Likewise.
2483 * util/mkisofs/joliet.c: Likewise.
2484 * util/mkisofs/name.c: Likewise.
2485 * util/mkisofs/rock.c: Likewise.
2486 * util/mkisofs/tree.c: Likewise.
2487 * util/mkisofs/write.c: Likewise.
2488
1dabbc77
RM
24892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2490
2491 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
2492 instead of static allocation.
2493 * util/mkisofs/match.h: Likewise.
2494
633877cb
RM
24952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2496
3bc7896c
RM
2497 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
2498 and `util/grub.d/10_linux.in'.
633877cb
RM
2499 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
2500 translatable Shell files.
2501
af1c0c85
RM
25022009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2503
2504 * Makefile.in ($(srcdir)/aclocal.m4): New target.
2505
769ae37b
RM
25062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2507
2508 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 2509 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
2510 * util/grub.d/10_kfreebsd.in (bindir): New variable.
2511 Add gettext initialization.
2512 (kfreebsd_entry): Make menuentry output translatable.
2513
25142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2515
2516 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
2517 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
2518 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
2519 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
2520 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 2521 * po/LINGUAS: New file.
769ae37b
RM
2522
25232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2524
2525 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
2526 other things).
2527 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
2528 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
2529 bindtextdomain() calls for gettext initialization.
2530
25312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2532
2533 * gnulib/progname.c: New file (imported from Gnulib).
2534 * gnulib/progname.h: Likewise.
2535 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2536 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
2537 (usage): Replace `progname' with `program_name'.
2538 (main): Use set_program_name() for program name initialization.
2539
25402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2541
2542 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
2543 from here ...
2544 * Makefile.in (CPPFLAGS): ... to here.
2545
25462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2547
2548 * aclocal.m4: Move from here ...
2549 * acinclude.m4: ... to here.
2550 * autogen.sh: Add call to `aclocal'.
2551 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
2552
25532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2554
2555 * Makefile.in (CLEANFILES): Add `po/*.mo'.
2556 (LINGUAS): New variable.
2557 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
2558 (install-local): Install MO files.
2559 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
2560 * include/grub/i18n.h: New file.
3bc7896c
RM
2561 * po/POTFILES: New file.
2562 * po/ca.po: New file.
769ae37b
RM
2563 * util/grub.d/10_linux.in (bindir): New variable.
2564 Add gettext initialization.
2565 (linux_entry): Make menuentry output translatable.
2566 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
2567 (usage): Make --help output translatable.
2568 (main): Initialize gettext.
2569
02c0a6ad
RM
25702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2571
2572 * import_gcry.py: New file (written by Vladimir with minor
2573 adjustments).
2574 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
2575 ciphers.
2576 * INSTALL: Document that Python is required for bootstrap.
2577
25782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2579
2580 Import ciphers from libgcrypt 1.4.4.
2581
2582 * lib/libgcrypt/cipher/ChangeLog
2583 * lib/libgcrypt/cipher/ac.c
2584 * lib/libgcrypt/cipher/arcfour.c
2585 * lib/libgcrypt/cipher/bithelp.h
2586 * lib/libgcrypt/cipher/blowfish.c
2587 * lib/libgcrypt/cipher/camellia-glue.c
2588 * lib/libgcrypt/cipher/camellia.c
2589 * lib/libgcrypt/cipher/camellia.h
2590 * lib/libgcrypt/cipher/cast5.c
2591 * lib/libgcrypt/cipher/cipher.c
2592 * lib/libgcrypt/cipher/crc.c
2593 * lib/libgcrypt/cipher/des.c
2594 * lib/libgcrypt/cipher/dsa.c
2595 * lib/libgcrypt/cipher/ecc.c
2596 * lib/libgcrypt/cipher/elgamal.c
2597 * lib/libgcrypt/cipher/hash-common.c
2598 * lib/libgcrypt/cipher/hash-common.h
2599 * lib/libgcrypt/cipher/hmac-tests.c
2600 * lib/libgcrypt/cipher/md.c
2601 * lib/libgcrypt/cipher/md4.c
2602 * lib/libgcrypt/cipher/md5.c
2603 * lib/libgcrypt/cipher/primegen.c
2604 * lib/libgcrypt/cipher/pubkey.c
2605 * lib/libgcrypt/cipher/rfc2268.c
2606 * lib/libgcrypt/cipher/rijndael-tables.h
2607 * lib/libgcrypt/cipher/rijndael.c
2608 * lib/libgcrypt/cipher/rmd.h
2609 * lib/libgcrypt/cipher/rmd160.c
2610 * lib/libgcrypt/cipher/rsa.c
2611 * lib/libgcrypt/cipher/seed.c
2612 * lib/libgcrypt/cipher/serpent.c
2613 * lib/libgcrypt/cipher/sha1.c
2614 * lib/libgcrypt/cipher/sha256.c
2615 * lib/libgcrypt/cipher/sha512.c
2616 * lib/libgcrypt/cipher/tiger.c
2617 * lib/libgcrypt/cipher/twofish.c
2618 * lib/libgcrypt/cipher/whirlpool.c
2619
af2f93ac
RM
26202009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2621
2622 Fix build for systems without error().
2623
2624 * gnulib/error.c: New file (imported from Gnulib).
2625 * gnulib/error.h: Likewise.
2626 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
2627 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
2628 (this variable is now used by error()).
2629
73fb3dd5
FZ
26302009-11-16 Felix Zielcke <fzielcke@z-51.de>
2631
814f5e96
FZ
2632 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
2633 instead of relying that char is signed.
73fb3dd5 2634
a691ca33
VS
26352009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
2638 blocksize different from specified.
2639 (grub_pxefs_read): Likewise.
2640
2af8f0f4
FZ
26412009-11-16 Felix Zielcke <fzielcke@z-51.de>
2642
2643 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
2644
2645 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
2646 (grub_ata_readwrite): Likewise. Update 2 format strings.
2647 (grub_atapi_read): Likewise.
2648
2649 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
2650 * conf/i386.rmk (pkglib_MODULES): ... to here ...
2651 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
2652 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
2653 (ata_mod_LDFLAGS): Move from here ...
2654 * conf/i386.rmk: ... to here ...
2655 * conf/x86_64-efi.rmk: ... and here.
2656 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
2657 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
2658
83bdecaf
RM
26592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2660
2661 Relicense multiboot.h, with RMS' blessing.
2662
2663 * include/multiboot.h: Change to X11 license.
2664
fd6fd3d7
RM
26652009-11-15 Robert Millan <rmh.grub@aybabtu.com>
2666
2667 Support --version in grub-mkisofs.
2668
2669 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
2670 (OPTION_VERSION): New macro.
2671 (ld_options): Recognize --version.
2672 (usage): Move `program_name' from here ...
2673 (program_name): ... to here. Add `static' qualifier.
2674 (main): Recognize `OPTION_VERSION'.
2675
16a88c49
FZ
26762009-11-15 Felix Zielcke <fzielcke@z-51.de>
2677
2678 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
2679 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
2680
a4158476
RM
26812009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2682
2683 Fix help2man generation for mkisofs.
2684
2685 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
2686 (usage): Send output to stdout (rather than stderr).
2687
fc2208b0
RM
26882009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2689
2690 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
2691 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2692 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
2693 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2694 (bin_SCRIPTS): Add `grub-mkfloppy'.
2695 (grub_mkfloppy_SOURCES): New variable.
2696
2697 * util/grub-mkrescue.in: New file.
2698 * util/i386/pc/grub-mkfloppy.in: New file.
2699
2700 * util/i386/coreboot/grub-mkrescue.in: Remove.
2701 * util/i386/pc/grub-mkrescue.in: Remove.
2702
8d0edf4a
RM
27032009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2704
2705 * include/grub/multiboot.h (struct grub_multiboot_header): Move
2706 from here ...
2707 * include/multiboot.h (struct multiboot_header): ... to here. Update
2708 all users.
2709 * include/grub/multiboot.h (struct grub_multiboot_info): Move
2710 from here ...
2711 * include/multiboot.h (struct multiboot_info): ... to here. Update
2712 all users.
2713 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
2714 from here ...
2715 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
2716 Update all users.
2717 * include/grub/multiboot.h (struct grub_mod_list): Move
2718 from here ...
2719 * include/multiboot.h (struct multiboot_mod_list): ... to here.
2720 Update all users.
2721
a73f5969
RM
27222009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2723
2724 * include/multiboot2.h (multiboot_word): Rename from this ...
2725 (multiboot2_word): ... to this. Update all users.
2726 (multiboot_header): Rename from this ...
2727 (multiboot2_header): ... to this. Update all users.
2728 (multiboot_tag_header): Rename from this ...
2729 (multiboot2_tag_header): ... to this. Update all users.
2730 (multiboot_tag_start): Rename from this ...
2731 (multiboot2_tag_start): ... to this. Update all users.
2732 (multiboot_tag_name): Rename from this ...
2733 (multiboot2_tag_name): ... to this. Update all users.
2734 (multiboot_tag_module): Rename from this ...
2735 (multiboot2_tag_module): ... to this. Update all users.
2736 (multiboot_tag_memory): Rename from this ...
2737 (multiboot2_tag_memory): ... to this. Update all users.
2738 (multiboot_tag_unused): Rename from this ...
2739 (multiboot2_tag_unused): ... to this. Update all users.
2740 (multiboot_tag_end): Rename from this ...
2741 (multiboot2_tag_end): ... to this. Update all users.
2742
1c8927f0
RM
27432009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2744
2745 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
2746 this platform we should support Multiboot1 first.
2747
2748 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2749 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
2750 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
2751
6e1e0d89
RM
27522009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2753
2754 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
2755 of write calls (converting them to fwrite() if they aren't already).
2756 (get_torito_desc): Likewise.
2757 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
2758
7f2b34d8
RM
27592009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2760
2761 * util/i386/pc/grub-install.in: Move from here ...
2762 * util/grub-install.in: ... to here. Update all users.
2763
c0ef3311
CW
27642009-11-11 Colin Watson <cjwatson@ubuntu.com>
2765
2766 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
2767
e1f240ff
RM
27682009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2769
2770 Support for El Torito without floppy emulation.
2771
2772 * util/mkisofs/eltorito.c: Include `<errno.h>'.
2773 (init_boot_catalog): Improve error handling.
2774 (get_torito_desc): Don't use floppy emulation unless requested by
2775 user. Patch boot information table when requested via
2776 `-boot-info-table'.
2777 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
2778 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
2779 (use_boot_info_table): New variables.
2780 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
2781 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
2782 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
2783 `--eltorito-emul-floppy'.
2784 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
2785 and `OPTION_ELTORITO_EMUL_FLOPPY'.
2786 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
2787 (use_boot_info_table, get_731): New prototypes.
2788 * util/mkisofs/write.c (get_731): New function.
2789
af7d4de5
FZ
27902009-11-11 Felix Zielcke <fzielcke@z-51.de>
2791
2792 Fix the generation of the man page.
2793
2794 * util/pc/i386/grub-install.in: Source
2795 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2796
2c55dbc0
RM
27972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2798
2799 Large file support for grub-mkisofs.
2800
2801 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
2802 * util/mkisofs/mkisofs.c (next_extent, last_extent)
2803 (session_start): Upgrade type to `uint64_t'. Update all users.
2804 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
2805 (struct directory_entry): Upgrade type of `starting_block' and
2806 `size' to `uint64_t'. Update all users.
2807 (struct deferred): Remove unused structure.
2808 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
2809 Update all users.
2810 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
2811 file is larger than `UINT32_MAX'.
2812 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
2813 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
2814 return value.
2815 (struct deferred_write): Upgrade type of `extent' and `size' to
2816 `uint64_t'. Update all users.
2817 (last_extent_written): Upgrade type to `uint64_t'. Update all
2818 users.
2819 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
2820 Update all users. Upgrade type of `remain' to `int64_t' and
2821 `use' to `size_t'. Use error() to handle fread() errors.
2822 (write_files): Rely on write_one_file() rather than calling
2823 xfwrite() directly.
2824
6a9cead5
FZ
28252009-11-09 Felix Zielcke <fzielcke@z-51.de>
2826
2827 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
2828
4825d790
RM
28292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2830
2831 * util/mkisofs/fnmatch.c: Remove.
2832 * util/mkisofs/getopt1.c: Likewise.
2833 * util/mkisofs/getopt.c: Likewise.
2834 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
2835 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
2836 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
2837 `gnulib/getopt1.c' and `gnulib/getopt.c'.
2838 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
2839
2840 * configure.ac: Detect `mingw32msvc' host_os.
2841 Check for lstat(), getuid() and getgid().
2842
2843 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
2844 instances of `u_char' with `uint8_t'.
2845
2846 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
2847 [!HAVE_GETUID] (getuid): New function (stub).
2848 [!HAVE_GETGID] (getgid): Likewise.
2849 [!HAVE_LSTAT] (lstat): Likewise.
2850 [!S_IROTH] (S_IROTH): New macro (dummy).
2851 [!S_IRGRP] (S_IRGRP): Likewise.
2852
84b860d8
RM
28532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2854
2855 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
2856 conditional expression).
2857
66e9b712
RM
28582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2859
2860 Import from Gnulib.
2861
2862 * gnulib/fnmatch.c: New file.
2863 * gnulib/fnmatch.h: Likewise.
2864 * gnulib/fnmatch_loop.c: Likewise.
2865 * gnulib/getopt.c: Likewise.
2866 * gnulib/getopt.h: Likewise.
2867 * gnulib/getopt1.c: Likewise.
2868 * gnulib/getopt_int.h: Likewise.
2869 * gnulib/gettext.h: Likewise.
2870
34f4a5b0
RM
28712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2872
2873 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
2874 * normal/handler.c (read_handler_list): Likewise.
2875
ac451143
RM
28762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2877
2878 Misc cleanup.
2879
2880 * kern/command.c (grub_register_command_prio): Use
2881 grub_zalloc() instead of explicitly zeroing data.
2882 * kern/list.c: Include `<grub/mm.h>'.
2883 (grub_named_list_find): Replace `0' with `NULL'.
2884 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
2885 (fs_module_list): Change type to `grub_named_list_t'. Update all
2886 users.
2887 * normal/dyncmd.c (read_command_list): Add space between function
2888 call and parenthesis.
2889 * normal/handler.c (read_handler_list): Likewise.
2890
4089b167
RM
28912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2892
2893 * normal/auth.c (punishment_delay): Moved from here ...
2894 (grub_auth_strcmp): ... to here (inside function).
2895
325f5037
RM
28962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2897
2898 * include/grub/list.h (struct grub_named_list): Remove `const'
2899 qualifier from `name'.
2900 (struct grub_prio_list): Likewise.
2901
7aea29a3
RM
29022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2903
2904 * normal/auth.c: Include `<grub/time.h>'.
2905 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2906
3fd6f044
RM
29072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2908
2909 * normal/auth.c (punishment_delay): New variable.
2910 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
2911 (grub_auth_check_authentication): Punish failed login attempts with
2912 an incremental (2^N) delay.
2913
a4cd68e4
RM
29142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2915
2916 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
2917 path with $(srcdir).
2918
7ad12f43
VS
29192009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2922
c1129f03
RM
29232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2924
2925 * util/i386/coreboot/grub-mkrescue.in: New file.
2926 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
2927 variables.
2928
2929 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
2930 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
2931 * configure.ac: Add header and function checks to satisfy grub-mkisofs
2932 requirements.
2933 * util/mkisofs/defaults.h: New file.
2934 * util/mkisofs/eltorito.c: Likewise.
2935 * util/mkisofs/exclude.h: Likewise.
2936 * util/mkisofs/fnmatch.c: Likewise.
2937 * util/mkisofs/getopt.c: Likewise.
2938 * util/mkisofs/getopt1.c: Likewise.
2939 * util/mkisofs/hash.c: Likewise.
2940 * util/mkisofs/include/fctldefs.h: Likewise.
2941 * util/mkisofs/include/mconfig.h: Likewise.
2942 * util/mkisofs/include/prototyp.h: Likewise.
2943 * util/mkisofs/include/statdefs.h: Likewise.
2944 * util/mkisofs/iso9660.h: Likewise.
2945 * util/mkisofs/joliet.c: Likewise.
2946 * util/mkisofs/match.c: Likewise.
2947 * util/mkisofs/match.h: Likewise.
2948 * util/mkisofs/mkisofs.c: Likewise.
2949 * util/mkisofs/mkisofs.h: Likewise.
2950 * util/mkisofs/multi.c: Likewise.
2951 * util/mkisofs/name.c: Likewise.
2952 * util/mkisofs/rock.c: Likewise.
2953 * util/mkisofs/tree.c: Likewise.
2954 * util/mkisofs/write.c: Likewise.
2955
ec8bb77d
VS
29562009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2959 being insecure.
2960
3716b12c
RM
29612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2962
2963 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2964 `grub-mkimage' (and use $0 when possible).
2965
b97b7b91
RM
29662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2967
2968 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2969 error message for excessively large memory map.
2970
04114812
RM
29712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2972
2973 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2974 executable bit.
2975
e4eb2373
RM
29762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2977
2978 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2979 message for coreboot users.
2980
c926e1d5 29812009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2982
2983 Fix build with GNU gold.
2984
2985 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2986 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2987 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2988 link addresses.
2989 * aclocal.m4: Likewise.
2990
86e5b1db 29912009-11-04 Felix Zielcke <fzielcke@z-51.de>
2992
2993 * configure.ac (AC_PREREQ): Bump to 2.59d.
2994 * INSTALL: Make it more clear when Autoconf and Ruby are
2995 needed and when to run `./autogen.sh'.
2996
246cd78f 29972009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2998
2999 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
3000 OSes.
3001
4f9dfb37 30022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3003
3004 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
3005
b82bd5e1 30062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3007
3008 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
3009 giving it to GNU Mach.
3010
ff1a9bca 30112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3012
3013 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
3014 GNU partition number to get internal GRUB partition number.
3015
61697d9c 30162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3017
3018 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
3019 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
3020
a50569e1 30212009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3022
3023 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3024 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3025 case.
3026
5b153867 30272009-11-01 Felix Zielcke <fzielcke@z-51.de>
3028
3029 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3030
d9e2cd70 30312009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3032
3033 Fix build problem.
3034
3035 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3036 `-isystem=$(srcdir)/include'.
3037
805111a4 30382009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3039
3040 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3041 checked (grub-install doesn't currently rely on it).
3042
fa6e945f 30432009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3044
3045 Revert SVN r2660.
3046
3047 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3048 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3049 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3050 * conf/i386-ieee1275.rmk: Likewise.
3051 * conf/i386-pc.rmk: Likewise.
3052 * conf/powerpc-ieee1275.rmk: Likewise.
3053 * conf/sparc64-ieee1275.rmk: Likewise.
3054 * conf/x86_64-efi.rmk: Likewise.
3055
cee15086 30562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3057
3058 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3059
95b9239e 30602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3061
3062 * include/grub/misc.h: Stop checking for APPLE_CC.
3063
2ed19dfd 30642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3065
3066 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3067 doesn't cause an infinite call loop.
3068
fdcdde19 30692009-10-28 Felix Zielcke <fzielcke@z-51.de>
3070
3071 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3072 strings.
3073
cefabfe1 30742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3075
3076 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3077 variable.
3078 * Makefile.in: Likewise.
3079
ed96ab6d 30802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3081
3082 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3083
0579b753 30842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3085
3086 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3087
478df409 30882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3089
3090 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3091
083d1679 30922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3093
3094 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3095 from here ...
3096 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3097
5947ae32 30982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3099
3100 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3101 in $(MAKEINFO) invocation. This makes it clear in output that
3102 errors are being ignored.
3103
94180ff6 31042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3105
3106 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3107 from here ...
3108 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3109 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
3110 * conf/i386-ieee1275.rmk: Likewise.
3111 * conf/i386-pc.rmk: Likewise.
3112 * conf/powerpc-ieee1275.rmk: Likewise.
3113 * conf/sparc64-ieee1275.rmk: Likewise.
3114 * conf/x86_64-efi.rmk: Likewise.
3115
9031b03a 31162009-10-26 Colin Watson <cjwatson@ubuntu.com>
3117
3118 * util/grub-editenv.c (main): If only a command is given, use
3119 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
3120 (usage): FILENAME is now optional and has a default.
3121
e4f6809b 31222009-10-26 Colin Watson <cjwatson@ubuntu.com>
3123
3124 Improve grub-mkconfig performance when there are several menu
3125 entries on a single filesystem.
3126
3127 * util/grub.d/10_linux.in (linux_entry): Cache the output of
3128 prepare_grub_to_access_device.
3129 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3130 * util/grub.d/30_os-prober.in: Likewise.
3131
67937d4d 31322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3133
3134 * util/grub.d/10_freebsd.in: Remove.
3135 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
3136 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
3137
ee3756cc 31382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3139
5c35048e 3140 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 3141
4dea1c6f 31422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3143
3144 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
3145 grub_util_error() call.
3146
042484d7 31472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3148
3149 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
3150 `reserved_first_sector' member.
3151 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
3152 `reserved_first_sector' to 1.
3153 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
3154 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
3155 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
3156 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
3157 filesystems which begin at first sector.
3158 (options): New option --skip-fs-probe.
3159 (main): Handle --skip-fs-probe and pass it to setup().
3160
d64448a7 31612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3162
3163 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
3164 (memset): Fix function prototype.
3165
508d42ec 31662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31672009-10-25 Vasily Averin <vvs@parallels.com>
3168
3169 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
3170 `dirent.direntlen == 0'.
3171
b240e30c 31722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3173
3174 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
3175 `cpio'.
3176 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
3177
346e7fbe 31782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3179
3180 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
3181 `__trampoline_setup' and `__ucmpdi2'.
3182 * include/grub/powerpc/libgcc.h: Only export symbols for functions
3183 that libgcc provides.
3184
cdb308b0 31852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3186
3187 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
3188 * include/grub/sparc64/libgcc.h (memset): Likewise.
3189 * include/grub/misc.h (memset, memcmp): New function prototypes.
3190
fb26abc2 31912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3192
3193 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
3194 `cpio'.
3195 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
3196
f6693890 31972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3198
3199 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
3200 * docs/grub.cfg: Compensate for recent change in multiboot
3201 loader (since 2009-08-14 it won't pass filename to payload).
3202 * util/grub.d/10_hurd.in: Likewise.
3203
0933cdc0 32042009-10-21 Felix Zielcke <fzielcke@z-51.de>
3205
3206 * config.guess: Update to latest version from config git
3207 repository.
3208 * config.sub: Likewise.
3209
3b2fe8c2 32102009-10-20 Robert Millan <rmh.grub@aybabtu.com>
3211
3212 Fix build on sparc64.
3213
3214 * configure.ac: Perform checks for libgcc symbols before
3215 adding `-nostdlib' to LDFLAGS.
3216
46695a62 32172009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 Let user specify OpenBSD root device.
3220
3221 * loader/i386/bsd.c (openbsd_root): New variable.
3222 (openbsd_opts): New option 'root'.
3223 (OPENBSD_ROOT_ARG): New macro.
3224 (grub_openbsd_boot): Use 'openbsd_root'.
3225 (grub_cmd_openbsd): Fill 'openbsd_root'.
3226
d2b6b7fc 32272009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3228
3229 * NEWS: Misc adjustments.
3230
421bd7ac 32312009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
3234
f1d29d87 32352009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3236
3237 * configure.ac: Bump version to 1.97.
3238
6f3cd880 32392009-10-16 Colin Watson <cjwatson@ubuntu.com>
3240
3241 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
3242 -mno-3dnow on x86 architectures. Some toolchains enable these
3243 features by default, but they rely on registers that aren't enabled
3244 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
3245
035f7122 32462009-10-15 Robert Millan <rmh.grub@aybabtu.com>
3247
3248 Make entry text a bit more readable.
3249
3250 * util/grub.d/10_linux.in: Add `with' before `Linux'.
3251
44998e58 32522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
3255
cd2851b3 32562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
3259 operations.
3260
c6f3b249 32612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * configure.ac: Add missing dollar.
3264
6b5886ba 32652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
3268
3269 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
3270 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
3271 exports.
3272 * include/grub/sparc64/libgcc.h: Likewise. Use
3273 preprocessor conditionals.
3274
e9d66f6d 32752009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3276
3277 * conf/common.rmk (grub-dumpbios): Remove rule.
3278 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
3279 * util/grub-dumpbios.in: Remove file.
3280
9155bc17 32812009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3282
3283 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
3284 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
3285
3286 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
3287 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
3288 users.
3289
3290 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
3291 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
3292 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
3293 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
3294 users.
3295
bf7f7a18 32962009-10-12 Robert Millan <rmh.grub@aybabtu.com>
3297
3298 * term/tparm.c: Switch to GPLv3.
3299
86564c26 33002009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3301
3302 * include/grub/i386/cpuid.h: Add header protection.
3303
5c936493 33042009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3305
3306 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
3307
3308 * include/grub/i386/cpuid.h: New file.
3309 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
3310 (has_longmode): Rename to ...
3311 (grub_cpuid_has_longmode): ... this. Update all users. Remove
3312 `static' attribute.
3313 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
3314 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
3315 on a CPU that doesn't implement AMD64 instruction set.
3316
186e7cf2 33172009-10-06 Colin Watson <cjwatson@ubuntu.com>
3318
3319 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
3320 that version.texi is rebuilt on version number changes.
3321
83b65c4a 33222009-10-06 Colin Watson <cjwatson@ubuntu.com>
3323
3324 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
3325 Fixes bug #27602.
3326
d244281c 33272009-10-06 Colin Watson <cjwatson@ubuntu.com>
3328
3329 * util/i386/pc/grub-install.in: Source
3330 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
3331 that the --grub-probe option will work.
3332 * util/sparc64/ieee1275/grub-install.in: Likewise.
3333
da25306d 33342009-10-05 Robert Millan <rmh.grub@aybabtu.com>
3335
3336 * configure.ac: Bump version to 1.97~beta4.
3337
e8ee83c0 33382009-10-03 Robert Millan <rmh.grub@aybabtu.com>
3339
3340 Resync grub-mkdevicemap in x86_64-efi.
3341
3342 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
3343 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
3344 `util/devicemap.c'.
3345
50dcabcf 33462009-10-01 Colin Watson <cjwatson@ubuntu.com>
3347
3348 * util/grub-editenv.c (create_envblk_file): Write new block with a
3349 .new suffix and then rename it into place, to ensure atomic
3350 creation.
3351
0e51c3a7 33522009-09-28 Robert Millan <rmh.grub@aybabtu.com>
3353
3354 Do not automatically install headers.
3355
3356 * Makefile.in (include_DATA): Remove. Update all users.
3357
31299a95 33582009-09-26 Robert Millan <rmh.grub@aybabtu.com>
3359
3360 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
3361 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
3362
3363 * util/osdetect.lua: Remove.
3364 * script/lua/lauxlib.c: Likewise.
3365 * script/lua/ldebug.c: Likewise.
3366 * script/lua/grub_main.c: Likewise.
3367 * script/lua/lauxlib.h: Likewise.
3368 * script/lua/ldebug.h: Likewise.
3369 * script/lua/ltablib.c: Likewise.
3370 * script/lua/liolib.c: Likewise.
3371 * script/lua/lstrlib.c: Likewise.
3372 * script/lua/lualib.h: Likewise.
3373 * script/lua/ldo.c: Likewise.
3374 * script/lua/ldump.c: Likewise.
3375 * script/lua/ldo.h: Likewise.
3376 * script/lua/loslib.c: Likewise.
3377 * script/lua/lundump.c: Likewise.
3378 * script/lua/grub_lib.c: Likewise.
3379 * script/lua/ldblib.c: Likewise.
3380 * script/lua/lundump.h: Likewise.
3381 * script/lua/lmem.c: Likewise.
3382 * script/lua/grub_lib.h: Likewise.
3383 * script/lua/lmathlib.c: Likewise.
3384 * script/lua/lstate.c: Likewise.
3385 * script/lua/ltm.c: Likewise.
3386 * script/lua/lvm.c: Likewise.
3387 * script/lua/lmem.h: Likewise.
3388 * script/lua/lstate.h: Likewise.
3389 * script/lua/ltm.h: Likewise.
3390 * script/lua/ltable.c: Likewise.
3391 * script/lua/lvm.h: Likewise.
3392 * script/lua/llex.c: Likewise.
3393 * script/lua/lgc.c: Likewise.
3394 * script/lua/grub_lua.h: Likewise.
3395 * script/lua/loadlib.c: Likewise.
3396 * script/lua/lfunc.c: Likewise.
3397 * script/lua/lopcodes.c: Likewise.
3398 * script/lua/lparser.c: Likewise.
3399 * script/lua/ltable.h: Likewise.
3400 * script/lua/llex.h: Likewise.
3401 * script/lua/lgc.h: Likewise.
3402 * script/lua/lfunc.h: Likewise.
3403 * script/lua/lbaselib.c: Likewise.
3404 * script/lua/lopcodes.h: Likewise.
3405 * script/lua/lparser.h: Likewise.
3406 * script/lua/lzio.c: Likewise.
3407 * script/lua/linit.c: Likewise.
3408 * script/lua/lobject.c: Likewise.
3409 * script/lua/llimits.h: Likewise.
3410 * script/lua/lstring.c: Likewise.
3411 * script/lua/lzio.h: Likewise.
3412 * script/lua/lapi.c: Likewise.
3413 * script/lua/lcode.c: Likewise.
3414 * script/lua/lua.h: Likewise.
3415 * script/lua/lobject.h: Likewise.
3416 * script/lua/lstring.h: Likewise.
3417 * script/lua/lapi.h: Likewise.
3418 * script/lua/lcode.h: Likewise.
3419 * script/lua/luaconf.h: Likewise.
3420
cb8a2c38 34212009-09-26 Colin Watson <cjwatson@ubuntu.com>
3422
3423 * docs/grub.texi (Command-line and menu entry commands): Document
3424 date and echo commands.
3425
6b9b6276 34262009-09-24 Pavel Roskin <proski@gnu.org>
3427
3428 * include/grub/kernel.h (struct grub_module_header): Remove
3429 `grub_module_header_types'. Make `type' unsigned. Make `size'
3430 32-bit on all platforms.
3431 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
3432 8-bit field. Use grub_host_to_target32() for `size'.
3433 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
3434 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
3435 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
3436
4e5a02a7 34372009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3438
3439 Fix "lost keypress" bug in at_keyboard.
3440
3441 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
3442 Checks for readyness of input buffer (without flushing it).
3443 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
3444 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
3445
c6dcedf6 34462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3447
3448 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
3449 size check within GRUB_MACHINE_PCBIOS section.
3450
74c958b1 34512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3452
3453 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
3454 return value.
3455 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
3456 KEYBOARD_ISREADY check.
3457 (grub_at_keyboard_checkkey): Rename to ...
3458 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
3459 Remove gratuitous cast.
3460
ff420223 34612009-09-23 Colin Watson <cjwatson@ubuntu.com>
3462
3463 * configure.ac: Call AC_PROG_MKDIR_P.
3464 * Makefile.in (docs/stamp-vti): Create docs directory. Create
3465 version.texi in $(builddir) rather than $(srcdir).
3466 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
3467 to makeinfo's @include search path.
3468
d96875df 34692009-09-23 Felix Zielcke <fzielcke@z-51.de>
3470
3471 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
3472
9b3f8365 34732009-09-23 Felix Zielcke <fzielcke@z-51.de>
3474
3475 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
3476 for `*.dpkg-new'.
3477
c44c90db 34782009-09-21 Colin Watson <cjwatson@ubuntu.com>
3479
3480 Build info documentation. Some code borrowed from Automake.
3481
3482 * configure.ac: Check for makeinfo.
3483 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
3484 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
3485 docs/version.texi.
3486 (MOSTLYCLEANFILES): Add vti.tmp.
3487 (docs/version.texi, docs/stamp-vti): Update automatically.
3488 (docs/grub.info): Build info documentation. Use --force and ignore
3489 errors for now.
3490 (all-local): Add $(INFOS).
3491 (install-local): Install info files.
3492 (uninstall): Uninstall info files.
3493 * docs/version.texi: Remove from revision control. This file is
3494 automatically generated on build now.
3495 * gendistlist.sh: Add `*.info'.
3496
e0b37bb5 34972009-09-21 Felix Zielcke <fzielcke@z-51.de>
3498
3499 * kern/term.c: Fix indentation.
3500
5a78865b 35012009-09-21 Felix Zielcke <fzielcke@z-51.de>
3502
3503 * util/hostdisk.c: Fix a comment.
3504
dace7e8a 35052009-09-20 Robert Millan <rmh.grub@aybabtu.com>
3506
3507 Fix regression introduced in r2539.
3508
3509 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
3510 to 0xA1.
3511
a83d079b 35122009-09-19 Colin Watson <cjwatson@ubuntu.com>
3513
3514 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 3515 os-prober. Under normal operation, it does not print anything to
3516 stderr; if it does, we need to debug it, and throwing away stderr
3517 makes that excessively difficult.
a83d079b 3518
be94a509 35192009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
3522
63f745e8 35232009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3524
3525 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
3526 AC_LANG_PROGRAM from autoconf.
3527 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
3528 prototypes (fixes warning).
3529
3530 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
3531 `--disable-werror' was used.
3532
bbb2a70f 35332009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3534
3535 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
3536 uninitialized `lastaddr'.
3537
77c24f1d 35382009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3539
0f0b8c87 3540 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 3541
07197f23 35422009-09-14 Colin Watson <cjwatson@ubuntu.com>
3543
3544 * commands/test.c (get_fileinfo): Return immediately if
3545 grub_fs_probe fails.
3546
dabf1798 35472009-09-14 José Martínez <xosemp@gmail.com>
3548
3549 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
3550
d52109a7 35512009-09-14 Colin Watson <cjwatson@ubuntu.com>
3552
3553 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
3554 output.
3555
56532179 35562009-09-13 Robert Millan <rmh.grub@aybabtu.com>
3557
3558 * configure.ac: Remove --enable-grub-pe2elf. Only build
3559 grub-pe2elf when needed by the build system itself.
3560 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
3561
8ef070f5 35622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3563
3564 * configure.ac: Bump version to 1.97~beta3.
3565 * docs/version.texi: Likewise.
3566
61229557 35672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3568
3569 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
3570 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
3571 from here ...
3572 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
3573 (grub_linux_setup_video): ... to here (with some adjustments).
3574
5c9f8d84 35752009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3576
3577 Fix memory corruption issue (spotted by Colin Watson).
3578
3579 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
3580 causing returned size to be stored in an incorrect memory location.
3581 Fix use of uninitialized value when storing the returned size.
3582
e8f5d6e9 35832009-09-12 Yves Blusseau <blusseau@zetam.org>
3584
3585 Change clean rules to properly remove files
3586
3587 * genmk.rb: add new clean rules
3588 * Makefile.in (clean): add the new targets
3589 (mostlyclean): likewise
3590
cda2a409 35912009-09-11 Colin Watson <cjwatson@ubuntu.com>
3592
3593 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
3594 to grub_uint64_t.
3595 * fs/ntfs.c (init_file): Understand 64-bit sizes for
3596 non-resident files.
3597
86695375 35982009-09-11 Colin Watson <cjwatson@ubuntu.com>
3599
3600 * configure.ac: Don't look for help2man when cross-compiling. Fixes
3601 part of bug #27349.
3602
8aa1541a 36032009-09-10 Felix Zielcke <fzielcke@z-51.de>
3604
3605 * util/grub-mkconfig.in: Make the created config mode 400 and
3606 print a warning if it fails.
3607
48d9bb0a 36082009-09-10 Robert Millan <rmh.grub@aybabtu.com>
3609
3610 * util/grub.d/40_custom.in: Ask user to type custom entries below
3611 comment, rather than below 'exec tail' line.
3612
3b0521be 36132009-09-10 Colin Watson <cjwatson@ubuntu.com>
3614
3615 * util/grub.d/40_custom.in: Make sure that the explanatory text is
3616 visible in grub.cfg.
3617
50051d55 36182009-09-10 Colin Watson <cjwatson@ubuntu.com>
3619
3620 * util/grub.d/40_custom.in: Make it a little clearer how to use this
3621 file.
3622
c0d34387 36232009-09-10 Felix Zielcke <fzielcke@z-51.de>
3624
3625 * docs/grub.cfg: Add an example menu entry for memtest86+.
3626
80a608f3 36272009-09-09 Felix Zielcke <fzielcke@z-51.de>
3628
a2094832 3629 * config.guess: Update to latest version from config git.
80a608f3 3630 * config.sub: Likewise.
3631
99423078 36322009-09-08 Colin Watson <cjwatson@ubuntu.com>
3633
3634 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
3635 unknown-command case. Fixes bug #27320.
3636
44454e4c 36372009-09-08 Felix Zielcke <fzielcke@z-51.de>
3638
3639 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
3640 `help' if the command exists.
3641
e30d87ad 36422009-09-06 Robert Millan <rmh.grub@aybabtu.com>
3643
3644 * INSTALL: Require GCC 4.1.3 or later.
3645
9a86f1ec 36462009-09-06 Yves Blusseau <blusseau@zetam.org>
3647
3648 * Makefile.in (RMKFILES): add i386-qemu.rmk
3649 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
3650 $(srcdir)/stamp-h.in
3651
7f26d466 36522009-09-05 Robert Millan <rmh.grub@aybabtu.com>
3653
3654 * util/grub-probe.c (probe): Comment out buggy codepath, which
3655 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
3656 should be re-enabled after 1.97.
3657
3a613259 36582009-09-05 Felix Zielcke <fzielcke@z-51.de>
3659
3660 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
3661 find searches for.
3662
197f76c7 36632009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
3666 unnecessary calls to grub_error.
3667
70ba68ce 36682009-09-04 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * NEWS: Mention `keystatus' and Unicode fonts.
3671
4ff0d7a4 36722009-09-04 Robert Millan <rmh.grub@aybabtu.com>
3673
3674 * configure.ac: Bump version to 1.97~beta2.
3675 * docs/version.texi: Likewise.
3676
77c55a87 36772009-09-03 Colin Watson <cjwatson@ubuntu.com>
3678
3679 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
3680 containing unwind information in some cases where it previously did
3681 not. Use -fno-dwarf2-cfi-asm if available to restore the old
3682 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
3683 discussion.
3684
f79572cd 36852009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
3686
3687 Embedding loadenv module into grub-emu
3688
3689 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
3690 commands/loadenv.c
3691 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
3692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
3693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
3694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
3695 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
3696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
3697
93a81088 36982009-09-03 Magnus Granberg <zorry@ume.nu>
3699
3700 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
3701 include -fPIE in the default specs.
3702 * configure.ac: Check if pie_possible is yes and add -fno-PIE
3703 to TARGET_CFLAGS.
3704
160034b2 37052009-09-03 Felix Zielcke <fzielcke@z-51.de>
3706
3707 * INSTALL: Note that GNU Bison 2.3 or later is required.
3708
087c07c4 37092009-09-03 Colin Watson <cjwatson@ubuntu.com>
3710
3711 * kern/i386/pc/startup.S: Fix typo.
3712
cbf978c0 37132009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
3716 according to GCS.
3717
37182009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 3719
3720 * docs/grub.texi (Naming convention): Describe one-based partition
3721 numbering.
3722 (Device syntax): Likewise.
3723 (File name syntax): Likewise.
3724 (Block list syntax): Likewise.
3725 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
3726 menu.lst.
3727 (File name syntax): Likewise.
3728 (Command-line and menu entry commands): Document acpi, blocklist,
3729 crc, export, insmod, keystatus, ls, set, and unset commands.
3730
f3e8cdfd 37312009-09-02 Colin Watson <cjwatson@ubuntu.com>
3732
3733 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
3734 to avoid implying that only one of --shift, --ctrl, or --alt may be
3735 used.
3736
c0bc232b 37372009-09-02 Colin Watson <cjwatson@ubuntu.com>
3738
3739 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
3740 rather than comparing against S_IFREG, which will almost never work.
3741
aa0f752d 37422009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
3745 (write_blocklists): Likewise.
3746
ecb3166a 37472009-09-01 Colin Watson <cjwatson@ubuntu.com>
3748
3749 * script/lua/grub_lua.h (fputs): Supply a format string as the first
3750 argument to grub_printf.
3751
c403a125 37522009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 3753
3754 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 3755 non GNU test.
31aba781 3756
b5e7312c 37572009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * kern/file.c (grub_file_read): Spelling fix
3760
fe00f472 37612009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
3764 loading of headers in some cases.
3765
cc55302e 37662009-08-30 Robert Millan <rmh.grub@aybabtu.com>
3767
3768 * configure.ac: Bump version to 1.97~beta1.
3769 * docs/version.texi: Likewise.
3770
5c90cdd2 37712009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 3772
3773 * include/grub/i386/xnu.h: Add license header.
3774 include grub/err.h explicitly.
3775
c90edae4 37762009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3777
3778 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
3779 to `ufs' in the vfs.root.mountfrom kernel parameter.
3780
d8888b5c 37812009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3782
3783 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
3784
3785 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
3786 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
3787
3788 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
3789 `ARRAY_SIZE' macro.
3790
6f07b921 37912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * kern/file.c (grub_file_read): Check offset.
3794 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
3795 * fs/jfs.c (grub_jfs_read_file): Likewise.
3796 * fs/ntfs.c (grub_ntfs_read): Likewise.
3797 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
3798 * fs/minix.c (grub_minix_read_file): Correct offset check.
3799 * fs/ufs.c (grub_ufs_read_file): Likewise.
3800
b4f34077 38012009-08-28 Colin Watson <cjwatson@ubuntu.com>
3802
3803 * term/i386/pc/console.c (bios_data_area): Cast
3804 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
3805
e7c69859 38062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 1-bit optimised blitters.
3809
3810 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
3811 prototype.
3812 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3813 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3814 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3815 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3816 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3817 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3818 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
3819 function.
3820 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3821 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3822 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3823 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3824 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3825 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3826 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
3827 when possible.
3828 * video/video.c (grub_video_get_blit_format): Return
3829 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
3830
a57da43f 38312009-08-28 Colin Watson <cjwatson@ubuntu.com>
3832
3833 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
3834 the first argument to grub_printf.
3835
4cbe67e5 38362009-08-28 Colin Watson <cjwatson@ubuntu.com>
38372009-08-28 Robert Millan <rmh.grub@aybabtu.com>
3838
3839 Add `getkeystatus' terminal method. Add a new `keystatus' command
3840 to query it.
3841
3842 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
3843 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
3844 modifier key bitmasks.
3845 (struct grub_term_input): Add `getkeystatus' member.
3846 (grub_getkeystatus): Add prototype.
3847 * kern/term.c (grub_getkeystatus): New function.
3848
3849 * include/grub/i386/pc/memory.h
3850 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
3851 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
3852 Data Area layout.
3853 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
3854 (grub_console_term_input): Set `getkeystatus' member.
3855 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
3856 constants.
3857 (grub_usb_keyboard_getreport): Likewise.
3858 (grub_usb_keyboard_checkkey): Likewise.
3859 (grub_usb_keyboard_getkeystatus): New function.
3860 (grub_usb_keyboard_term): Set `getkeystatus' member.
3861
3862 * commands/keystatus.c: New file.
3863 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
3864 (keystatus_mod_SOURCES): New variable.
3865 (keystatus_mod_CFLAGS): Likewise.
3866 (keystatus_mod_LDFLAGS): Likewise.
3867 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
3868 commands/keystatus.c.
3869 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3871 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3873 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3874 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 3875
6e2a9085 38762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Split befs.mod and afs.mod into *_be.mod and *.mod
3879
3880 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
3881 (grub_fstest_SOURCES): Likewise.
3882 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
3883 (afs_be_mod_SOURCES): New variable.
3884 (afs_be_mod_CFLAGS): Likewise.
3885 (afs_be_mod_LDFLAGS): Likewise.
3886 (befs_be_mod_SOURCES): Likewise.
3887 (befs_be_mod_CFLAGS): Likewise.
3888 (befs_be_mod_LDFLAGS): Likewise.
3889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
3890 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3891 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3892 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3893 (grub_emu_SOURCES): Likewise.
3894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3895 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3896 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3897 * fs/afs_be.c: New file.
3898 * fs/befs_be.c: New file.
3899 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
3900 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
3901 (U16): Replaced with ...
3902 (grub_afs_to_cpu16): ...this. All users updated.
3903 (U32): Replaced with ...
3904 (grub_afs_to_cpu32): ...this. All users updated.
3905 (U64): Replaced with ...
3906 (grub_afs_to_cpu64): ...this. All users updated.
3907 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
3908 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 3909 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 3910 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3911 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3912 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3913 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3914 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3915 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3916 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3917 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3918
32a71655 39192009-08-26 Bean <bean123ch@gmail.com>
3920
3921 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
3922 64-bit number.
3923 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3924 (grub_xfs_inode_block): Change return type to grub_uint64_t.
3925 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
3926
552bf6c5 39272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 NetBSD memory map support.
3930
3931 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
3932 (grub_netbsd_btinfo_mmap_header): New structure.
3933 (grub_netbsd_btinfo_mmap_entry): Likewise.
3934 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
3935
1ae2078c 39362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Enable bsd.mod on coreboot.
3939
3940 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3941 (bsd_mod_SOURCES): New variable.
3942 (bsd_mod_CFLAGS): Likewise.
3943 (bsd_mod_LDFLAGS): Likewise.
3944 (bsd_mod_ASFLAGS): Likewise.
3945 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3946 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3947
beefc598 39482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Cleanup NetBSD root support.
3951
3952 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3953 grub_bsd_get_device.
3954 Fix typo.
3955
3b76e68b 39562009-08-25 Felix Zielcke <fzielcke@z-51.de>
3957
3958 * util/grub.d/00_header.in: Move check for the video backend of
3959 gfxterm from here ...
3960 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3961 a suitable video backend.
3962
aea664ea 39632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Fix breakage in grub-setup.
3966
3967 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3968 "msdos_partition_map".
3969
ff747d50 39702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 Fix breakage in normal/auth.c.
3973
3974 * normal/auth.c (grub_iswordseparator): New function.
3975
e7e1f93f 39762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Authentication support.
3979
3980 * commands/password.c: New file.
3981 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3982 (password_mod_SOURCES): New variable.
3983 (password_mod_CFLAGS): Likewise.
3984 (password_mod_LDFLAGS): Likewise.
3985 (normal_mod_SOURCES): Add normal/auth.c.
3986 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3987 normal/auth.c.
3988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3990 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3992 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3993 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3994 * include/grub/auth.h: New file.
3995 * include/grub/err.h (grub_err_t): New enum value
3996 GRUB_ERR_ACCESS_DENIED.
3997 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3998 'users'.
3999 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
4000 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
4001 users updated.
4002 * normal/auth.c: New file.
4003 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
4004 (grub_cmdline_run): Don't allow to go to command line without
4005 authentication.
4006 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
4007 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
4008 menuentry without superuser rights.
4009 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
4010 user isn't a superuser.
4011
70f1161d 40122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 Save space by inlining misc.c functions.
4015
4016 * kern/misc.c (grub_iswordseparator): Made static.
4017 * kern/misc.c (grub_strcat): Moved from here ...
4018 * include/grub/misc.h (grub_strcat): ... here. Inlined.
4019 * kern/misc.c (grub_strncat): Moved from here ...
4020 * include/grub/misc.h (grub_strncat): ... here. Inlined.
4021 * kern/misc.c (grub_strcasecmp): Moved from here ...
4022 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4023 * kern/misc.c (grub_strncasecmp): Moved from here ...
4024 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4025 * kern/misc.c (grub_isalpha): Moved from here ...
4026 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4027 * kern/misc.c (grub_isdigit): Moved from here ...
4028 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4029 * kern/misc.c (grub_isgraph): Moved from here ...
4030 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4031 * kern/misc.c (grub_tolower): Moved from here ...
4032 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4033
48e40bff 40342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * script/sh/function.c (grub_script_function_find): Cut error message
4037 not to flood terminal.
4038 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4039 limit.
4040 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4041
c385bfc3 40422009-08-24 Colin Watson <cjwatson@ubuntu.com>
4043
4044 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4045 `report' grub_uint8_t *.
4046 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4047 Use a 50-millisecond timeout rather than just repeating
4048 grub_usb_keyboard_getreport 50 times.
4049 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4050
2d21e3e8 40512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Rename *_partition_map to part_*
4054
4055 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4056 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4057 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4058 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4059 All users updated.
4060 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4061 All users updated.
4062 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4063 * util/grub-probe.c (probe_partmap): Don't transform partition name
4064 to get module name.
4065
dd103c4e 40662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Fix OpenBSD and NetBSD support.
4069
4070 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4071 memory address conflict.
4072 (OPENBSD_MMAP_ACPI): New definition.
4073 (OPENBSD_MMAP_NVS): Likewise.
4074 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4075 and OPENBSD_MMAP_NVS.
4076 Add memory map terminator
4077 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4078 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4079
16c84d74 40802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 Let user specify NetBSD root device.
4083
4084 * loader/i386/bsd.c (netbsd_root): New variable.
4085 (netbsd_opts): New option 'root'.
4086 (NETBSD_ROOT_ARG): New macro.
4087 (grub_netbsd_boot): Use 'netbsd_root'.
4088 (grub_bsd_unload): Free 'netbsd_root'.
4089 (grub_cmd_netbsd): Fill 'netbsd_root'.
4090
adb29902 40912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Support for 64-bit NetBSD.
4094
4095 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4096 point when booting non-FreeBSD.
4097
f5ae9f74 40982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Support --no-smp and --no-acpi for NetBSD.
4101
4102 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4103 (NETBSD_AB_NOACPI): Likewise.
4104 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4105 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4106
de74f136 41072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
4110 errors.
4111 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
4112 errors. Call grub_error when needed.
4113
e9a925da 41142009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * commands/search.c (search_fs): Try searching without autoload first.
4117 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4118 filesystem module explicitly for faster booting.
4119
5174302b 41202009-08-23 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
4123
c8c80635 41242009-08-23 Colin Watson <cjwatson@ubuntu.com>
4125
4126 * util/grub.d/30_os-prober.in: Disable os-prober if
4127 `GRUB_DISABLE_OS_PROBER' was set to true.
4128
71acf5e5 41292009-08-23 Robert Millan <rmh.grub@aybabtu.com>
4130
4131 * partmap/pc.c: Rename to ...
4132 * partmap/msdos.c: ... this. Update all users.
4133 (grub_pc_partition_map): Rename to ...
4134 (grub_msdos_partition_map): ... this. Update all users.
4135
4136 * parttool/pcpart.c: Rename to ...
4137 * parttool/msdospart.c: ... this. Update all users.
4138
4139 * include/grub/pc_partition.h: Rename to ...
4140 * include/grub/msdos_partition.h: ... this. Update all users.
4141 (grub_pc_partition_bsd_entry): Rename to ...
4142 (grub_msdos_partition_bsd_entry): ... this. Update all users.
4143 (grub_pc_partition_disk_label): Rename to ...
4144 (grub_msdos_partition_disk_label): ... this. Update all users.
4145 (grub_pc_partition_entry): Rename to ...
4146 (grub_msdos_partition_entry): ... this. Update all users.
4147 (grub_pc_partition_mbr): Rename to ...
4148 (grub_msdos_partition_mbr): ... this. Update all users.
4149 (grub_pc_partition): Rename to ...
4150 (grub_msdos_partition): ... this. Update all users.
4151 (grub_pc_partition_is_empty): Rename to ...
4152 (grub_msdos_partition_is_empty): ... this. Update all users.
4153 (grub_pc_partition_is_extended): Rename to ...
4154 (grub_msdos_partition_is_extended): ... this. Update all users.
4155 (grub_pc_partition_is_bsd): Rename to ...
4156 (grub_msdos_partition_is_bsd): ... this. Update all users.
4157
4158 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
4159 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
4160 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
4161 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
4162 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
4163 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
4164 (gpt_mod_LDFLAGS): Rename to ...
4165 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
4166 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
4167 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
4168 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
4169 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
4170 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
4171 (part_gpt_mod_LDFLAGS): ... this.
4172 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
4173 `pcpart.mod' to `msdospart.mod'.
4174 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
4175 to ...
4176 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
4177 (msdospart_mod_LDFLAGS): ... this.
4178
c11fded5 41792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
4182 (openbsd_opts): Likewise.
4183 (netbsd_opts): Likewise.
4184 (freebsd_flags): Added 0 terminator.
4185 (openbsd_flags): Likewise.
4186 (netbsd_flags): Likewise.
4187 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
4188 (grub_cmd_freebsd): Transformed into extended command.
4189 (grub_cmd_openbsd): Likewise.
4190 (grub_cmd_netbsd): Likewise.
4191 (cmd_freebsd): Changed type to grub_extcmd_t.
4192 (cmd_openbsd): Likewise.
4193 (cmd_netbsd): Likewise.
4194 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
4195 grub_cmd_openbsd as extended commands.
4196 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
4197 cmd_netbsd and cmd_openbsd
4198
11d1c769 41992009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
4202
7a9094e5 42032009-08-21 Pavel Roskin <proski@gnu.org>
4204
5496c37e 4205 * Makefile.in (install-local): When checking if a file is in the
4206 build directory, use "test -e" to detect symlinks.
4207
7a9094e5 4208 * Makefile.in (install-local): Remove all files in
4209 $(DESTDIR)$(pkglibdir) before installing new files there.
4210
e53cea11 42112009-08-18 Felix Zielcke <fzielcke@z-51.de>
4212
4213 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
4214 grub-mkelfimage.
4215
9aced544 42162009-08-18 Felix Zielcke <fzielcke@z-51.de>
4217
4218 * util/grub-mkconfig.in: Don't use gfxterm by default if not
4219 explicitly specified by the user.
4220
b7da6bab 42212009-08-18 Pavel Roskin <proski@gnu.org>
4222
4223 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
4224 grub_uint8_t pointer for data.
4225 * include/grub/fbutil.h (struct grub_video_fbblit_info):
4226 Likewise.
4227 * video/fb/fbutil.c: Remove unnecessary casts.
4228
19f1b335 42292009-08-17 Michal Suchanek <hramrach@centrum.cz>
4230
4231 VBE cleanup.
4232
4233 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
4234 (grub_vbe_set_video_mode): Save active mode info
4235 only after setting the mode.
4236 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
4237 second argument.
4238
2f467aa9 42392009-08-17 Michal Suchanek <hramrach@centrum.cz>
4240
4241 Rename variables for clarity.
4242
4243 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
4244 (active_vbe_mode_info): ... this. All users updated.
4245 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
4246 All users updated.
4247 (initial_mode): Rename to ...
4248 (initial_vbe_mode): ... this. All users updated.
4249 (mode_in_use): Rename to ..
4250 (vbe_mode_in_use): ... this. All users updated.
4251 (mode_list): Rename to ..
4252 (vbe_mode_list): ... this. All users updated.
4253 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
4254 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
4255 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
4256 'mode_list_size' to 'vbe_mode_list_size'.
4257 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
4258 'best_mode_info' to 'best_vbe_mode_info' and
4259 'best_mode' to 'best_vbe_mode'
4260
6025fcd7 42612009-08-17 Michal Suchanek <hramrach@centrum.cz>
4262
4263 Remove duplicate grub_video_fb_get_video_ptr.
4264
4265 * include/grub/fbutil.h (get_data_ptr): Rename to ...
4266 (grub_video_fb_get_video_ptr): ... this.
4267 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
4268 * video/fb/fbutil.c: Add comment about addressing.
4269 (get_data_ptr): Rename to ...
4270 (grub_video_fb_get_video_ptr): ... this. All users updated.
4271 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
4272
cc8c6faf 42732009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4274
4275 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
4276 grub_dprintf() that was just added.
4277
08aa61f0 42782009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4279
4280 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
4281 (DEFAULT_VIDEO_MODE): Remove macros.
4282 (grub_linux_boot): Remove assumption that Linux has FB support,
4283 and use "text" as default video mode.
4284
7cef4f75 42852009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
4288 grub_dprintf.
4289 * fs/fat.c (grub_fat_read_data): Likewise.
4290
e1f39873 42912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
4294 payload.
4295 (grub_module): Likewise.
4296
c166d79e 42972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
4300 mbi->cmdline but free playground.
4301
c60cee8e 43022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Handle group offset on UFS1.
4305
4306 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
4307 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
4308
c0d8b5d4 43092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Split ufs.mod into ufs1.mod and ufs2.mod.
4312
4313 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
4314 (grub_fstest_SOURCES): Likewise.
4315 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
4316 (ufs_mod_SOURCES): Remove.
4317 (ufs_mod_CFLAGS): Likewise.
4318 (ufs_mod_LDFLAGS): Likewise.
4319 (ufs1_mod_SOURCES): New variable.
4320 (ufs1_mod_CFLAGS): Likewise.
4321 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 4322 (ufs2_mod_SOURCES): New variable.
4323 (ufs2_mod_CFLAGS): Likewise.
4324 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 4325 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
4326 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4327 Likewise.
4328 (grub_emu_SOURCES): Likewise.
4329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4330 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4331 (grub_setup_SOURCES): Likewise.
4332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4333 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
4334 (grub_setup_SOURCES): Likewise.
4335 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4336 Likewise.
4337 * fs/ufs2.c: New file.
4338 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
4339
d3539132 43402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Framebuffer split.
4343
4344 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
4345 subsystem at the end.
4346 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
4347 (video_fb_mod_SOURCES): New variable.
4348 (video_fb_mod_CFLAGS): Likewise.
4349 (video_fb_mod_LDFLAGS): Likewise.
4350 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
4351 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
4352 * video/i386/pc/vbeblit.c: Moved from here ...
4353 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
4354 * video/i386/pc/vbefill.c: Moved from here ...
4355 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
4356 * video/i386/pc/vbeutil.c: Moved from here ...
4357 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
4358 * include/grub/i386/pc/vbeblit.h: Moved from here ...
4359 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
4360 * include/grub/i386/pc/vbefill.h: Moved from here ...
4361 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
4362 * include/grub/i386/pc/vbeutil.h: Moved from here ...
4363 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
4364 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
4365 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
4366 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
4367 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
4368 (grub_video_adapter): Added 'get_info_and_fini'.
4369 (grub_video_get_info_and_fini): New prototype.
4370 (grub_video_set_mode): make modestring const char *.
4371 * loader/i386/linux.c (grub_linux_setup_video): Use
4372 grub_video_get_info_and_fini.
4373 (grub_linux_boot): Move modesetting just before booting.
4374 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
4375 grub_video_get_info_and_fini.
4376 * video/i386/pc/vbe.c: Moved framebuffer part ...
4377 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
4378 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
4379 grub_video_fbstd_colors and grub_video_fb_set_palette.
4380 (grub_video_vbe_init): Clear 'framebuffer' variable and use
4381 grub_video_fb_init.
4382 (grub_video_vbe_fini): Use grub_video_fb_fini.
4383 (grub_video_vbe_setup): Use framebuffer.render_target instead of
4384 render_target and use grub_video_fb_set_active_render_target and
4385 grub_video_fb_set_palette.
4386 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
4387 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
4388 (grub_video_vbe_adapter): Use framebuffer.
4389 * video/video.c (grub_video_get_info_and_fini): New function.
4390 (grub_video_set_mode): Make modestring const char *.
4391 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
4392 values are already initialised.
4393
d404ee56 43942009-08-14 Pavel Roskin <proski@gnu.org>
4395
4396 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
4397 ABS and APPLE_CC.
4398 * boot/i386/pc/diskboot.S: Likewise.
4399 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
4400 sectors allow compilation on MacOSX.
4401 * conf/i386-pc.rmk: Enable unconditional compilation of
4402 lnxboot.img.
4403
9a10df16 44042009-08-13 Colin Watson <cjwatson@ubuntu.com>
4405
4406 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
4407 * util/grub.d/00_header.in: Enter interruptible sleep if
4408 GRUB_HIDDEN_TIMEOUT is set.
4409
be3c9ca7 44102009-08-13 Yves Blusseau <blusseau@zetam.org>
4411
4412 * include/grub/symbol.h: Add the LOCAL macro.
4413 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
4414 starting with "L_".
4415
1f9e557e 44162009-08-13 Pavel Roskin <proski@gnu.org>
4417
9ca62843 4418 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
4419 any modern compilers we support.
4420
1f9e557e 4421 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
4422 Use local labels starting with "L_" so that Apple assembler
4423 knows they are local.
4424
81623db6 44252009-08-10 Robert Millan <rmh.grub@aybabtu.com>
4426
4427 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
4428 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
4429 (bsd_kernel_types): ... this enum.
4430
4431 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
4432 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
4433 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
4434
4435 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
4436 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
4437 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
4438 messages.
4439
f5d35e7a 44402009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4441
4442 * util/grub-dumpdevtree: Moved from here ...
4443 * util/i386/efi/grub-dumpdevtree: ... to here.
4444 (hexify): New function. Converts a string to its hex version.
4445 Generate hex versions of "efi" and "device-properties" by calling
4446 hexify() on the ASCII strings rather than by hardcoding numbers.
4447
d1e1d527 44482009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4449
4450 * fs/jfs.c: Update copyright year.
4451
1ebbe064 44522009-08-08 Felix Zielcke <fzielcke@z-51.de>
4453
4454 * util/grub.d/00_header.in: Fix a comment.
4455 * util/grub.d/10_linux.in: Likewise.
4456 * util/grub.d/10_windows.in: Likewise.
4457 * util/grub.d/10_hurd.in: Likewise.
4458
a78c8d24 44592009-08-08 Felix Zielcke <fzielcke@z-51.de>
4460
4461 * util/grub-mkconfig.in: Allow the user to specify the used font
4462 with GRUB_FONT.
4463
29a6b9e8 44642009-08-08 Pavel Roskin <proski@gnu.org>
4465
b5f16cc4 4466 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
4467 available, xfs.mod needs it now.
4468
2f5cb827 4469 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
4470 the "g" modifier in sed when the intention is to strip something
4471 once. This fixes comparison of kernels with multiple dashes.
4472
29a6b9e8 4473 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
4474 on it. Add missing space before closing bracket. Fix
4475 misleading formatting.
4476
892a3d98 44772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4478
4479 * docs/grub.texi: Major overhaul. Remove all sections that are
4480 specific to GRUB Legacy, or mostly composed of Legacy-specific
4481 information.
4482
ed94253f 44832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4484
4485 * docs/version.texi: New file. Provides version information for
4486 grub.texi.
4487
126d6628 44882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4489
4490 * docs/grub.texi: Update CVS information to SVN.
4491 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
4492
998b5aa9 44932009-08-07 Felix Zielcke <fzielcke@z-51.de>
4494
4495 * util/grub-mkconfig.in: Remove a wrong `fi'.
4496
818e094a 44972009-08-07 Felix Zielcke <fzielcke@z-51.de>
4498
4499 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
4500 (grub_jfs_uuid): New function.
4501 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
4502
b969c52f 45032009-08-07 Felix Zielcke <fzielcke@z-51.de>
4504
4505 * util/grub-mkconfig_lib.in (font_path): Move the functionality
4506 of it to ...
4507 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
4508 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
4509
7a4894cc 45102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
4513 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
4514 Update all users.
4515
4516 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
4517 not just "vmlinu[zx]".
4518 Moved from here ...
4519 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
4520 all users.
4521
4522 * util/grub.d/10_linux.in (find_latest): Moved from here ...
4523 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
4524 all users.
4525
4e2171f8 45262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4527
4528 * util/grub.d/10_freebsd.in: Use an absolute device path for
4529 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
4530
6dcfcb32 45312009-08-06 Felix Zielcke <fzielcke@z-51.de>
4532
4533 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4534 handling of multiple abstraction modules.
4535
f56a8756 45362009-08-04 Robert Millan <rmh.grub@aybabtu.com>
4537
4538 Fix a bug resulting in black screen when loading Linux using a
4539 packed video mode.
4540
4541 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
4542 function.
4543
4544 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
4545 (grub_vbe_bios_getset_dac_palette_width): New function.
4546 (grub_vbe_bios_get_dac_palette_width)
4547 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
4548 grub_vbe_bios_getset_dac_palette_width()).
4549
4550 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
4551 check for return status.
4552 (grub_vbe_get_video_mode_info): When getting information for a packed
4553 mode (<= 8 bpp), obtain DAC palette width using
4554 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
4555 {red,green,blue}_mark_size.
4556
222671b2 45572009-08-04 Felix Zielcke <fzielcke@z-51.de>
4558
ecb1a6d9 4559 * commands/search.c (options): Fix help output to match actual code.
222671b2 4560
f84114f5 45612009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
4564 of homegrown code.
4565
bd288a20 45662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 4567
4568 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
4569 on XFS or ReiserFS.
4570
8aab5e25 45712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Support Apple partition map with sector size different from 512 bytes.
4574
4575 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
4576 (apple_partition_map_iterate): Respect 'aheader.blocksize'
4577 and 'apart.partmap_size'.
4578
6ad6258a 45792009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
45802009-08-01 Robert Millan <rmh.grub@aybabtu.com>
4581
4582 Fix cpuid command.
4583
4584 * commands/i386/cpuid.c (options): New variable.
4585 (grub_cmd_cpuid): Return real error.
4586 (GRUB_MOD_INIT(cpuid)): Declare options.
4587
67459bc6 45882009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
4591 valid.
4592
fbc6ab54 45932009-07-31 Bean <bean123ch@gmail.com>
4594
4595 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
4596 log2_inode.
4597 (grub_fshelp_node): Move inode field to the end.
4598 (grub_xfs_data): Remove inode field.
4599 (grub_xfs_inode_block): Calculate inode size using sblock.
4600 (grub_xfs_inode_offset): Likewise.
4601 (grub_xfs_read_inode): Calculate inode size using sblock.
4602 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
4603 (grub_xfs_iterate_dir): Calculate inode size using sblock.
4604 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
4605 to match inode size.
4606 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
4607 not accessible when data is null.
4608 (grub_xfs_open): Likewise.
4609
f45d6cfc 46102009-07-31 Bean <bean123ch@gmail.com>
4611
4612 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
4613 Don't change pv->disk if it's already set.
4614
4615 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
4616 (grub_raid_register): ... here.
4617 (grub_raid_rescan): Removed.
4618
4619 * include/grub/raid.h (grub_raid_rescan): Removed.
4620
4621 * util/grub-fstest.c: Remove include file <grub/raid.h>.
4622 (fstest): Replace grub_raid_rescan with module fini function followed
4623 by init function.
4624
4625 * util/grub-probe.c: Add include file <grub/raid.h>.
4626 (probe_raid_level): New function.
4627 (probe): Detect abstraction by walking the disk device, support two
4628 level of abstraction (LVM on RAID) when detecting partition map.
4629
24443b5a 46302009-07-31 Pavel Roskin <proski@gnu.org>
4631
4632 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
4633 to grub_zalloc(), it was erroneous.
4634 Reported by Bean <bean123ch@gmail.com>
4635
a275d9e7 46362009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 4639 embedding zone, not only the first one.
a275d9e7 4640
56c5a47f 46412009-07-29 Joe Auricchio <jauricchio@gmail.com>
4642
4643 * term/gfxterm.c (clear_char): New function.
4644 (grub_virtual_screen_setup): Use clear_char.
4645 (scroll_up): Likewise.
4646 (grub_virtual_screen_cls): Likewise.
4647
67bb323a 46482009-07-29 Felix Zielcke <fzielcke@z-51.de>
4649
4650 * util/deviceiter.c (get_acceleraid_disk_name): New static
4651 function.
4652 (grub_util_iterate_devices): Handle Accelraid devices.
4653 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
4654
388a7c75 46552009-07-28 Robert Millan <rmh.grub@aybabtu.com>
4656
4657 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
4658 separator for the suggested gfxpayload string (';' collides with the
4659 parser and needs escaping).
4660
3bb7abcf 46612009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
4664 Clear direction flag before jumping to OS.
4665 (grub_multiboot2_real_boot): Likewise.
4666
2ddd36d7 46672009-07-28 Felix Zielcke <fzielcke@z-51.de>
4668
4669 * util/i386/pc/grub-install: Fix parsing of --disk-module
4670 option.
4671
c521b62b 46722009-07-28 Felix Zielcke <fzielcke@z-51.de>
4673
4674 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
4675 when embedding.
4676
880e0a0c 46772009-07-26 Felix Zielcke <fzielcke@z-51.de>
4678
4679 * util/grub-mkconfig.in (package_version): New variable.
4680 Use it do display the version.
4681
2366e356 46822009-07-25 Felix Zielcke <fzielcke@z-51.de>
4683
4684 * kern/file.c (grub_file_open): Revert to previous check with
4685 grub_errno.
4686
7ad8c80e 46872009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
4690 from help line. It's out of sync with code.
4691
72b9658b 46922009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
4695 entries on failed boot.
4696
77435277 46972009-07-25 Felix Zielcke <fzielcke@z-51.de>
4698
4699 * kern/file.c (grub_file_open): Fix an error check.
4700
fcaa8b21 47012009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
4702
35d16c74 4703 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
4704 partition map couldn't be identified.
fcaa8b21 4705
48904cd1 47062009-07-23 Pavel Roskin <proski@gnu.org>
4707
ef3c317f 4708 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
4709 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
4710 case of little endian words becomes just an optimization.
4711 Respect const modifier.
ad8ea1f4 4712 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 4713
48904cd1 4714 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
4715 to avoid loss of upper bits if align is unsigned and shorter
4716 than addr.
4717
260c9a89 47182009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 UUID support for UFS
4721
4722 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
4723 (grub_ufs_uuid): New function.
4724 (grub_ufs_fs): add .uuid
4725
f76ce889 47262009-07-21 Pavel Roskin <proski@gnu.org>
4727
4728 * kern/dl.c (grub_dl_check_header): Make static.
4729
6a6cbcaf 47302009-07-21 Felix Zielcke <fzielcke@z-51.de>
4731
4732 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
4733 add drivemap for Vista. It breaks Windows 7.
4734
cffcddb2 47352009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
4738 128 bytes
4739
1ef44b80 47402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Add BFS support
4743
4744 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
4745 (grub_fstest_SOURCES): Likewise.
4746 (pkglib_MODULES): Add befs.mod.
4747 (befs_mod_SOURCES): New variable.
4748 (befs_mod_CFLAGS): Likewise.
4749 (befs_mod_LDFLAGS): Likewise.
4750 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4751 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4752 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4753 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4754 (grub_setup_SOURCES): Likewise.
4755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4756 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4757 (grub_setup_SOURCES): Likewise.
4758 * fs/befs.c: New file.
4759 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
4760 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
4761 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
4762 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
4763 (B_KEY_INDEX_ALIGN): New declaration.
4764 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
4765 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
4766 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
4767 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
4768 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
4769 (grub_afs_mount) [MODE_BFS]: Likewise.
4770 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
4771 (grub_afs_fs): Use GRUB_AFS_FSNAME
4772 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
4773 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
4774 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
4775 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
4776
4f253044 47772009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
4778
4779 * util/getroot.c (find_root_device): Add support for MacOSX.
4780 * util/hostdisk.c: Likewise.
4781
57a55913 47822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * font/font.c (find_glyph): Check whether a font is present to avoid
4785 segmentation fault.
75421ca9 4786
47872009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 4788
4789 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
4790
e98cd0c2 47912009-07-20 Pavel Roskin <proski@gnu.org>
4792
4793 * configure.ac: Trim excessively wordy excuses.
4794
1d2d169a 47952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 Add symlink, mtime and label support to AtheFS.
4798
4799 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
4800 (grub_afs_iterate_dir): Handle symlinks.
4801 (grub_afs_open): Use grub_afs_read_symlink.
4802 (grub_afs_dir): Likewise.
4803 Pass mtime.
4804 (grub_afs_label): New function.
4805 (grub_afs_fs): Add grub_afs_label.
4806 (grub_afs_read_symlink): New function.
4807
186f3189 48082009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Fix AtheFS support.
4811
4812 * fs/afs.c: Fix comments style.
4813 (grub_afs_blockrun): Declare as packed.
4814 (grub_afs_datastream): Likewise.
4815 (grub_afs_bnode): Likewise.
4816 (grub_afs_btree): Likewise.
4817 (grub_afs_sblock): Likewise.
4818 Declare `name' as char.
4819 (grub_afs_inode): Declare as packed.
4820 Change void *vnode to grub_uint32_t unused.
4821 (grub_afs_iterate_dir): Check that key_size is positive.
4822 (grub_afs_mount): Don't read superblock twice.
75421ca9 4823 (grub_afs_dir): Don't free node in case of error,
186f3189 4824 grub_fshelp_find_file already handles this.
4825 (grub_afs_open): Likewise.
4826
5680109e 48272009-07-19 Pavel Roskin <proski@gnu.org>
4828
4829 * Makefile.in: Remove LIBLZO and enable_lzo.
4830 * conf/i386-pc.rmk: Remove lzo support.
4831 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
4832 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
4833 support.
4834 * kern/i386/pc/lzo1x.S: Remove.
4835 * kern/i386/pc/startup.S: Remove lzo support.
4836 * util/i386/pc/grub-mkimage.c: Likewise.
4837
ac70fa32 48382009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
4841 * fs/xfs.c (grub_xfs_dir): Likewise.
4842 * fs/afs.c (grub_afs_dir): Likewise.
4843 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4844 (grub_iso9660_open): Likewise.
4845 * fs/jfs.c (grub_jfs_open): Likewise.
4846 * fs/ext2.c (grub_ext2_dir): Likewise.
4847 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
4848 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 4849
eab58da2 48502009-07-16 Pavel Roskin <proski@gnu.org>
4851
d2838156 4852 * configure.ac: Never add "-c" to CFLAGS.
4853
55c70904 4854 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
4855
43e6200c 4856 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
4857 grub_cv_cc_efiemu should be used.
4858
ce7a733d 4859 * configure.ac: Typo fixes.
4860
eab58da2 4861 * kern/mm.c (grub_zalloc): New function.
4862 (grub_debug_zalloc): Likewise.
4863 * include/grub/mm.h: Declare grub_zalloc() and
4864 grub_debug_zalloc().
4865 * util/misc.c (grub_zalloc): New function.
4866 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
4867 instead of grub_malloc(), remove unneeded initializations.
4868 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
4869 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
4870 * commands/parttool.c (grub_cmd_parttool): Likewise.
4871 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4872 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
4873 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
4874 * disk/usbms.c (grub_usbms_finddevs): Likewise.
4875 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
4876 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
4877 (grub_cmd_efiemu_pnvram): Likewise.
4878 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
4879 * fs/iso9660.c (grub_iso9660_mount): Likewise.
4880 (grub_iso9660_iterate_dir): Likewise.
4881 * fs/jfs.c (grub_jfs_opendir): Likewise.
4882 * fs/ntfs.c (list_file): Likewise.
4883 (grub_ntfs_mount): Likewise.
4884 * kern/disk.c (grub_disk_open): Likewise.
4885 * kern/dl.c (grub_dl_load_core): Likewise.
4886 * kern/elf.c (grub_elf_file): Likewise.
4887 * kern/env.c (grub_env_context_open): Likewise.
4888 (grub_env_set): Likewise.
4889 (grub_env_set_data_slot): Likewise.
4890 * kern/file.c (grub_file_open): Likewise.
4891 * kern/fs.c (grub_fs_blocklist_open): Likewise.
4892 * loader/i386/multiboot.c (grub_module): Likewise.
4893 * loader/xnu.c (grub_xnu_create_key): Likewise.
4894 (grub_xnu_create_value): Likewise.
4895 * normal/main.c (grub_normal_add_menu_entry): Likewise.
4896 (read_config_file): Likewise.
4897 * normal/menu_entry.c (make_screen): Likewise.
4898 * partmap/sun.c (sun_partition_map_iterate): Likewise.
4899 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
4900 * script/sh/script.c (grub_script_parse): Likewise.
4901 * video/bitmap.c (grub_video_bitmap_create): Likewise.
4902 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4903 * video/readers/png.c (grub_png_output_byte): Likewise.
4904 (grub_video_reader_png): Likewise.
4905
830afef7 49062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 4907
4908 Enable all targets that can be built by default
4909
830afef7 4910 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 4911 grub-mkfont and grub-fstest if they can be built
4912
ee293aee 49132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 Fix hang and segmentation fault in grub-emu-usb
4916
4917 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
4918 * util/usb.c (grub_libusb_devices): likewise
4919 (grub_libusb_init): rename to ...
4920 (GRUB_MOD_INIT (libusb)):...this
4921 (grub_libusb_fini): rename to ..
4922 (GRUB_MOD_FINI (libusb)):...this
4923 * disk/usbms.c (grub_usbms_transfer): fix retry logic
4924 * include/grub/disk.h (grub_raid_init): removed, it's useless
4925 (grub_raid_fini): likewise
4926 (grub_lvm_init): likewise
4927 (grub_lvm_fini): likewise
4928 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
4929 by grub_init_all
4930
94414221 49312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Fix libusb
4934
4935 * Makefile.in (LIBUSB): new macro
4936 * genmk.rb (Utility/print_tail): new method
4937 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
4938 (top level): call util.print_tail at the end.
4939
59ade63d 49402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Make FreeBSD accept zpool.cache
4943
4944 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4945 type is /boot/zfs/zpool.cache
4946
a58da8c7 49472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Fix 64-bit efiemu
4950
4951 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4952 correct wrong typedef
4953 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4954
20591577 49552009-07-15 Pavel Roskin <proski@gnu.org>
4956
560ca572 4957 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4958 * kern/disk.c (struct grub_disk_cache): Likewise.
4959
e8e8e4fd 4960 * commands/probe.c (options): Typo fix.
4961
fde24e10 4962 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4963 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4964 accordingly.
4965 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4966
379c54c1 4967 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4968 the end of "Error" to make the message more readable.
4969
7bd8f5bf 4970 * boot/i386/pc/boot.S (kernel_segment): Remove.
4971 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4972 for destination.
4973
40b132c5 4974 * boot/i386/pc/boot.S (boot_version): Remove.
4975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4976 Remove.
4977
20591577 4978 * include/grub/i386/pc/boot.h: Sort all offsets.
4979 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4980 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4981 * boot/i386/pc/boot.S: Assert location of every offset listed in
4982 include/grub/i386/pc/boot.h.
4983
2df32b2c 49842009-07-13 Pavel Roskin <proski@gnu.org>
4985
44b5d879 4986 * include/grub/i386/coreboot/machine.h: Rename
4987 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4988 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4989 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4990
17dc3751 4991 * kern/dl.c: Force native word size to suppress warnings when
4992 compiling grub-emu.
4993
2df32b2c 4994 * kern/device.c (grub_device_iterate): Change struct part_ent to
4995 hold the name, not a pointer to it. Use one grub_malloc() per
4996 partition, not two. Free partition_name if grub_malloc() fails.
4997 Set ents to NULL only before grub_partition_iterate() is called.
4998
75c59f59 49992009-07-11 Bean <bean123ch@gmail.com>
5000
5001 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
5002 childname.
5003
0ae1bf88 50042009-07-10 Bean <bean123ch@gmail.com>
50052009-07-10 Robert Millan <rmh.grub@aybabtu.com>
5006
5007 * kern/ieee1275/openfw.c (grub_children_iterate)
5008 (grub_devalias_iterate): Fix size evaluation for property or path
5009 strings, which was broken since r2132.
5010
8279cade 50112009-07-07 Pavel Roskin <proski@gnu.org>
5012
7d8a52d3 5013 * commands/search.c (search_file): Merge into ...
5014 (search_fs): ... this. Accept search type as argument.
5015 (grub_cmd_search): Pass search type to search_fs().
5016
25f9a05a 5017 * include/grub/util/console.h: New file.
5018 * util/console.c: Use it instead of grub/machine/console.h.
5019 * util/grub-emu.c: Likewise.
5020
8279cade 5021 * lib/arg.c (find_long_option): Remove.
5022 (find_long): Add `len' argument, make `s' const char *.
5023 (grub_arg_parse): Parse long options in place, not in a
5024 temporary buffer.
5025
4a11b60f 50262009-07-06 Pavel Roskin <proski@gnu.org>
5027
99f68041 5028 * commands/search.c (search_fs): Fix potential NULL pointer
5029 dereference.
5030
4a11b60f 5031 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5032 function pointer.
5033
e110f4de 50342009-07-06 Daniel Mierswa <impulze@impulze.org>
5035
5036 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5037 comparison.
5038
46eeb6a2 50392009-07-05 Pavel Roskin <proski@gnu.org>
5040
bab74958 5041 * include/grub/i386/linux.h (struct linux_kernel_params):
5042 Restore padding3, it's still needed.
5043
46eeb6a2 5044 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5045 FreeBSD.
5046 * util/osdetect.lua: Likewise.
5047
b4a1dc79 50482009-07-05 Bean <bean123ch@gmail.com>
5049
5050 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5051
5052 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5053 (grub_lua_getenv): Likewise.
5054 (grub_lua_setenv): Likewise.
5055 (save_errno): New function.
5056 (push_result): Likewise.
5057 (grub_lua_enum_device): Likewise.
5058 (grub_lua_enum_file): Likewise.
5059 (grub_lua_file_open): Likewise.
5060 (grub_lua_file_close): Likewise.
5061 (grub_lua_file_seek): Likewise.
5062 (grub_lua_file_read): Likewise.
5063 (grub_lua_file_getline): Likewise.
5064 (grub_lua_file_getsize): Likewise.
5065 (grub_lua_file_getpos): Likewise.
5066 (grub_lua_file_eof): Likewise.
5067 (grub_lua_file_exist): Likewise.
5068 (grub_lua_add_menu): Likewise.
5069
5070 * script/lua/grub_lua.h (isupper): New inline function.
5071 (islower): Likewise.
5072 (ispunct): Likewise.
5073 (isxdigit): Likewise.
5074 (strcspn): Change to normal function.
5075 (strpbkr): New function declaration.
5076 (memchr): Likewise.
5077
5078 * script/lua/grub_main.c (scan_str): New function.
5079 (strcspn): Likewise.
5080 (strpbrk): Likewise.
5081 (memchr): Likewise.
5082
5083 * script/lua/linit.c (lualibs): Enable the string library.
5084
5085 * util/osdetect.lua: New file.
5086
2da92295 50872009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5088
5089 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5090 `capabilities' member.
5091
b2582ec9 50922009-07-02 Pavel Roskin <proski@gnu.org>
5093
5094 * genparttoollist.sh: Add missing newline at the end.
5095
32622956 50962009-07-01 Pavel Roskin <proski@gnu.org>
5097
87a7339e 5098 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5099
d23af54e 5100 * util/hostdisk.c (open_device): Remove `const' from
5101 `sysctl_size', as sysctlbyname() can change it (in this case it
5102 doesn't actually happen).
5103
c94b18a9 5104 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5105 using signed long int constants.
5106
c6cd3ef0 5107 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
5108 constant to avoid a warning on FreeBSD.
5109
0df63420 5110 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
5111 where it's needed.
5112
999577f1 5113 * Makefile.in: Install include/grub/machine symlink.
5114
6f41557f 5115 * Makefile.in: When installing symlinks, use "cp -fR", which
5116 works on FreeBSD and MacOSX.
5117 From Yves Blusseau <cl7m42e02@sneakemail.com>
5118
c8d22988 5119 * kern/dl.c (grub_dl_resolve_symbol): Make static.
5120 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
5121
1b96e952 5122 * util/misc.c: Move grub_reboot() and grub_halt() ...
5123 * util/grub-emu.c: ... here. Make main_env static.
5124 * include/grub/util/misc.h: Remove main_env.
5125
2ef0084d 5126 * kern/mm.c: Use correct format to print size_t.
5127
32622956 5128 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
5129 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
5130 * kern/powerpc/dl.c: Likewise.
5131 * kern/sparc64/dl.c: Likewise.
5132 * kern/x86_64/dl.c: Likewise.
5133
3f7f0cd0 51342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5135
5136 Fix grub-emu build on sparc64-ieee1275.
5137
75421ca9 5138 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 5139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
5140
211d06b5 51412009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5142
5143 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
5144 (grub_reboot, grub_halt): New functions.
5145
5146 * util/i386/pc/misc.c: Delete. Update all users.
5147 * util/sparc64/ieee1275/misc.c: Likewise.
5148 * util/powerpc/ieee1275/misc.c: Likewise.
5149
aaf53e3c 51502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5151
5152 * conf/i386.rmk (setjmp_mod_SOURCES)
5153 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
5154 * conf/common.rmk (setjmp_mod_SOURCES)
5155 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
5156 to use $(target_cpu).
5157 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
5158 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
5159 * conf/powerpc-ieee1275.rmk: Likewise.
5160 * conf/sparc64-ieee1275.rmk: Likewise.
5161
5162 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
5163 $(target_cpu) for kern/$(target_cpu)/dl.c.
5164 * conf/i386-efi.rmk: Likewise.
5165 * conf/i386-ieee1275.rmk: Likewise.
5166 * conf/x86_64-efi.rmk: Likewise.
5167 * conf/i386-coreboot.rmk: Likewise.
5168 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
5169 $(target_cpu) for kern/$(target_cpu)/dl.c and for
5170 kern/$(target_cpu)/cache.S.
5171 * conf/sparc64-ieee1275.rmk: Likewise.
5172
a337130b 51732009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5174
5175 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
5176 type to `grub_uint8_t', and adjust `padding9' accordingly.
5177
c6fe4d53 51782009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5179
b09db61d 5180 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
5181
c6fe4d53 5182 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
5183 assembly in final jump, using register constraints.
5184
b09db61d 5185 (grub_linux_boot): For text mode, initialize `have_vga' using
5186 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
5187
5188 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
5189 right before the final jump.
5190
5191 Set `video_mode' to 0x3.
5192
5193 Document initialization of `video_page', `video_mode' and
5194 `video_ega_bx'.
5195
28333ad0 51962009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5197
5198 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
5199 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 5200 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 5201
02164e1b 52022009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5203
5204 Fix build on Debian / sparc.
5205
5206 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
5207
18b6c557 52082009-06-28 Pavel Roskin <proski@gnu.org>
5209
85f2aab6 5210 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
5211 fix a warning.
5212
18b6c557 5213 * util/grub.d/10_linux.in: Match SUSE style initrd names.
5214
ad760f81 52152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5216
5217 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
5218 `err'.
5219
87a4623b 52202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5221
5222 Revert r2338.
5223
5224 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
5225 file can't be opened. grub_file_open() is already supposed to set
75421ca9 5226 grub_errno / grub_errmsg appropriately.
87a4623b 5227 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5228
8231fb77 52292009-06-27 Pavel Roskin <proski@gnu.org>
52302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5231
5232 * include/grub/dl.h: Include grub/elf.h.
5233 (struct grub_dl): Add symtab field.
5234 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
5235 GRUB_MODULES_MACHINE_READONLY.
5236 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
5237 of the header for read-only modules.
5238 (grub_dl_unload): Free mod->symtab for read-only modules.
5239 * kern/i386/dl.c: Use mod->symtab.
5240 * kern/powerpc/dl.c: Likewise.
5241 * kern/sparc64/dl.c: Likewise.
5242 * kern/x86_64/dl.c: Likewise.
5243
5244 * conf/i386-qemu.rmk: New file.
5245 * kern/i386/qemu/startup.S: Likewise.
5246 * kern/i386/qemu/mmap.c: Likewise.
5247 * boot/i386/qemu/boot.S: Likewise.
5248 * include/grub/i386/qemu/time.h: Likewise.
5249 * include/grub/i386/qemu/serial.h: Likewise.
5250 * include/grub/i386/qemu/kernel.h: Likewise.
5251 * include/grub/i386/qemu/console.h: Likewise.
5252 * include/grub/i386/qemu/boot.h: Likewise.
5253 * include/grub/i386/qemu/init.h: Likewise.
5254 * include/grub/i386/qemu/machine.h: Likewise.
5255 * include/grub/i386/qemu/loader.h: Likewise.
5256 * include/grub/i386/qemu/memory.h: Likewise.
5257
5258 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
5259 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
5260 [qemu] (pkglib_IMAGES): Add `boot.img'.
5261 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
5262 [qemu] (boot_img_FORMAT): New variables.
5263 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
5264 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
5265 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
5266 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5267 [qemu] (kernel_img_FORMAT): New variables.
5268
5269 * configure.ac: Recognise `i386-qemu'.
5270
5271 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
5272 (for no compression).
5273 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
5274 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
5275 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
5276 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
5277 ifdefs).
5278
97fe384e 52792009-06-27 Pavel Roskin <proski@gnu.org>
5280
5281 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
5282 read.
5283 * efiemu/prepare32.c: Likewise.
5284 * efiemu/prepare64.c: Likewise.
5285
c402ab17 52862009-06-26 Pavel Roskin <proski@gnu.org>
5287
5288 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
5289 * include/grub/elf.h: Define symbols without "32" or "64" based
5290 on GRUB_TARGET_WORDSIZE.
5291 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
5292 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
5293 ELF definitions.
5294 * efiemu/loadcore64.c: Likewise.
5295 * loader/i386/bsd32.c: Likewise.
5296 * loader/i386/bsd64.c: Likewise.
5297 * kern/dl.c: Remove own ELF definitions.
5298 * util/i386/efi/grub-mkimage.c: Likewise.
5299
9bbdfd4d 53002009-06-23 Robert Millan <rmh.grub@aybabtu.com>
5301
5302 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
5303 segment 0x0 unconditionally, because the reference generated by
5304 GAS is an absolute address.
5305
a42ce6e9 53062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5307
5308 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
5309 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
5310
c952cf92 53112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5312
5313 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
5314 indexes. Check for -f explicitly.
cc3752ad 5315 (search_file): Improve error message.
5316 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 5317
132a0a59 53182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5319
5320 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
5321 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
5322
387a140c 53232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5324
5325 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
5326 * conf/i386-ieee1275.rmk: Likewise.
5327 * conf/i386-coreboot.rmk: Likewise.
5328
5329 * kern/i386/pc/startup.S (grub_stop): Remove function.
5330 * kern/i386/ieee1275/startup.S: Likewise.
5331 * kern/i386/coreboot/startup.S: Likewise.
5332 * kern/i386/misc.S (grub_stop): New function.
5333
41da9665 53342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5335
5336 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
5337 * kern/i386/realmode.S (real_to_prot): ... to here.
5338
bf337234 53392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5340
5341 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
5342 with `kernel.img'.
5343 (kernel_elf_SOURCES): Rename to ...
5344 (kernel_img_SOURCES): ... this.
5345 (kernel_elf_HEADERS): Rename to ...
5346 (kernel_img_HEADERS): ... this. Update all users.
5347 (kernel_elf_ASFLAGS): Rename to ...
5348 (kernel_img_ASFLAGS): ... this.
5349 (kernel_elf_CFLAGS): Rename to ...
5350 (kernel_img_CFLAGS): ... this.
5351 (kernel_elf_LDFLAGS): Rename to ...
5352 (kernel_img_LDFLAGS): ... this.
5353 * conf/i386-coreboot.rmk: Likewise.
5354 * conf/powerpc-ieee1275.rmk: Likewise.
5355
5356 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
5357 with "kernel.img".
5358
f52196ff 53592009-06-21 Pavel Roskin <proski@gnu.org>
5360
c3cee413 5361 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
5362 to match nested functions.
5363 * loader/sparc64/ieee1275/linux.c: Likewise.
5364
f52196ff 5365 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
5366
58750afc 53672009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5368
5369 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
5370 all i386 platforms.
5371
15355c7d 53722009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5373
5374 Fix asm file handling on ELF, and remove workarounds.
5375
5376 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 5377 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 5378 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
5379 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
5380
3f3ec72b 53812009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Load BSD ELF modules
5384
5385 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
5386 and loader/i386/bsd64.c
5387 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
5388 (FREEBSD_MODTYPE_ELF_MODULE): New definition
5389 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
5390 (grub_freebsd_load_elfmodule32): New declaration
5391 (grub_freebsd_load_elfmoduleobj64): Likewise
5392 (grub_freebsd_load_elf_meta32): Likewise
5393 (grub_freebsd_load_elf_meta64): Likewise
5394 (grub_freebsd_add_meta): Likewise
5395 (grub_freebsd_add_meta_module): Likewise
5396 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
5397 (grub_freebsd_add_meta_module): Likewise and move module-specific
5398 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
5399 (grub_cmd_freebsd): Add elf-kernel specific parts
5400 based on grub_freebsd_add_meta_module
5401 (grub_cmd_freebsd_module): Add type parsing moved from
5402 grub_freebsd_add_meta_module
5403 (grub_cmd_freebsd_module_elf): New function
5404 (cmd_freebsd_module_elf): New variable
5405 (GRUB_MOD_INIT): Register freebsd_module_elf
5406 * loader/i386/bsd32.c: New file
5407 * loader/i386/bsd64.c: Likewise
5408 * loader/i386/bsdXX.c: Likewise
5409 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
5410 (grub_elf64_load): Likewise
5411 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
5412 All users updated
5413 (grub_elf64_load_hook_t): Likewise
5414
0db15301 54152009-06-21 Colin Watson <cjwatson@ubuntu.com>
5416
5417 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
5418 variable.
5419 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
5420 don't write a menu entry for recovery mode.
5421
546796c1 54222009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5423
5424 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
5425 after it's no longer needed.
5426
cd7310d5 54272009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5428
5429 * include/grub/i386/loader.h (grub_linux_prot_size)
5430 (grub_linux_tmp_addr, grub_linux_real_addr)
5431 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
5432 GRUB_MACHINE_PCBIOS.
5433 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
5434 common grub_util_info() call to ...
5435 (generate_image): ... here.
5436 Fix use of uninitialized memory, comparison of signed with
5437 unsigned integers and memory leak.
5438 Remove bogus module address message.
5439
ab32d3b5 54402009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
5443 grub_raid_register
5444 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
5445
024ef597 54462009-06-19 Pavel Roskin <proski@gnu.org>
5447
5448 * configure.ac: Remove stray AC_MSG_CHECKING.
5449
3ac72b51 54502009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 5453
e14cd814 54542009-06-18 Pavel Roskin <proski@gnu.org>
5455
5456 * conf/common.rmk: Add fs_file.mod.
5457 * disk/fs_file.c: New file.
5458 * include/grub/disk.h (enum grub_disk_dev_id): Add
5459 GRUB_DISK_DEVICE_FILE_ID.
5460
26586d98 54612009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 Fix build with Apple's toolchain. Part 2
5464
5465 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
5466 a fake start
5467
26de2bcd 54682009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 Fix build with Apple's toolchain. Part 1
5471
5472 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
5473 for long calls
5474 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 5475 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 5476 Apple's toolchain
5477
09b3490b 54782009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Fix warnings
5481
5482 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
5483 (decomp_block): initialize ch
5484 use grub_memcpy instead of memcpy
5485
c22a006a 54862009-06-17 Pavel Roskin <proski@gnu.org>
5487
d3638678 5488 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
5489 version, use declarations needed to use vga_text as the startup
5490 console.
5491
c22a006a 5492 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
5493 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
5494 the kernel.
5495 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
5496 and grub_at_keyboard_fini(), it's done on module load and
5497 unload.
5498
05b129e0 54992009-06-17 Felix Zielcke <fzielcke@z-51.de>
5500
5501 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
5502 file can't be found.
5503 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5504
cf24ed9e 55052009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Fix newline handling
5508
5509 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 5510 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 5511 (grub_script_yylex): don't segfault on unterminated script
5512 newline terminates command and variable
5513
74aa8e4b 55142009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 avoid double grub_adjust_range call. Bug reported by David Simner
5517
5518 * kern/disk.c (grub_disk_write): change to raw disk access before
5519 calling disk_read
5520
1bd265f3 55212009-06-17 Colin Watson <cjwatson@ubuntu.com>
5522
5523 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
5524 spaces, for the benefit of help2man.
5525 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5526
a2d08c06 55272009-06-16 Pavel Roskin <proski@gnu.org>
5528
5529 * kern/i386/halt.c: Include grub/machine/init.h.
5530 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
5531
b97bcb19 55322009-06-16 Felix Zielcke <fzielcke@z-51.de>
5533
5534 * util/grub.d/30_os-prober.in: Use ${root} in the generated
5535 drivemap menuentry.
5536
0644f96c 55372009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
5538
5539 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
5540 `echo' command.
5541
3ef17a2e 55422009-06-16 Pavel Roskin <proski@gnu.org>
5543
5544 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
5545 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
5546 save %dx, we only need %dl and we never change it.
5547 * boot/i386/pc/cdboot.S: Don't set the root drive.
5548 * boot/i386/pc/pxeboot.S: Likewise.
5549 * include/grub/i386/pc/boot.h: Remove
5550 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
5551 GRUB_BOOT_MACHINE_DRIVE_CHECK.
5552 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
5553 * kern/i386/pc/init.c (make_install_device): Remove references
5554 to grub_root_drive.
5555 * kern/i386/pc/startup.S: Likewise.
5556 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
5557
693fe637 55582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 xnu_uuid command
5561
5562 * commands/xnu_uuid.c: new file
5563 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
5564 (xnu_uuid_mod_SOURCES): new variable
5565 (xnu_uuid_mod_CFLAGS): likewise
5566 (xnu_uuid_mod_LDFLAGS): likewise
5567 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5568 * conf/i386-ieee1275.rmk: likewise
5569 * conf/i386-pc.rmk: likewise
5570 * conf/powerpc-ieee1275.rmk: likewise
5571 * conf/sparc64-ieee1275.rmk: likewise
5572 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
5573
c9da87d0 55742009-06-16 Pavel Roskin <proski@gnu.org>
5575
5576 * configure.ac: Avoid '==' in test command, it's not portable.
5577
9c6f4596 55782009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Probe command
5581
5582 * commands/probe.c: new file
5583 * conf/common.rmk (pkglib_MODULES): add probe.mod
5584 (probe_mod_SOURCES): new variable
5585 (probe_mod_CFLAGS): likewise
5586 (probe_mod_LDFLAGS): likewise
5587 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5588 * conf/i386-ieee1275.rmk: likewise
5589 * conf/i386-pc.rmk: likewise
5590 * conf/powerpc-ieee1275.rmk: likewise
5591 * conf/sparc64-ieee1275.rmk: likewise
5592
70b7f9fd 55932009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 Fix handling of string like \"hello\" and "a
5596 b"
5597
5598 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
5599 (grub_script_yylex): fix parsing of quoting, escaping and newline
5600
71c79a6b 56012009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5602
dd74360c 5603 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 5604 handling
dd74360c 5605
0644f96c 56062009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 5607
5608 * util/grub-mkconfig.in: Fix parsing of --output option.
5609
e40893c3 56102009-06-12 Pavel Roskin <proski@gnu.org>
5611
5612 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
5613 genmk.rb don't need to be generated or installed.
5614
3a1acfe2 56152009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * commands/i386/pc/drivemap_int13h.S: add more comments
5618
3a4575d4 56192009-06-11 Pavel Roskin <proski@gnu.org>
5620
0658e928 5621 * Makefile.in (uninstall): Uninstall manuals.
5622
ca0388f0 5623 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
5624 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
5625 and update-grub_lib in two places.
5626 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
5627
e3b27c39 5628 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
5629 a compiler warning.
5630
3a4575d4 5631 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
5632 `entry_lo' to fix variable shadowing.
5633
af1f4f55 56342009-06-11 Christian Franke <franke@computer.org>
5635
5636 * kern/misc.c (__enable_execute_stack): Add missing return type
5637 to prevent gcc warning.
5638
5225e649 56392009-06-11 Felix Zielcke <fzielcke@z-51.de>
5640
5641 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
5642
7d83bd47 56432009-06-11 Pavel Roskin <proski@gnu.org>
5644
c1cb63ba 5645 * Makefile.in: Don't rely on any scripts being executable.
5646 Always use $(SHELL) to run shell scripts.
5647
7d83bd47 5648 * configure.ac: Always define ___main if using -nostdlib. This
5649 fixes tests on Cygwin.
5650
948f48e7 56512009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
5652
5653 UDF fix
5654
7d83bd47 5655 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 5656 is in bytes and not in blocks
7d83bd47 5657
8ada9bc1 56582009-06-11 Pavel Roskin <proski@gnu.org>
5659
5660 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
5661 warning.
5662
25ad2323 56632009-06-11 Felix Zielcke <fzielcke@z-51.de>
5664
5665 * util/grub.d/30_os-prober.in: Fix a comment. Source
5666 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
5667 to set the root device. Place drivemap command in the generated
5668 chain entry.
5669
e65acb0c 56702009-06-11 Pavel Roskin <proski@gnu.org>
5671
5672 * configure.ac: Remove host_m32. Issues with 64-bit utilities
5673 have long been resolved.
5674
f285fe2d 56752009-06-11 Colin Watson <cjwatson@ubuntu.com>
5676
bd47b0b5 5677 * util/grub.d/10_linux.in: Capitalise "Linux".
5678
f285fe2d 5679 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
5680
a0c62e4e 56812009-06-11 Pavel Roskin <proski@gnu.org>
5682
b6783cb2 5683 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
5684 fix a gcc warning and ensure that the function won't ever exit.
5685
dde032e8 5686 * kern/i386/ieee1275/init.c: Add missing prototype for
5687 grub_stop_floppy().
5688
22cd079d 5689 * loader/ieee1275/multiboot2.c [__i386__]: Include
5690 grub/cpu/multiboot.h.
5691
a0c62e4e 5692 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
5693 casts to short - they are not portable and cause warnings. Fix
5694 use of uninitialized values in input_buf. Use ARRAY_SIZE.
5695
63963d17 56962009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 Drivemap fixes
5699
5700 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
5701 new function
5702 (grub_get_root_biosnumber_saved): new variable
5703 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
5704 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 5705 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 5706 %dx after the call if necessary
5707 * conf/common.rmk (pkglib_MODULES): remove boot.mod
5708 (boot_mod_SOURCES): remove
5709 (boot_mod_CFLAGS): remove
5710 (boot_mod_LDFLAGS): remove
5711 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
5712 (boot_mod_SOURCES): new variable
5713 (boot_mod_CFLAGS): likewise
5714 (boot_mod_LDFLAGS): likewise
5715 * conf/i386-efi.rmk: likewise
5716 * conf/i386-ieee1275.rmk: likewise
5717 * conf/i386-pc.rmk: likewise
5718 * conf/powerpc-ieee1275.rmk: likewise
5719 * conf/sparc64-ieee1275.rmk: likewise
5720 * conf/x86_64-efi.rmk: likewise
5721 * include/grub/i386/pc/biosnum.h: new file
5722 * lib/i386/pc/biosnum.c: likewise
5723 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
5724 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
5725 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 5726
33abf7ae 57272009-06-10 Pavel Roskin <proski@gnu.org>
5728
5ac35b35 5729 * io/gzio.c (test_header): Don't reuse one buffer for all data.
5730 Use separate variables. Read only the file size at the end, but
5731 not the checksum that we don't use.
5732
5c5215d5 5733 * kern/file.c (grub_file_read): Use void pointer for the buffer.
5734 Adjust all callers.
5735
27d5fef7 5736 * kern/ieee1275/openfw.c: Remove libc includes.
5737 * kern/ieee1275/cmain.c: Likewise.
5738 * include/grub/ieee1275/ieee1275.h: Likewise.
5739
33abf7ae 5740 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
5741 compiler warnings.
5742
19d50c2b 57432009-06-10 Felix Zielcke <fzielcke@z-51.de>
5744
5745 * Makefile.in: Remove all trailing whitespace.
5746 * conf/i386-pc.rmk: Likewise.
5747 * conf/powerpc-ieee1275.rmk: Likewise.
5748 * conf/sparc64-ieee1275.rmk: Likewise.
5749 * docs/grub.texi: Likewise.
5750 * docs/texinfo.tex: Likewise.
5751 * disk/fs_uuid.c: Likewise.
5752 * disk/lvm.c: Likewise.
5753 * disk/scsi.c: Likewise.
5754 * disk/ata.c: Likewise.
5755 * disk/ieee1275/ofdisk.c: Likewise.
5756 * disk/i386/pc/biosdisk.c: Likewise.
5757 * disk/host.c: Likewise.
5758 * disk/raid.c: Likewise.
5759 * disk/efi/efidisk.c: Likewise.
5760 * disk/usbms.c: Likewise.
5761 * disk/memdisk.c: Likewise.
5762 * disk/loopback.c: Likewise.
5763 * kern/powerpc/dl.c: Likewise.
5764 * kern/device.c: Likewise.
5765 * kern/dl.c: Likewise.
5766 * kern/sparc64/dl.c: Likewise.
5767 * kern/ieee1275/ieee1275.c: Likewise.
5768 * kern/term.c: Likewise.
5769 * kern/fs.c: Likewise.
5770 * kern/i386/dl.c: Likewise.
5771 * kern/i386/pc/startup.S: Likewise.
5772 * kern/i386/pc/init.c: Likewise.
5773 * kern/i386/pc/mmap.c: Likewise.
5774 * kern/i386/pc/lzo1x.S: Likewise.
5775 * kern/i386/ieee1275/init.c: Likewise.
5776 * kern/i386/realmode.S: Likewise.
5777 * kern/i386/tsc.c: Likewise.
5778 * kern/partition.c: Likewise.
5779 * kern/corecmd.c: Likewise.
5780 * kern/file.c: Likewise.
5781 * kern/efi/efi.c: Likewise.
5782 * kern/efi/init.c: Likewise.
5783 * kern/efi/mm.c: Likewise.
5784 * kern/main.c: Likewise.
5785 * kern/err.c: Likewise.
5786 * kern/env.c: Likewise.
5787 * kern/disk.c: Likewise.
5788 * kern/generic/millisleep.c: Likewise.
5789 * kern/generic/rtc_get_time_ms.c: Likewise.
5790 * kern/misc.c: Likewise.
5791 * kern/parser.c: Likewise.
5792 * genmk.rb: Likewise.
5793 * configure.ac: Likewise.
5794 * boot/i386/pc/diskboot.S: Likewise.
5795 * boot/i386/pc/pxeboot.S: Likewise.
5796 * boot/i386/pc/boot.S: Likewise.
5797 * boot/i386/pc/lnxboot.S: Likewise.
5798 * boot/i386/pc/cdboot.S: Likewise.
5799 * parttool/pcpart.c: Likewise.
5800 * video/readers/tga.c: Likewise.
5801 * video/video.c: Likewise.
5802 * video/bitmap.c: Likewise.
5803 * lib/envblk.c: Likewise.
5804 * lib/i386/setjmp.S: Likewise.
5805 * fs/xfs.c: Likewise.
5806 * fs/afs.c: Likewise.
5807 * fs/fat.c: Likewise.
5808 * fs/ntfs.c: Likewise.
5809 * fs/udf.c: Likewise.
5810 * fs/affs.c: Likewise.
5811 * fs/iso9660.c: Likewise.
5812 * fs/hfs.c: Likewise.
5813 * fs/fshelp.c: Likewise.
5814 * fs/ext2.c: Likewise.
5815 * fs/jfs.c: Likewise.
5816 * fs/reiserfs.c: Likewise.
5817 * fs/hfsplus.c: Likewise.
5818 * fs/minix.c: Likewise.
5819 * fs/cpio.c: Likewise.
5820 * fs/sfs.c: Likewise.
5821 * fs/ufs.c: Likewise.
5822 * efiemu/prepare.c: Likewise.
5823 * efiemu/loadcore_common.c: Likewise.
5824 * efiemu/runtime/efiemu.sh: Likewise.
5825 * efiemu/runtime/efiemu.S: Likewise.
5826 * efiemu/runtime/efiemu.c: Likewise.
5827 * efiemu/pnvram.c: Likewise.
5828 * efiemu/main.c: Likewise.
5829 * efiemu/i386/pc/cfgtables.c: Likewise.
5830 * efiemu/i386/loadcore64.c: Likewise.
5831 * efiemu/i386/loadcore32.c: Likewise.
5832 * efiemu/loadcore.c: Likewise.
5833 * efiemu/symbols.c: Likewise.
5834 * efiemu/mm.c: Likewise.
5835 * include/grub/autoefi.h: Likewise.
5836 * include/grub/datetime.h: Likewise.
5837 * include/grub/term.h: Likewise.
5838 * include/grub/hfs.h: Likewise.
5839 * include/grub/lvm.h: Likewise.
5840 * include/grub/i386/tsc.h: Likewise.
5841 * include/grub/i386/linux.h: Likewise.
5842 * include/grub/i386/xnu.h: Likewise.
5843 * include/grub/i386/efiemu.h: Likewise.
5844 * include/grub/i386/pc/biosdisk.h: Likewise.
5845 * include/grub/i386/pc/memory.h: Likewise.
5846 * include/grub/i386/pc/vbe.h: Likewise.
5847 * include/grub/parttool.h: Likewise.
5848 * include/grub/video.h: Likewise.
5849 * include/grub/memory.h: Likewise.
5850 * include/grub/fs.h: Likewise.
5851 * include/grub/partition.h: Likewise.
5852 * include/grub/xnu.h: Likewise.
5853 * include/grub/efi/api.h: Likewise.
5854 * include/grub/efi/pe32.h: Likewise.
5855 * include/grub/efi/memory.h: Likewise.
5856 * include/grub/multiboot.h: Likewise.
5857 * include/grub/usbdesc.h: Likewise.
5858 * include/grub/multiboot2.h: Likewise.
5859 * include/grub/acpi.h: Likewise.
5860 * include/grub/efiemu/efiemu.h: Likewise.
5861 * include/grub/disk.h: Likewise.
5862 * include/grub/ieee1275/ieee1275.h: Likewise.
5863 * include/grub/net.h: Likewise.
5864 * include/grub/machoload.h: Likewise.
5865 * include/grub/macho.h: Likewise.
5866 * include/multiboot.h: Likewise.
5867 * genmoddep.awk: Likewise.
5868 * normal/main.c: Likewise.
5869 * normal/menu_entry.c: Likewise.
5870 * normal/menu_viewer.c: Likewise.
5871 * normal/completion.c: Likewise.
5872 * normal/cmdline.c: Likewise.
5873 * normal/misc.c: Likewise.
5874 * normal/datetime.c: Likewise.
5875 * bus/usb/usbtrans.c: Likewise.
5876 * bus/usb/ohci.c: Likewise.
5877 * bus/usb/uhci.c: Likewise.
5878 * bus/usb/usb.c: Likewise.
5879 * mmap/efi/mmap.c: Likewise.
5880 * mmap/i386/pc/mmap_helper.S: Likewise.
5881 * mmap/i386/pc/mmap.c: Likewise.
5882 * mmap/i386/mmap.c: Likewise.
5883 * mmap/i386/uppermem.c: Likewise.
5884 * mmap/mmap.c: Likewise.
5885 * commands/acpi.c: Likewise.
5886 * commands/echo.c: Likewise.
5887 * commands/blocklist.c: Likewise.
5888 * commands/loadenv.c: Likewise.
5889 * commands/usbtest.c: Likewise.
5890 * commands/boot.c: Likewise.
5891 * commands/parttool.c: Likewise.
5892 * commands/search.c: Likewise.
5893 * commands/cat.c: Likewise.
5894 * commands/i386/pc/play.c: Likewise.
5895 * commands/i386/pc/drivemap.c: Likewise.
5896 * commands/i386/pc/vbeinfo.c: Likewise.
5897 * commands/i386/pc/acpi.c: Likewise.
5898 * commands/i386/pc/vbetest.c: Likewise.
5899 * commands/ls.c: Likewise.
5900 * commands/cmp.c: Likewise.
5901 * commands/test.c: Likewise.
5902 * commands/efi/acpi.c: Likewise.
5903 * commands/gptsync.c: Likewise.
5904 * commands/help.c: Likewise.
5905 * partmap/amiga.c: Likewise.
5906 * partmap/apple.c: Likewise.
5907 * partmap/acorn.c: Likewise.
5908 * partmap/pc.c: Likewise.
5909 * partmap/sun.c: Likewise.
5910 * partmap/gpt.c: Likewise.
5911 * script/sh/lexer.c: Likewise.
5912 * script/sh/function.c: Likewise.
5913 * font/font.c: Likewise.
5914 * font/font_cmd.c: Likewise.
5915 * loader/powerpc/ieee1275/linux.c: Likewise.
5916 * loader/efi/chainloader.c: Likewise.
5917 * loader/multiboot_loader.c: Likewise.
5918 * loader/macho.c: Likewise.
5919 * loader/i386/multiboot.c: Likewise.
5920 * loader/i386/linux.c: Likewise.
5921 * loader/i386/pc/linux.c: Likewise.
5922 * loader/i386/pc/multiboot2.c: Likewise.
5923 * loader/i386/pc/chainloader.c: Likewise.
5924 * loader/i386/pc/xnu.c: Likewise.
5925 * loader/i386/bsd_trampoline.S: Likewise.
5926 * loader/i386/efi/linux.c: Likewise.
5927 * loader/i386/multiboot_elfxx.c: Likewise.
5928 * loader/i386/bsd_helper.S: Likewise.
5929 * loader/i386/bsd.c: Likewise.
5930 * loader/i386/linux_trampoline.S: Likewise.
5931 * loader/i386/xnu_helper.S: Likewise.
5932 * loader/i386/xnu.c: Likewise.
5933 * loader/i386/bsd_pagetable.c: Likewise.
5934 * loader/i386/multiboot_helper.S: Likewise.
5935 * loader/xnu.c: Likewise.
5936 * loader/xnu_resume.c: Likewise.
5937 * io/gzio.c: Likewise.
5938 * term/efi/console.c: Likewise.
5939 * term/terminfo.c: Likewise.
5940 * term/ieee1275/ofconsole.c: Likewise.
5941 * term/i386/pc/serial.c: Likewise.
5942 * term/i386/pc/vesafb.c: Likewise.
5943 * term/i386/pc/vga.c: Likewise.
5944 * term/usb_keyboard.c: Likewise.
5945 * term/gfxterm.c: Likewise.
5946 * aclocal.m4: Likewise.
5947 * util/lvm.c: Likewise.
5948 * util/grub.d/30_os-prober.in: Likewise.
5949 * util/grub.d/10_hurd.in: Likewise.
5950 * util/console.c: Likewise.
5951 * util/grub-macho2img.c: Likewise.
5952 * util/grub-probe.c: Likewise.
5953 * util/hostfs.c: Likewise.
5954 * util/i386/pc/grub-mkimage.c: Likewise.
5955 * util/i386/pc/grub-setup.c: Likewise.
5956 * util/i386/efi/grub-mkimage.c: Likewise.
5957 * util/grub-mkconfig.in: Likewise.
5958 * util/raid.c: Likewise.
5959 * util/resolve.c: Likewise.
5960 * util/grub-mkdevicemap.c: Likewise.
5961 * util/grub-emu.c: Likewise.
5962 * util/getroot.c: Likewise.
5963 * util/hostdisk.c: Likewise.
5964 * util/usb.c: Likewise.
5965 * util/grub-editenv.c: Likewise.
5966 * util/misc.c: Likewise.
5967
d2d49665 59682009-06-10 Felix Zielcke <fzielcke@z-51.de>
5969
5970 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5971 `genparttoollist.sh'.
5972 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5973 Add `*.sh' to the list find searches for and change `mdate.sh'
5974 to `mdate-sh'.
5975
fe052e37 59762009-06-10 Pavel Roskin <proski@gnu.org>
5977
2763ac18 5978 * include/grub/multiboot2.h: Provide compatibility defines for
5979 multiboot2.h.
5980 * include/multiboot2.h: Include stdint.h only if needed, using
5981 angle brackets.
5982 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5983 grub/multiboot2.h.
5984 * loader/ieee1275/multiboot2.c: Likewise.
5985 * loader/multiboot2.c: Likewise.
5986 * loader/multiboot_loader.c: Likewise.
5987
437e6adc 5988 * configure.ac: Use -nostdlib when probing for the target. It
5989 should not be required to have libc for the target.
5990
06a6836c 5991 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5992 they fail without libc headers for the target.
5993 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5994 exports.
5995 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5996 preprocessor conditionals.
5997
fe052e37 5998 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5999 build system doesn't need to be aware of the tar.c internals.
6000
afd22553 60012009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 6002
afd22553 6003 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 6004
6b787c4f 60052009-06-09 Robert Millan <rmh.grub@aybabtu.com>
6006
6007 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
6008 disk limit to 26 for IDE, Virtio, Xen and SCSI.
6009
60102009-06-09 Felix Zielcke <fzielcke@z-51.de>
6011
6012 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 6013 aren't available if ata.mod gets used.
6b787c4f 6014
473d1e45 60152009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 6016
473d1e45 6017 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 6018 initialising controller.
473d1e45 6019 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 6020
255a27d4 60212009-06-08 Felix Zielcke <fzielcke@z-51.de>
6022
6023 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6024 to choose between ata and biosdisk module on i386-pc.
6025
473d1e45 60262009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6027
d55842d8 6028 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6029 Subclass and Programming Interface fields in terms of the 3 byte
6030 Class Code register.
6031 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6032
fa5db0b1 6033 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6034 interface is OHCI. Add grub_dprintf for symmetry with
6035 bus/usb/uhci.c.
6036 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6037 interface is UHCI. Add interf variable for programming
6038 interface. Print interface with class/subclass.
6039
c0947beb 6040 * bus/usb/ohci.c: Set interf with correct field.
6041
69da8877 6042 * bus/usb/uhci.c: Remove unneeded doubled lines.
6043 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6044 Remove whitespace inside comment.
6045
9e172e30 60462009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6047
6048 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6049 as fallback an equivalent option without depth.
6050
de65ee2b 60512009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 Not fail if unable to retrieve C/H/S on LBA disks
6054
473d1e45 6055 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6056 if unable to retrieve C/H/S on LBA disks
6057
b57ea2c9 60582009-06-08 Pavel Roskin <proski@gnu.org>
6059
6060 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6061 about aliasing.
6062
af361263 60632009-06-08 Felix Zielcke <fzielcke@z-51.de>
6064
6065 * Makefile.in (uninstall): Remove all $lib_DATA files.
6066
4c9ec6b3 60672009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Bugfix: install on partitionless device
6070
6071 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6072 is a whole disk
6073
e76fc924 60742009-06-08 Felix Zielcke <fzielcke@z-51.de>
6075
6076 * Makefile.in (uninstall): Remove all $include_DATA files.
6077
ba5a0d05 60782009-06-08 Felix Zielcke <fzielcke@z-51.de>
6079
6080 * commands/true.c: New file. Implement the true and false commands.
6081 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6082 (true_mod_SOURCES): New variable.
6083 (true_mod_CFLAGS): Likewise.
6084 (true_mod_LDFLAGS): Likewise.
6085
c8048e32 60862009-06-05 Colin D Bennett <colin@gibibit.com>
6087
6088 Optimized font character lookup using binary search instead of linear
6089 search. Fonts now are required to have the character index ordered by
6090 code point.
6091
6092 * font/font.c (load_font_index): Verify that fonts have ordered
6093 character indices.
6094 (find_glyph): Use binary search instead of linear search to find a
6095 character in a font.
6096
408305be 60972009-06-05 Michael Scherer <misc@mandriva.org>
6098
6099 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6100 uses case sensitive btree.
6101 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6102 only for case insensitive filesystems.
6103
8ee1e0d9 61042009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6107 * conf/common.rmk (search_mod_CFLAGS): likewise
6108
a9966eb1 61092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6110
473d1e45 6111 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 6112 compensate a compiler bug
6113
9e7100fb 61142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6115
473d1e45 6116 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 6117 instead of '\b'
473d1e45 6118
ede21d71 61192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 Definitions for creating asm symbols with Apple's CC
6122
6123 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
6124 [APPLE_CC] (VARIABLE): likewise
6125
9dbf7653 61262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 Disable lnxboot.img when compiled
6129 with Apple's CC
6130
6131 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
6132 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
6133 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
6134 [! APPLE_CC] (CODE_LENG): skip
6135 [! APPLE_CC] (setup_sects): likewise
6136 [! APPLE_CC]: skip filling
473d1e45 6137
e93cdc3d 61382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 Address in trampolines based on 32-bit registers when compiled
6141 with Apple's CC
6142
473d1e45 6143 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 6144 for addresses
6145 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
6146
6c688477 61472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Avoid aliases when compiling with Apple's CC for PCBIOS machine
6150
6151 * kern/misc.c [APPLE_CC] (memcpy): new function
6152 [APPLE_CC] (memmove): likewise
6153 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 6154 (memcpy): define alias conditionally on !APPLE_CC
6c688477 6155 (memset): likewise
6156 (abort): likewise
6157 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
6158 APPLE_CC are defined
6159 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
6160 (grub_assert_fail): make prototype conditional
6161
e37ffc5c 61622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
6165
473d1e45 6166 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
6167 grub-macho2img
e37ffc5c 6168 (CLEANFILES): add grub-macho2img
6169 (grub_macho2img_SOURCES): new variable
6170 * kern/i386/pc/startup.S (bss_start): new variable
6171 (bss_end): likewise
6172 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
6173 * util/grub-macho2img.c: new file
6174
cf00df31 61752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Use objconv when compiling with Apple's CC
6178
6179 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
6180 (efiemu64.o): likewise
6181 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
6182 when compiling with Apple's CC
6183 (efiemu64_s.o): likewise
6184 * configure.ac: check for objconv when compiling with Apple's CC
6185 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 6186
d119a20c 61872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Define segment as well as section when compiling with
6190 Apple's CC
6191
6192 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
6193 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
6194 (efiemu_convert_pointer): likewise
6195 (efiemu_set_virtual_address_map): likewise
6196 (efiemu_convert_pointer): likewise
6197 (efiemu_getcrc32): likewise
6198 (init_crc32_table): likewise
6199 (reflect): likewise
6200 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
6201 (GRUB_MOD_DEP): likewise
473d1e45 6202
c8600122 62032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 Allow a compilation without -mcmodel=large
6206
6207 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
6208 when compiled without -mcmodel=large
473d1e45 6209 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 6210 without -mcmodel=large
473d1e45 6211 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 6212 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 6213
e8df1d4e 62142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Remove nested functions in efiemu core
6217
6218 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 6219
cc6c3ac1 62202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
6223
6224 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
6225 temporary storage
473d1e45 6226 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
6227 using Apple's CC
cc6c3ac1 6228 (grub_cpu_is_tsc_supported): likewise
6229 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 6230
3e325901 62312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Absolute addressing through constant with Apple's cc
6234
6235 * kern/i386/pc/startup.S: Define necessary constants
6236 and address through it when using ABS with Apple's CC
6237 * boot/i386/pc/diskboot.S: likewise
6238 * boot/i386/pc/boot.S: likewise
6239 * boot/i386/pc/lnxboot.S: likewise
6240 * boot/i386/pc/cdboot.S: likewise
6241 * mmap/i386/pc/mmap_helper.S: likewise
6242 * commands/i386/pc/drivemap_int13h.S: likewise
6243
2b167a72 62442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Check if compiler is apple cc
6247
6248 * Makefile.in (ASFLAGS): new variable
6249 (TARGET_ASFLAGS): likewise
6250 (TARGET_MODULE_FORMAT): likewise
6251 (TARGET_APPLE_CC): likewise
6252 (OBJCONV): likewise
6253 (TARGET_IMG_CFLAGS): likewise
6254 (TARGET_CPPFLAGS): add includedir
6255 * configure.ac: call grub_apple_cc and grub_apple_target_cc
6256 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
6257 Check for linker script only if compiler isn't Apple's CC
6258 (TARGET_MODULE_FORMAT): set
6259 (TARGET_APPLE_CC): likewise
6260 (TARGET_ASFLAGS): likewise
6261 (ASFLAGS): likewise
6262 Check for objcopy only if compiler isn't Apple's CC
6263 Check for BSS symbol only if compiler isn't Apple's CC
6264 * genmk.rb: adapt nm options if we use Apple's utils
6265 * aclocal.m4 (grub_apple_cc): new test
6266 (grub_apple_target_cc): likewise
473d1e45 6267
fb14123e 62682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 Simplify sed expressions and improve awk
6271
6272 * Makefile.in (install-local): simplify sed expression
6273 * gencmdlist.sh: likewise
6274 * genmoddep.awk: avoid adding module as a dependency of itself
6275
5b889789 62762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 Add missing start symbols
6279
6280 * boot/i386/pc/boot.S: add start
fb14123e 6281 * boot/i386/pc/pxeboot.S: likewise
473d1e45 6282
fd2bf2e3 62832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 6286
6287 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 6288 (relocate_addresses): consider both r_addend and value at offset
6289 (make_mods_section): zerofill modinfo and header
6290 (convert_elf): write prefix here
473d1e45 6291
5389763d 62922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 Use .asciz instead of .string
6295
6296 * i386/pc/diskboot.S: use .asciz instead of .string
6297 * i386/pc/boot.S: likewise
6298 * include/grub/dl.h (GRUB_MOD_DEP): likewise
6299 (GRUB_MOD_NAME): likewise
473d1e45 6300
3eb5ed4e 63012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 gfxpayload support
6304
6305 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
6306 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
6307 (grub_video_setup): remove
6308 (grub_video_set_mode): new prototype
6309 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
6310 (vid_mode): remove
6311 (linux_vesafb_res): compile only on PCBIOS
6312 (grub_linux_boot): support gfxpayload
6313 * loader/i386/pc/xnu.c (video_hook): new function
6314 (grub_xnu_set_video): support gfxpayload
6315 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
6316 (DEFAULT_VIDEO_HEIGHT): likewise
6317 (DEFAULT_VIDEO_FLAGS): likewise
6318 (DEFAULT_VIDEO_MODE): new definition
6319 (video_hook): new function
6320 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 6321 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 6322 loading xnu
6323 * video/video.c (grub_video_setup): removed
473d1e45 6324 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 6325 grub_video_setup
6326
4b0e1143 63272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Avoid calling biosdisk in drivemap
6330
6331 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
6332 (revparse_biosdisk): likewise
6333 (list_mappings): derive name from id directly
6334 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 6335
fda6cb98 63362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Script fixes
6339
6340 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
6341 (grub_lexer_param): add tokenonhold
6342 (grub_script_create_cmdline): remove cmdline. All callers updated
6343 (grub_script_function_create): make functionname
6344 grub_script_arg. All callers updated
6345 (grub_script_execute_argument_to_string): new prototype
6346 * kern/parser.c (state_transitions): reorder
6347 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 6348 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 6349 make global
6350 (grub_script_execute_cmdline): use new format
6351 * script/sh/function.c (grub_script_function_create): make functionname
6352 grub_script_arg. All callers updated
473d1e45 6353 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 6354 (grub_script_yylex): remove
6355 (grub_script_yylex2): renamed to ...
6356 (grub_script_yylex): ...renamed
6357 parse the expressions like a${b}c
6358 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
6359 (GRUB_PARSER_TOKEN_VAR): remove
6360 (GRUB_PARSER_TOKEN_NAME): likewise
6361 ("if"): declare as typeless
6362 ("while"): likewise
6363 ("function"): likewise
6364 ("else"): likewise
6365 ("then"): likewise
6366 ("fi"): likewise
6367 (text): remove
6368 (argument): likewise
6369 (script): accept empty scripts and make exit on error
6370 (arguments): use GRUB_PARSER_TOKEN_ARG
6371 (function): likewise
6372 (command): move error handling to script
6373 (menuentry): move grub_script_lexer_ref before
473d1e45 6374 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 6375 argument. All callers updated
6376
f4448a07 63772009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6378
6379 Prevent GRUB from probing floppies during boot.
6380
6381 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
6382 * commands/search.c (options): Add --no-floppy.
6383 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
6384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
6385 --no-floppy when searching for UUIDs.
6386
2bf5885a 63872009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6388
6389 Simplify the code duplication in commands/search.c.
6390
6391 * commands/search.c (search_label, search_fs_uuid): Merge into ...
6392 (search_fs): ... this. Update all users.
6393
f6fd460a 63942009-06-03 Felix Zielcke <fzielcke@z-51.de>
6395
6396 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
6397
cbb3c83e 63982009-05-28 Pavel Roskin <proski@gnu.org>
6399
57788cfd 6400 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
6401 Remove the original symlink explicitly.
6402
cbb3c83e 6403 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
6404 just one slash. That's how grub_fshelp_find_file() does it.
6405
cd0d5e30 64062009-05-26 Pavel Roskin <proski@gnu.org>
6407
f0f8bbe2 6408 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
6409 to `str'.
6410
cd0d5e30 6411 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
6412 possibly unused.
6413
8c2cab51 64142009-05-25 Christian Franke <franke@computer.org>
6415
6416 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
6417 register.
6418 (grub_atapi_identify): Add wait after drive select.
6419 (grub_ata_identify): Do more strict status register check before
6420 calling grub_atapi_identify (). Suppress error message if status
6421 register is 0x00 after command failure. Add status register
6422 check after PIO read to avoid bogus identify due to stuck DRQ.
6423 Thanks to Pavel Roskin for testing.
6424 (grub_device_initialize): Remove unsafe status register check.
6425 Thanks to 'phcoder' for problem report and patch.
6426 Prevent sign extension in debug message.
6427
230c0ad6 64282009-05-23 Colin D Bennett <colin@gibibit.com>
6429
6430 Cleaned up `include/grub/normal.h'. Grouped prototypes by
6431 definition file, and functions defined in `normal/menu.c' have had
6432 their prototypes moved to `include/grub/menu.h' for consistency.
6433
6434 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
6435 from normal.h.
6436 (grub_menu_get_entry): Likewise.
6437 (grub_menu_get_timeout): Likewise.
6438 (grub_menu_set_timeout): Likewise.
6439 (grub_menu_execute_entry): Likewise.
6440 (grub_menu_execute_with_fallback): Likewise.
6441 (grub_menu_entry_run): Likewise.
6442
6443 * include/grub/normal.h: Re-ordered and grouped function
6444 prototypes by file that the function is defined in.
6445 (grub_menu_execute_callback): Removed; moved to menu.h.
6446 (grub_menu_get_entry): Likewise.
6447 (grub_menu_get_timeout): Likewise.
6448 (grub_menu_set_timeout): Likewise.
6449 (grub_menu_execute_entry): Likewise.
6450 (grub_menu_execute_with_fallback): Likewise.
6451 (grub_menu_entry_run): Likewise.
6452 (grub_menu_addentry): Renamed from this ...
6453 (grub_normal_add_menu_entry): ... to this.
6454
6455 * normal/main.c (grub_menu_addentry): Renamed from this ...
6456 (grub_normal_add_menu_entry): ... to this.
6457
6458 * script/sh/execute.c (grub_script_execute_menuentry): Update
6459 reference to renamed grub_menu_addentry function.
6460
861f03a5 64612009-05-23 Felix Zielcke <fzielcke@z-51.de>
6462
6463 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
6464
96b1619a 64652009-05-22 Pavel Roskin <proski@gnu.org>
6466
bf6a5fb2 6467 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
6468 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
6469 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
6470 compiling for the i386 targets, but not for the utilities.
6471
96b1619a 6472 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
6473 to grub_uint8_t.
6474 (grub_root_drive): Likewise.
6475 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
6476 remove alignment.
6477 (grub_root_drive): Change size to byte.
6478 (grub_start_addr): Remove.
6479 (grub_end_addr): Likewise.
6480 (grub_apm_bios_info): Likewise.
6481
b729776b 64822009-05-21 Felix Zielcke <fzielcke@z-51.de>
6483
6484 * normal/i386: Remove.
6485 * normal/powerpc: Likewise.
6486 * normal/sparc64: Likewise.
6487 * normal/x86_64: Likewise.
6488
0a15ce80 64892009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 6492 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 6493 * loader/i386/xnu_helper.S: Likewise
d6da58e6 6494
33db9015 64952009-05-18 Colin D Bennett <colin@gibibit.com>
6496
d6da58e6 6497 Display error messages when parsing a Lua statement fails.
6498 Previously, executing a syntactically invalid statement like
6499 ")foo" or "bar;" would silently fail.
33db9015 6500
6501 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 6502 (grub_lua_parse_line): Improved reporting of Lua parser and
6503 execution errors.
33db9015 6504
46422c89 65052009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Remove -Werror which causes build to fail on some systems
6508
6509 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
6510 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
6511 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 6512
22f53a96 65132009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 trampoline for linux on 64-bit platform
6516
18f547ad 6517 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
6518 loader/i386/efi/linux_trampoline.S
6519 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 6520 declaration
d6da58e6 6521 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
6522 here
22f53a96 6523 * loader/i386/linux_trampoline.S: moved here
d6da58e6 6524 * loader/i386/efi/linux.c (allocate_pages): reserve space for
6525 trampoline
22f53a96 6526 (jumpvector): removed
6527 (grub_linux_trampoline_start): new declaration
6528 (grub_linux_trampoline_end): likewise
6529 (grub_linux_boot): use trampoline when on 64-bit platform
6530 * loader/i386/linux.c: likewise
6531
cb5a0f40 65322009-05-16 Pavel Roskin <proski@gnu.org>
6533
6534 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
6535 const to avoid a warning.
6536 (grub_lua_setenv): Likewise.
6537 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
6538 lmsg to fix a warning.
6539
334f2c28 65402009-05-16 Felix Zielcke <fzielcke@z-51.de>
6541
6542 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 6543 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6544 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
6545 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6546 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6547 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6548 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6549 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 6550
59e5d3ec 65512009-05-16 Felix Zielcke <fzielcke@z-51.de>
6552
6553 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
6554
9d87a1ba 65552009-05-16 Bean <bean123ch@gmail.com>
6556
6557 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
6558 (lua_mod_SOURCES): New variable.
6559 (lua_mod_CFLAGS): Likewise.
6560 (lua_mod_LDFLAGS): Likewise.
6561
6562 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
6563 (setjmp_mod_SOURCES): New variable.
6564 (setjmp_mod_CFLAGS): Likewise.
6565 (setjmp_LDFLAGS): Likewise.
6566
6567 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
6568 (setjmp_mod_SOURCES): New variable.
6569 (setjmp_mod_CFLAGS): Likewise.
6570 (setjmp_LDFLAGS): Likewise.
6571
6572 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6573 (setjmp_mod_SOURCES): New variable.
6574 (setjmp_mod_CFLAGS): Likewise.
6575 (setjmp_LDFLAGS): Likewise.
6576
6577 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6578 (setjmp_mod_SOURCES): New variable.
6579 (setjmp_mod_CFLAGS): Likewise.
6580 (setjmp_LDFLAGS): Likewise.
6581
6582 * normal/i386/setjmp.S: Moved from here ...
6583 * lib/i386/setjmp.S: ... Moved here
6584 * normal/x86_64/setjmp.S: Moved from here ...
6585 * lib/x86_64/setjmp.S: ... Moved here
6586 * normal/powerpc/setjmp.S: Moved from here ...
6587 * lib/powerpc/setjmp.S: ... Moved here
6588 * normal/sparc64/setjmp.S: Moved from here ...
6589 * lib/sparc64/setjmp.S: ... Moved here
6590
6591 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
6592 returns_twice in mingw.
6593
6594 * script/lua/grub_lib.c: New file.
6595 * script/lua/grub_lib.h: Likewise.
6596 * script/lua/grub_lua.h: Likewise.
6597 * script/lua/grub_main.c: Likewise.
6598 * script/lua/lapi.c: Likewise.
6599 * script/lua/lapi.h: Likewise.
6600 * script/lua/lauxlib.c: Likewise.
6601 * script/lua/lauxlib.h: Likewise.
6602 * script/lua/lbaselib.c: Likewise.
6603 * script/lua/lcode.c: Likewise.
6604 * script/lua/lcode.h: Likewise.
6605 * script/lua/ldblib.c: Likewise.
6606 * script/lua/ldebug.c: Likewise.
6607 * script/lua/ldebug.h: Likewise.
6608 * script/lua/ldo.c: Likewise.
6609 * script/lua/ldo.h: Likewise.
6610 * script/lua/ldump.c: Likewise.
6611 * script/lua/lfunc.c: Likewise.
6612 * script/lua/lfunc.h: Likewise.
6613 * script/lua/lgc.c: Likewise.
6614 * script/lua/lgc.h: Likewise.
6615 * script/lua/linit.c: Likewise.
6616 * script/lua/liolib.c: Likewise.
6617 * script/lua/llex.c: Likewise.
6618 * script/lua/llex.h: Likewise.
6619 * script/lua/llimits.h: Likewise.
6620 * script/lua/lmathlib.c: Likewise.
6621 * script/lua/lmem.c: Likewise.
6622 * script/lua/lmem.h: Likewise.
6623 * script/lua/loadlib.c: Likewise.
6624 * script/lua/lobject.c: Likewise.
6625 * script/lua/lobject.h: Likewise.
6626 * script/lua/lopcodes.c: Likewise.
6627 * script/lua/lopcodes.h: Likewise.
6628 * script/lua/loslib.c: Likewise.
6629 * script/lua/lparser.c: Likewise.
6630 * script/lua/lparser.h: Likewise.
6631 * script/lua/lstate.c: Likewise.
6632 * script/lua/lstate.h: Likewise.
6633 * script/lua/lstring.c: Likewise.
6634 * script/lua/lstring.h: Likewise.
6635 * script/lua/lstrlib.c: Likewise.
6636 * script/lua/ltable.c: Likewise.
6637 * script/lua/ltable.h: Likewise.
6638 * script/lua/ltablib.c: Likewise.
6639 * script/lua/ltm.c: Likewise.
6640 * script/lua/ltm.h: Likewise.
6641 * script/lua/lua.h: Likewise.
6642 * script/lua/luaconf.h: Likewise.
6643 * script/lua/lualib.h: Likewise.
6644 * script/lua/lundump.c: Likewise.
6645 * script/lua/lundump.h: Likewise.
6646 * script/lua/lvm.c: Likewise.
6647 * script/lua/lvm.h: Likewise.
6648 * script/lua/lzio.c: Likewise.
6649 * script/lua/lzio.h: Likewise.
6650
5e898c9d 66512009-05-16 Bean <bean123ch@gmail.com>
6652
6653 * include/grub/kernel.h (grub_module_header_types): Add type
6654 OBJ_TYPE_CONFIG.
6655
6656 * kern/main.c (grub_load_config): New function.
6657 (grub_main): Call grub_load_config to read boot config.
6658
6659 * grub-mkimage (generate_image): New parameter config_path.
6660 (options): New option --config.
6661 (main): Parse --config option, and pass it to generate_image.
6662
cf353a47 66632009-05-14 Christian Franke <franke@computer.org>
6664
6665 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
6666 This fixes build on Cygwin.
6667
3834887f 66682009-05-14 Pavel Roskin <proski@gnu.org>
6669
6670 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
6671 jump. This saves two bytes, so the typical case of 2 swapped
6672 drives would fit 32 bytes.
6673
8090fc01 66742009-05-13 Pavel Roskin <proski@gnu.org>
6675
ac963883 6676 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
6677 grub_uint32_t to avoid a warning.
6678
8090fc01 6679 * loader/i386/linux.c (allocate_pages): When assigning
6680 real_mode_mem, cast through grub_size_t to fix a warning. The
6681 code already makes sure that the value would fit a pointer.
6682 (grub_linux_setup_video): Cast render_target->data to
6683 grub_size_t to fix a warning.
6684
18f547ad 66852009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 6686
6687 * commands/i386/pc/drivemap.c: New file - implement drivemap
6688 command.
6689 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
6690 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
6691
6f6a8b28 66922009-05-13 Pavel Roskin <proski@gnu.org>
6693
6694 * util/i386/pc/grub-setup.c (setup): Remove unused variable
6695 embedding_area_exists.
6696
15fbf4c4 66972009-05-13 Robert Millan <rmh.grub@aybabtu.com>
6698
6699 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
6700 it easier to understand / work with.
59978c8a 6701 Improve warning messages for cases where there's no embedding area,
6702 or when it is too small (or core.img too large).
15fbf4c4 6703
238e871f 67042009-05-13 Pavel Roskin <proski@gnu.org>
6705
0ab3a9a4 6706 * loader/i386/pc/multiboot2.c: Add necessary includes for
6707 grub_multiboot2_real_boot().
6708
a2c8c5f8 6709 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
6710 PX record is always little-endian. We only need the lower 2
6711 bytes of the mode.
6712
faec96af 6713 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
6714 facilitate code reuse.
6715 (grub_cpio_mount): Use "struct head", not a char buffer. This
6716 fixes a warning reported by gcc 4.4.
6717
238e871f 6718 * kernel/disk.c (grub_disk_read): Use void pointer for the
6719 buffer.
6720 (grub_disk_write): Use const void pointer for the buffer.
6721 Adjust all callers. Remove unnecessary casts.
6722
901d2f0c 67232009-05-10 Robert Millan <rmh.grub@aybabtu.com>
6724
6725 * util/i386/pc/grub-install.in: Update copyright year.
6726
18f547ad 67272009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 6728
6729 gptsync
6730
6731 * commands/gptsync.c: new file
6732 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
6733 (gptsync_mod_SOURCES): new variable
6734 (gptsync_mod_CFLAGS): likewise
6735 (gptsync_mod_LDFLAGS): likewise
18f547ad 6736 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 6737 new definition
6738 (GRUB_PC_PARTITION_TYPE_HFS): likewise
6739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
6740 * conf/i386-ieee1275.rmk: likewise
6741 * conf/i386-pc.rmk: likewise
6742 * conf/powerpc-ieee1275.rmk: likewise
6743
b4ba690a 67442009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 Fixed grub-emu
6747
6748 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
6749 (grub_dl_ref): likewise
6750
317e1a44 67512009-05-08 Robert Millan <rmh.grub@aybabtu.com>
6752
6753 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
6754 split in two functions (one for msdos and one for gpt).
6755
041b8094 67562009-05-08 Pavel Roskin <proski@gnu.org>
6757
752473c2 6758 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
6759 not modified.
6760
041b8094 6761 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
6762 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
6763 Initialize them with -1. Add sanity check for bad1. Eliminate
6764 nerr variable.
6765
172800ce 67662009-05-08 David S. Miller <davem@davemloft.net>
6767
6768 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
6769
29aa5e81 67702009-05-06 Robert Millan <rmh.grub@aybabtu.com>
6771
6772 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 6773 existence.
29aa5e81 6774
96613b62 67752009-05-05 Felix Zielcke <fzielcke@z-51.de>
6776
6777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 6778 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 6779
eef73c8a 67802009-05-05 David S. Miller <davem@davemloft.net>
6781
6782 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
6783
119494b5 67842009-05-05 Pavel Roskin <proski@gnu.org>
6785
6786 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
6787 of grub_dl_ref() and grub_dl_unref().
6788 * commands/parttool.c: Remove preprocessor conditionals around
6789 grub_dl_ref() and grub_dl_unref().
6790 * fs/affs.c: Likewise.
6791 * fs/afs.c: Likewise.
6792 * fs/cpio.c: Likewise.
6793 * fs/ext2.c: Likewise.
6794 * fs/fat.c: Likewise.
6795 * fs/hfs.c: Likewise.
6796 * fs/hfsplus.c: Likewise.
6797 * fs/iso9660.c: Likewise.
6798 * fs/jfs.c: Likewise.
6799 * fs/minix.c: Likewise.
6800 * fs/ntfs.c: Likewise.
6801 * fs/reiserfs.c: Likewise.
6802 * fs/sfs.c: Likewise.
6803 * fs/udf.c: Likewise.
6804 * fs/ufs.c: Likewise.
6805 * fs/xfs.c: Likewise.
6806 * include/grub/dl.h: Likewise.
6807 * loader/xnu.c: Likewise.
6808
de5fd76e 68092009-05-04 Pavel Roskin <proski@gnu.org>
6810
6811 * commands/acpi.c: Remove unused variable my_mod.
6812 * partmap/amiga.c: Likewise.
6813 * partmap/apple.c: Likewise.
6814 * partmap/gpt.c: Likewise.
6815 * partmap/pc.c: Likewise.
6816 * partmap/sun.c: Likewise.
6817 * term/gfxterm.c: Likewise.
6818 * term/i386/pc/vesafb.c: Likewise.
6819 * term/i386/pc/vga.c: Likewise.
6820
983598ad 68212009-05-04 David S. Miller <davem@davemloft.net>
6822
6823 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
6824 pointer args to grub_ieee1275_get_property().
6825
8aadec43 6826 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
6827
9554b15e 6828 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
6829 devices, and do not traverse down under controller nodes.
6830
67e23c90 6831 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
6832 (grub_ofdisk_open): Use it to un-escape "," characters.
6833 * kern/disk.c (find_part_sep): New.
6834 (grub_disk_open): Use it to find the first non-escaped ','
6835 character in the disk name.
6836 * util/ieee1275/devicemap.c (escape_of_path): New.
6837 (grub_util_emit_devicemap_entry): Use it.
6838 * util/sparc64/ieee1275/grub-install.in: Update script to
6839 strip partition specifiers properly by not triggering on
6840 '\' escaped ',' characters.
6841
74bfdd2f 68422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6843
6844 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
6845 to 0x300.
6846 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
6847 resolutions.
6848 (linux_vesafb_modes): Add a lot of additional modes to the list (based
6849 on documentation from Wikipedia).
6850
4241d2b1 68512009-05-04 Pavel Roskin <proski@gnu.org>
6852
6853 * disk/ata.c: Spelling fixes.
6854 * disk/raid.c: Likewise.
6855 * disk/usbms.c: Likewise.
6856 * disk/dmraid_nvidia.c: Likewise.
6857 * kern/ieee1275/openfw.c: Likewise.
6858 * kern/ieee1275/init.c: Likewise.
6859 * kern/ieee1275/cmain.c: Likewise.
6860 * boot/i386/pc/cdboot.S: Likewise.
6861 * video/readers/png.c: Likewise.
6862 * video/i386/pc/vbe.c: Likewise.
6863 * fs/udf.c: Likewise.
6864 * fs/hfs.c: Likewise.
6865 * fs/reiserfs.c: Likewise.
6866 * efiemu/runtime/efiemu.c: Likewise.
6867 * efiemu/main.c: Likewise.
6868 * efiemu/mm.c: Likewise.
6869 * include/grub/elf.h: Likewise.
6870 * include/grub/xnu.h: Likewise.
6871 * include/grub/usbdesc.h: Likewise.
6872 * include/grub/usb.h: Likewise.
6873 * include/grub/script_sh.h: Likewise.
6874 * include/grub/lib/LzmaEnc.h: Likewise.
6875 * include/grub/efiemu/efiemu.h: Likewise.
6876 * include/grub/command.h: Likewise.
6877 * normal/menu.c: Likewise.
6878 * normal/main.c: Likewise.
6879 * normal/datetime.c: Likewise.
6880 * bus/usb/uhci.c: Likewise.
6881 * mmap/i386/uppermem.c: Likewise.
6882 * mmap/mmap.c: Likewise.
6883 * commands/acpi.c: Likewise.
6884 * commands/test.c: Likewise.
6885 * partmap/apple.c: Likewise.
6886 * font/font.c: Likewise.
6887 * loader/sparc64/ieee1275/linux.c: Likewise.
6888 * loader/macho.c: Likewise.
6889 * loader/i386/bsd_trampoline.S: Likewise.
6890 * loader/i386/bsd.c: Likewise.
6891 * loader/xnu.c: Likewise.
6892 * term/i386/pc/vesafb.c: Likewise.
6893 * term/usb_keyboard.c: Likewise.
6894 * util/resolve.c: Likewise.
6895 * util/getroot.c: Likewise.
6896
0cfc0083 68972009-05-04 Felix Zielcke <fzielcke@z-51.de>
6898
6899 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
6900
7c1d00cd 69012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6902
6903 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
6904 build error.
6905
b01f0548 69062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6907
6908 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
6909 parameter only available on BIOS.
6910
ecc3eb22 69112009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 Removed wrong semicolon in declaration
6914
6915 * grub/misc.h (grub_dprintf): remove semicolon
6916
112972a9 69172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6918
6919 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
6920 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
6921 is done by grub_cmd_linux() now).
6922 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
6923 restore video to text mode.
6924 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
6925 indicates lack of "vga=" parameter. "vga=0" is mapped to
6926 `GRUB_LINUX_VID_MODE_NORMAL'.
6927
afd5c115 69282009-05-04 Felix Zielcke <fzielcke@z-51.de>
6929
6930 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
6931 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
6932 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 6933 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 6934 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
6935 `grub_script.tab.c'.
6936
6937 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6938 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6940 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6942
faa517ce 6943 * Makefile.in: Remove duplicated 2008 in Copyright line.
6944
ae0c0bdc 69452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6946
473d1e45 6947 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6948 unconditionally.
6949 * include/grub/util/misc.h (grub_util_warn): New declaration.
6950
6951 * util/i386/pc/grub-install.in: Understand --force and pass it down
6952 to grub-setup.
6953
6954 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6955 down to setup().
6956 (setup): Improve error messages and add warnings when requested to
6957 install in odd layouts. Refuse to install using blocklists unless
6958 --force was set.
6959
18f547ad 69602009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6961
6962 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6963
6d260daa 69642009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Updated copyright year
6967
6968 * fs/hfsplus.c: updated copyright year
18f547ad 6969
69f853f8 69702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 HFS+ UUID
6973
18f547ad 6974 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6975 in the space previously used by unused3
6976 (grub_hfsplus_uuid): new function
6977 (grub_hfsplus_fs): added uuid field
6978
4c402e73 69792009-05-03 Pavel Roskin <proski@gnu.org>
6980
6981 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6982 suppress warnings. It's no longer needed.
6983 * disk/host.c: Likewise.
6984 * disk/ata_pthru.c: Likewise.
6985 * disk/loopback.c: Likewise.
6986 * hook/datehook.c: Likewise.
6987 * parttool/pcpart.c: Likewise.
6988 * fs/i386/pc/pxe.c: Likewise.
6989 * fs/ntfscomp.c: Likewise.
6990 * efiemu/main.c: Likewise.
6991 * mmap/mmap.c: Likewise.
6992 * commands/crc.c: Likewise.
6993 * commands/hexdump.c: Likewise.
6994 * commands/hdparm.c: Likewise.
6995 * commands/acpi.c: Likewise.
6996 * commands/echo.c: Likewise.
6997 * commands/minicmd.c: Likewise.
6998 * commands/blocklist.c: Likewise.
6999 * commands/memrw.c: Likewise.
7000 * commands/loadenv.c: Likewise.
7001 * commands/usbtest.c: Likewise.
7002 * commands/lsmmap.c: Likewise.
7003 * commands/boot.c: Likewise.
7004 * commands/parttool.c: Likewise.
7005 * commands/configfile.c: Likewise.
7006 * commands/search.c: Likewise.
7007 * commands/ieee1275/suspend.c: Likewise.
7008 * commands/cat.c: Likewise.
7009 * commands/i386/pc/pxecmd.c: Likewise.
7010 * commands/i386/pc/play.c: Likewise.
7011 * commands/i386/pc/halt.c: Likewise.
7012 * commands/i386/pc/vbeinfo.c: Likewise.
7013 * commands/i386/pc/vbetest.c: Likewise.
7014 * commands/lspci.c: Likewise.
7015 * commands/date.c: Likewise.
7016 * commands/handler.c: Likewise.
7017 * commands/ls.c: Likewise.
7018 * commands/test.c: Likewise.
7019 * commands/cmp.c: Likewise.
7020 * commands/efi/loadbios.c: Likewise.
7021 * commands/efi/fixvideo.c: Likewise.
7022 * commands/halt.c: Likewise.
7023 * commands/help.c: Likewise.
7024 * commands/reboot.c: Likewise.
7025 * hello/hello.c: Likewise.
7026 * script/sh/main.c: Likewise.
7027 * loader/xnu.c: Likewise.
7028 * term/terminfo.c: Likewise.
7029 * term/i386/pc/serial.c: Likewise.
7030 * term/usb_keyboard.c: Likewise.
7031
515b5079 70322009-05-03 David S. Miller <davem@davemloft.net>
7033
7034 * normal/menu.c: Include grub/parser.h
7035
dfc31a22 70362009-05-03 Pavel Roskin <proski@gnu.org>
7037
2fee74f1 7038 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7039 not char*.
7040 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7041 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
7042
dfc31a22 7043 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7044 efiemu??.o doesn't exist.
7045 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7046 copying.
7047
18f547ad 70482009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7049
7050 FreeBSD 64-bit support
7051
18f547ad 7052 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7053 and loader/i386/bsd_trampoline.S
7054 (bsd_mod_ASFLAGS): new variable
7055 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7056 (FREEBSD_MODTYPE_KERNEL64): likewise
7057 (grub_bsd64_trampoline_start): likewise
7058 (grub_bsd64_trampoline_end): likewise
7059 (grub_bsd64_trampoline_selfjump): likewise
7060 (grub_bsd64_trampoline_gdt): likewise
7061 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7062 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7063 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7064 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7065 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7066 of "attrib" member
7067 * loader/i386/bsd_pagetable.c: new file
7068 * loader/i386/bsd_trampoline.S: likewise
7069 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7070 (ALIGN_VAR): likewise
7071 (entry_hi): new variable
7072 (kern_end_mdofs): likewise
7073 (is_64bit): likewise
7074 (grub_freebsd_add_meta): use ALIGN_VAR
7075 (grub_e820_mmap): new declaration
7076 (grub_freebsd_add_mmap): new function
7077 (grub_freebsd_add_meta_module): support 64 bit kernels
7078 (grub_freebsd_list_modules): use ALIGN_VAR
7079 (gdt_descriptor): new declaration
7080 (grub_freebsd_boot): support 64 bit kernels
7081 (grub_bsd_elf64_hook): new function
7082 (grub_bsd_load_elf): support elf64
7083
038c5720 70842009-05-03 Bean <bean123ch@gmail.com>
7085
7086 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7087 after we get the result of if statement.
7088
fc45fb58 70892009-05-03 Bean <bean123ch@gmail.com>
7090
7091 * Makefile.in (enable_efiemu): New variable.
7092
7093 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7094 set.
7095 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7096 path.
7097 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7098 path, add -mno-red-zone option.
7099 (efiemu64_s.o): Likewise.
7100 (efiemu64.o): Use macro $^ for source file.
7101
7102 * configure.ac (--enable-efiemu): New option.
7103
bbee0f2b 71042009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 xnu support
7107
7108 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
7109 (pkglib_MODULES): add xnu.mod
7110 (xnu_mod_SOURCES): new variable
7111 (xnu_mod_CFLAGS): likewise
7112 (xnu_mod_LDFLAGS): likewise
7113 (xnu_mod_ASFLAGS): likewise
7114 * conf/i386-pc.rmk: likewise
7115 * conf/x86_64-efi.rmk: likewise
7dd4a573 7116 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 7117 new declaration
7118 * include/grub/i386/macho.h: new file
7119 * include/grub/i386/xnu.h: likewise
7120 * include/grub/macho.h: likewise
7121 * include/grub/machoload.h: likewise
7122 * include/grub/x86_64/macho.h: likewise
7123 * include/grub/x86_64/xnu.h: likewise
7124 * include/grub/xnu.h: likewise
7125 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
7126 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
7127 * loader/i386/efi/xnu.c: new file
7128 * loader/i386/pc/xnu.c: likewise
7129 * loader/i386/xnu.c: likewise
7130 * loader/i386/xnu_helper.S: likewise
7131 * loader/macho.c: likewise
7132 * loader/xnu.c: likewise
7133 * loader/xnu_resume.c: likewise
7134 * util/grub-dumpdevtree: likewise
7135 * include/grub/i386/pit.h: include grub/err.h
7136 (grub_pit_wait): export
7137 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 7138
5caf964d 71392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 Efiemu
7dd4a573 7142
5caf964d 7143 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 7144 _linux_efi, linux_efi.
7145 new files in grub-emu
5caf964d 7146 new targets efiemu32.o and efiemu64.o
7147 * loader/linux_normal_efiemu.c: likewise
7148 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 7149 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 7150 files to copy
7151 * include/grub/autoefi.h: new file
7dd4a573 7152 * include/grub/i386/efiemu.h: likewise
5caf964d 7153 * include/grub/i386/pc/efiemu.h: likewise
7154 * include/grub/efi/api.h: add LL suffix when necessary
7155 new definitions relating to tables
7156 * include/grub/efiemu/efiemu.h: new file
7157 * include/grub/efiemu/runtime.h: likewise
7158 * efiemu/prepare.c: likewise
7159 * efiemu/loadcore_common.c: likewise
7160 * efiemu/loadcore64.c: likewise
7161 * efiemu/runtime/efiemu.sh: likewise
7162 * efiemu/runtime/efiemu.S: likewise
7163 * efiemu/runtime/efiemu.c: likewise
7164 * efiemu/runtime/config.h: likewise
7165 * efiemu/prepare32.c: likewise
7166 * efiemu/main.c: likewise
7167 * efiemu/modules/pnvram.c: likewise
7168 * efiemu/modules/i386: likewise
7169 * efiemu/modules/i386/pc: likewise
7170 * efiemu/modules/acpi.c: likewise
7171 * efiemu/i386/pc/cfgtables.c: likewise
7172 * efiemu/i386/loadcore64.c: likewise
7173 * efiemu/i386/loadcore32.c: likewise
7174 * efiemu/prepare64.c: likewise
7175 * efiemu/loadcore.c: likewise
7176 * efiemu/symbols.c: likewise
7177 * efiemu/mm.c: likewise
7178 * efiemu/loadcore32.c: likewise
7dd4a573 7179
71802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 7181
7182 ACPI spoofing
7183
7184 * commands/acpi.c: new file
7185 * commands/i386/pc/acpi.c: likewise
7186 * commands/efi/acpi.c: likewise
7187 * include/grub/acpi.h: likewise
7188 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
7189 (acpi_mod_SOURCES): new variable
7190 (acpi_mod_CFLAGS): likewise
7191 (acpi_mod_LDFLAGS): likewise
7192 * conf/i386-efi.rmk: likewise
7193 * conf/x86_64-efi.rmk: likewise
7194
7dd4a573 71952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 7196
7197 Missing part from mmap patch
7198
7199 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
7200 (grub_mmap_unregister)
7201 (grub_mmap_free_and_unregister): use grub_mmap_register
7202
7dd4a573 72032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 7204
7205 Mmap services
7206
7207 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
7208 * loader/i386/linux.c (find_mmap_size): likewise
7209 (allocate_pages): likewise
7210 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
7211 (grub_fill_multiboot_mmap): likewise
7212 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
7213 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
7214 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
7215 (OPENBSD_MMAP_RESERVED): likewise
7216 * include/grub/i386/pc/memory.h: include grub/memory.h
7217 (grub_lower_mem): removed
7218 (grub_upper_mem): likewise
7219 (GRUB_MACHINE_MEMORY_ACPI): new definition
7220 (GRUB_MACHINE_MEMORY_NVS): likewise
7221 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
7222 (GRUB_MACHINE_MEMORY_HOLE): likewise
7223 (grub_machine_mmap_register): likewise
7224 (grub_machine_mmap_unregister): likewise
7225 (grub_machine_get_upper): likewise
7226 (grub_machine_get_lower): likewise
7227 (grub_machine_get_post64): likewise
7228 * include/grub/i386/efi/memory.h: new file
7229 * include/grub/x86_64/efi/memory.h: likewise
7230 * include/grub/efi/memory.h: likewise
7231 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
7232 (mmap_mod_SOURCES): new variable
7233 (mmap_mod_LDFLAGS): likewise
7234 (mmap_mod_ASFLAGS): likewise
7235 * conf/i386-coreboot.rmk: likewise
7236 * conf/i386-ieee1275.rmk: likewise
7237 * conf/i386-efi.rmk: likewise
7238 * conf/x86_64-efi.rmk: likewise
7239 * include/grub/types.h (UINT_TO_PTR): new macro
7240 (PTR_TO_UINT32): likewise
7241 (PTR_TO_UINT64): likewise
7242 * include/grub/memory.h: new file
7243 * mmap/i386/pc/mmap.c: likewise
7244 * mmap/i386/pc/mmap_helper.S: likewise
7245 * mmap/i386/uppermem.c: likewise
7246 * mmap/mmap.c: likewise
7247 * mmap/efi/mmap.c: likewise
7dd4a573 7248 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 7249 grub_upper_mem
7250 * kern/i386/pc/init.c (grub_lower_mem): removed variable
7251 (grub_upper_mem): likewise
7252 (grub_machine_init): don't use grub_upper_mem,
7253 make grub_lower_mem local
7254 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
7255 grub_mmap_iterate and grub_mmap_get_upper
7256 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
7257
d558e6b5 72582009-05-02 Bean <bean123ch@gmail.com>
7259
7260 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
7261 script/sh/parser.y.
7262 (pkglib_MODULES): Add normal.mod and sh.mod.
7263 (normal_SOURCES): New variable.
7264 (normal_mod_CFLAGS): Likewise.
7265 (normal_mod_LDFLAGS): Likewise.
7266 (sh_mod_SOURCES): Likewise.
7267 (sh_mod_CFLAGS): Likewise.
7268 (sh_mod_LDFLAGS): Likewise.
7269
7270 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
7271 script/sh/lexer.c_DEPENDENCIES.
7272 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
7273 kern/rescue_reader.c and kern/rescue_parser.c.
7274 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
7275 (grub_emu_SOURCES): Change source files.
7276 (pkglib_MODULES): Remove normal.mod.
7277 (normal_SOURCES): Removed.
7278 (normal_mod_CFLAGS): Likewise.
7279 (normal_mod_LDFLAGS): Likewise.
7280 * conf/i386-coreboot.rmk: Likewise.
7281 * conf/i386-efi.rmk: Likewise.
7282 * conf/i386-ieee1276.rmk: Likewise.
7283 * conf/powerpc-ieee1275.rmk: Likewise.
7284 * conf/sparc64-ieee1275.rmk: Likewise.
7285 * conf/x86_64-efi.rmk: Likewise.
7286
7287 * include/grub/command.h (grub_command_execute): New inline function.
7288
7289 * include/grub/menu.h (grub_menu_entry): Removed commands field.
7290
7291 * include/grub/normal.h: Remove <grub/setjmp.h>.
7292 (grub_fs_module_list): Moved to normal/autofs.c.
7293 (grub_exit_env): Removed.
7294 (grub_command_execute): Likewise.
7295 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
7296 parameter script.
7297 (read_command_list): New function declaration.
7298 (read_fs_list): Likewise.
7299
7300 * include/parser.h: Include <grub/reader.h>.
7301 (grub_parser_split_cmdline): Change type of getline parameter.
7302 (grub_parser): New structure.
7303 (grub_parser_class): New variable.
7304 (grub_parser_execute): New function declaration.
7305 (grub_register_rescue_parser): Likewise.
7306 (grub_parser_register): New inline function.
7307 (grub_parser_unregister): Likewise.
7308 (grub_parser_get_current): Likewise.
7309 (grub_parser_set_current): Likewise.
7310
7311 * include/grub/reader.h: New file.
7312 * kern/reader.c: Likewise.
7313 * kern/rescue_parser.c: Likewise.
7314 * kern/rescue_reader.c: Likewise.
7315 * normal/autofs.c: Likewise.
7316 * normal/dyncmd.c: Likewise.
7317
7318 * include/grub/rescue.h: Removed.
7319 * normal/command.h: Likewise.
7320
7321 * include/grub/script.h: Moved to ...
7322 * include/grub/script_sh.h: ... Moved here.
7323 * normal/execute.c: Moved to ...
7324 * script/sh/execute.c: ... Moved here.
7325 * normal/function.c: Moved to ...
7326 * script/sh/function.c: ... Moved here.
7327 * normal/lexer.c: Moved to ...
7328 * script/sh/lexer.c: ... Moved here.
7329 * normal/parser.y: Moved to ...
7330 * script/sh/parser.y: ... Moved here.
7331 * normal/script.c: Moved to ...
7332 * script/sh/script.c: ... Moved here.
7333
7334 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
7335 <grub/reader.h>.
7336 (grub_exit_env): Removed.
7337 (fs_module_list): Moved to normal/autofs.c.
7338 (grub_file_getline): Don't handle comment here.
7339 (free_menu): Skip removed field entry->commands.
7340 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
7341 script parameter.
7342 (read_config_file): Removed nested parameter, change getline function.
7343 (grub_enter_normal_mode): Removed.
7344 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
7345 (read_command_list): Likewise.
7346 (autoload_fs_module): Moved to normal/autofs.c.
7347 (read_fs_list): Likewise.
7348 (reader_nested): New variable.
7349 (grub_normal_execute): Run parser.sh to switch to sh parser.
7350 (grub_cmd_rescue): Removed.
7351 (cmd_normal): Removed.
7352 (grub_cmd_normal): Unregister itself at the beginning. Don't register
7353 rescue command.
7354 (grub_cmdline_run): New function.
7355 (grub_normal_reader_init): Likewise.
7356 (grub_normal_read_line): Likewise.
7357 (grub_env_write_pager): Likewise.
7358 (cmdline): New variable.
7359 (grub_normal_reader): Likewise.
7360 (GRUB_MOD_INIT): Register normal reader and set as current, register
7361 pager hook, register normal command with grub_register_command_prio,
7362 so that it won't show up in command.lst.
7363 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
7364 grub_fs_autoload_hook.
7365
7366 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
7367 (grub_menu_execute_entry): Replace grub_script_execute with
7368 grub_parser_execute, change parameter to grub_command_execute.
7369
7370 * normal/menu_text.c: Remove <grub/script.h>.
7371
7372 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
7373 and <grub/parser.h>.
7374 (run): Change editor_getline to use new parser interface. Change
7375 parameter to grub_command_execute.
7376
7377 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
7378 <grub/reader.h> and <grub/parser.h>.
7379 (grub_load_normal_mode): Execute normal command.
7380 (grub_main): Call grub_register_core_commands,
7381 grub_register_rescue_parser and grub_register_rescue_reader, use
7382 grub_reader_loop to enter input loop.
7383
7dd4a573 7384 * kern/parser.c (grub_parser_split_cmdline): Change type of
7385 getline parameter.
d558e6b5 7386 (grub_parser_class): New variable.
7387 (grub_parser_execute): New function.
7388
7389 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
7390 * loader/multiboot2.c: Likewise.
7391 * loader/sparc64/ieee1275/linux.c: Likewise.
7392
7393 * util/grub-emu.c (read_command_list): New dummy function.
7394
18db813d 73952009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
7398 count to 16 for CCISS and IDA.
7399
6c67de15 74002009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * normal/menu_text.c (grub_wait_after_message): Print a newline
7403 after waiting for user input.
7404
7405 * loader/i386/linux.c: Include `<grub/normal.h>'.
7406 (grub_cmd_linux): Improve the error message about `ask' mode, by
7407 waiting for user input so it's not missed (we can do this, since
7408 user requested interaction).
7409
d9dc87b0 74102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Added missing lst to grub-mkrescue
7413
7414 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
7415 and ${input_dir}/parttool.lst
7416
ac8a2baa 74172009-04-30 David S. Miller <davem@davemloft.net>
7418
ad22a610 7419 * util/hostdisk.c (device_is_wholedisk): New function.
7420 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
7421 zero only if device_is_wholedisk() returns true.
7422
6966215d 7423 * util/hostdisk.c (convert_system_partition_to_system_disk):
7424 Handle virtual disk devices named /dev/vdiskX as found on sparc
7425 and powerpc.
7426
ac8a2baa 7427 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
7428 lettered partition specifier is found, convert to numbered.
7429
979b4fb4 74302009-04-29 David S. Miller <davem@davemloft.net>
7431
e2bf39b2 7432 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
7433 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7434
3c64e104 7435 * normal/command.c: Add missing newline at end of file.
7436
979b4fb4 7437 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
7438 warnings.
7439 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
7440 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
7441 grub_ofdisk_read): Likewise, and deal similarly with the fact that
7442 ihandles have a 32-bit type but need to be stored in a "void *".
7443
136d9f82 74442009-04-28 Pavel Roskin <proski@gnu.org>
7445
9459c306 7446 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
7447 not disk. Adjust all dependencies.
2e08a26a 7448 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 7449 grub_disk_close().
7450
136d9f82 7451 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
7452 parent's partition, don't copy it by reference, as it gets freed
7453 on close.
7454
7dd4a573 74552009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 7456
7457 Preboot hooks support
7458
7459 * commands/boot.c (struct grub_preboot_t): new declaration
7460 (preboots_head): new variable
7461 (preboots_tail): likewise
7462 (grub_loader_register_preboot_hook): new function
7463 (grub_loader_unregister_preboot_hook): likewise
7464 (grub_loader_set): launch preboot hooks
7465 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
7466 (grub_loader_register_preboot_hook): new declaration
7467 (grub_loader_unregister_preboot_hook): likewise
7468
5af922b5 74692009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 Warning fix
7472
7dd4a573 7473 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 7474 calling grub_dprintf
7475
a5562c30 74762009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 Bug and warning fixes
7479
7dd4a573 7480 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 7481 declaration
7482 * commands/test.c (test_parse): fixed bug with file tests and corrected
7483 declaration of find_file
7484
4006f85c 74852009-04-26 Pavel Roskin <proski@gnu.org>
7486
7487 * Makefile.in: Don't install empty manual pages if help2man is
7488 missing. Use help2man option for output, not shell redirection.
7489
5c77c3de 74902009-04-26 David S. Miller <davem@davemloft.net>
7491
7492 * util/grub-mkdevicemap.c (make_device_map): Add missing
7493 NESTED_FUNC_ATTR to process_device().
7494
033b10a8 74952009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 Test command
7498
7499 * commands/test.c: rewritten to use bash-like test
7500
e4343593 75012009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Parttool autoloading and improvements
7504
7dd4a573 7505 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 7506 (parttool.lst): new target
7507 * genmk.rb: generate parttool-*
7508 (CLEANFILES): add #{parttool}
7509 (PARTTOOLFILES): new variable
7510 * genparttoollist.sh: new file
7dd4a573 7511 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 7512 (grub_pcpart_type): likewise
7513 * commands/parttool.c (helpmsg): new variable
7514 (grub_cmd_parttool): output help if not enough arguments are supplied
7515 autoload modules
7516 (GRUB_MOD_INIT(parttool)): use helpmsg
7517
0d312500 75182009-04-24 David S. Miller <davem@davemloft.net>
7519
7dd4a573 7520 Avoiding opening same device multiple times in device iterator.
0d312500 7521
7522 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 7523 and use it to build a list of partitions in iterate_disk() and
0d312500 7524 iterate_partition().
7525
ac20caff 7526 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
7527 on disk->data.
7528
0dcf7495 7529 * disk/ieee1275/nand.c (grub_nand_iterate): Return
7530 grub_devalias_iterate() result instead of unconditional 0.
7531 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
7532 Also, capture hook return value, either directly or via
7533 grub_children_iterate(), and propagate to caller.
7534 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
7535 grub_children_iterate): Return value is now 'int' instead of
7536 'grub_err_t'.
7537 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
7538 like a proper iterator, stopping when hooks return non-zero.
7539 (grub_devalias_iterate): Likewise.
7540
c8c08833 75412009-04-23 David S. Miller <davem@davemloft.net>
7542
7543 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
7544
f01005a8 75452009-04-22 David S. Miller <davem@davemloft.net>
7546
7547 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
7548 is larger than address_cells, use that value for address_cells too.
7549
4e8269da 7550 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
7551 IEEE1275_MAX_PATH_LEN): Define.
7552 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
7553 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
7554 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
7555 'devtype'. Explicitly NULL terminate devalias expansion.
7556
a1447506 7557 * util/sparc64/ieee1275/misc.c: New file.
7558 * util/sparc64/ieee1275/grub-setup.c: New file.
7559 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
7560 * util/sparc64/ieee1275/grub-mkimage.c: New file.
7561 * util/sparc64/ieee1275/grub-install.in: New file.
7562 * util/ieee1275/ofpath.c: New file.
7563 * util/ieee1275/devicemap.c: New file.
7564 * util/devicemap.c: New file.
7565 * util/deviceiter.c: New file.
7566 * kern/sparc64/ieee1275/init.c: New file.
7567 * include/grub/util/ofpath.h: New file.
7568 * include/grub/util/deviceiter.h: New file.
7569 * util/grub-mkdevicemap.c: Include deviceiter.h.
7570 Implement using grub_util_emit_devicemap_entry and
7571 grub_util_iterate_devices.
7572 * conf/i386-corebook.rmk: Build util/deviceiter.c and
7573 util/devicemap.c into grub-mkdevicemap
7574 * conf/i386-efi.rmk: Likewise.
7575 * conf/i386-ieee1275.rmk: Likewise.
7576 * conf/i386-pc.rmk: Likewise.
7577 * conf/powerpc-ieee1275.rmk: Likewise.
7578 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
7579 images and installation utilities. Build kernel as image
7580 instead of as elf binary. Use common rules as much as possible.
7581
7dd4a573 75822009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 7583
7584 Correct GPT definition
7585
7dd4a573 7586 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 7587 of "attrib" member
7588
c6c5219f 75892009-04-19 Felix Zielcke <fzielcke@z-51.de>
7590
7591 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
7592
0552ff9f 75932009-04-19 David S. Miller <davem@davemloft.net>
7594
7595 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
7596 (grub_rescue_cmd_linux): Rename to...
7597 (grub_cmd_linux): and fix prototype.
7598 (grub_rescue_cmd_initrd): Rename to...
7599 (grub_cmd_initrd): and fix prototype.
7600 (cmd_linux, cmd_initrd): New.
7601 (GRUB_MOD_INIT(linux)): Use grub_register_command().
7602 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
7603
d1a282fc 76042009-04-17 Pavel Roskin <proski@gnu.org>
7605
07c5039f 7606 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
7607 format.
7608 (grub_ohci_transfer): Likewise.
7609
b012002d 7610 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
7611
1bc09c35 7612 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
7613 return without a value. Fix inconsistent indentation.
7614
e0ff9126 7615 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
7616 match struct grub_fs.
7617
d1a282fc 7618 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
7619 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
7620 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7621 * commands/lspci.c (grub_lspci_iter): Likewise.
7622
a96df3f2 76232009-04-16 Bean <bean123ch@gmail.com>
7624
7625 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
7626 value.
7627
41bb0fe9 76282009-04-15 Pavel Roskin <proski@gnu.org>
7629
7630 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
7631 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
7632 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
7633 definitions.
7634
596c6970 76352009-04-15 Felix Zielcke <fzielcke@z-51.de>
7636
7637 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 7638 that no multiple data or metadata areas are supported and `Unknown
596c6970 7639 metadata header'.
7640
7dd4a573 76412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 7642
7643 Move loader out of the kernel
7644
7645 * kern/loader.c: moved to ...
7646 * commands/boot.c: ... moved here
7647 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
7648 * commands/boot.c (grub_cmd_boot): moved here. All users updated
7649 * include/grub/kernel.h (grub_machine_fini): export
7650 * include/grub/loader.h (grub_loader_is_loaded): update declaration
7651 (grub_loader_set): likewise
7652 (grub_loader_unset): likewise
7653 (grub_loader_boot): likewise
7654 * conf/common.rmk: new module boot.mod
7655 (pkglib_MODULES): add boot.mod
7656 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
7657 (grub_emu_SOURCES): likewise
7658 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
7659 (grub_emu_SOURCES): likewise
7660 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
7661 (grub_emu_SOURCES): likewise
7662 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
7663 (grub_emu_SOURCES): likewise
7664 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
7665 (grub_emu_SOURCES): likewise
7dd4a573 7666 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
7667 (grub_emu_SOURCES): likewise
0d5d5653 7668 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 7669 (grub_emu_SOURCES): likewise
0d5d5653 7670
7dd4a573 76712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 7672
7673 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 7674
5999d619 7675 * kern/misc.c (grub_itoa): Removed function
7676 (grub_ltoa): likewise
7677 (grub_vsprintf): use grub_lltoa
7678
7dd4a573 76792009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 7680
7681 Restore grub-emu
7682
7683 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
7684 * conf/i386-coreboot.rmk: likewise
7685 * conf/i386-ieee1275.rmk: likewise
7686 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7687
20318222 76882009-04-15 Felix Zielcke <fzielcke@z-51.de>
7689
7690 * INSTALL: Add that `./autogen.sh' needs to be run before
7691 `./configure.'.
7692
d05f0df3 76932009-04-14 Bean <bean123ch@gmail.com>
7694
7695 * Makefile.in (pkglib_DATA): Add handler.lst.
7696 (handler.lst): New rule.
7697
7698 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
7699 * conf/i386-coreboot.rmk: Likewise.
7700 * conf/i386-ieee1275.rmk: Likewise.
7701 * conf/i386-efi.rmk: Likewise.
7702 * conf/x86_64-efi.rmk: Likewise.
7703 * conf/powerpc-ieee1275.rmk: Likewise.
7704 * conf/sparc64-ieee1275.rmk: Likewise.
7705
7706 * genhandlerlist.sh: New file.
7707
7708 * genmk.rb: Add rules to generate handler.lst.
7709
7710 * include/grub/normal.h (grub_file_getline): New function definition.
7711 (read_handler_list): Likewise.
7712 (free_handler_list): Likewise.
7713
7714 * include/grub/term.h (grub_term_register_input): Add name parameter
7715 for auto generation of handler.lst.
7716 (grub_term_register_output): Likewise.
7717
7718 * normal/handler.c: New file.
7719
7720 * normal/main.c (get_line): Renamed to grub_file_getline.
7721 (read_config_file): Use the newly renamed grub_file_getline.
7722 (read_command_list): Likewise.
7723 (read_fs_list): Likewise.
7724 (grub_normal_execute): Call read_handler_list to parse handler.lst.
7725 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
7726
7727 * term/efi/console.c (grub_console_init): Add name parameter for auto
7728 generation of handler.lst.
7729 * term/gfxterm.c: Likewise.
7730 * term/i386/pc/at_keyboard.c: Likewise.
7731 * term/i386/pc/console.c: Likewise.
7732 * term/i386/pc/serial.c: Likewise.
7733 * term/i386/pc/vesafb.c: Likewise.
7734 * term/i386/pc/vga.c: Likewise.
7735 * term/i386/pc/vga_text.c: Likewise.
7736 * term/ieee1275/ofconsole.c: Likewise.
7737 * term/usb_keyboard.c: Likewise.
7738
33c846be 77392009-04-14 Bean <bean123ch@gmail.com>
7740
7741 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
7742 properly with null character.
7743
4484e01e 77442009-04-14 Felix Zielcke <fzielcke@z-51.de>
7745
7746 * configure: Remove.
7747 * config.h.in: Likewise.
f93d668e 7748 * stamp-h.in: Likewise.
4484e01e 7749 * DISTLIST: Likewise.
7750 * conf/common.mk: Likewise.
7751 * conf/i386-coreboot.mk: Likewise.
7752 * conf/i386-efi.mk: Likewise.
7753 * conf/i386-ieee1275.mk: Likewise.
7754 * conf/i386.mk: Likewise.
7755 * conf/i386-pc.mk: Likewise.
7756 * conf/powerpc-ieee1275.mk: Likewise.
7757 * conf/sparc64-ieee1275.mk: Likewise.
7758 * conf/x86_64-efi.mk: Likewise.
7759
7760 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
7761 develop on GRUB.
7762
7dd4a573 77632009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 7764 David S. Miller <davem@davemloft.net>
7765
7766 * util/hostdisk.c (make_device_name): Fix buffer length
7767 calculations.
7768
e25b5a8c 77692009-04-14 Felix Zielcke <fzielcke@z-51.de>
7770
7771 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
7772 <sys/param.h> and <sys/sysctl.h>.
7773 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
7774 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
7775 opening the device and reset them afterwards.
7776
1f1f580c 77772009-04-13 Pavel Roskin <proski@gnu.org>
7778
7779 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
7780 Reported by John Stanley <jpsinthemix@verizon.net>
7781
7ebc2d6b 77822009-04-13 Robert Millan <rmh@aybabtu.com>
7783
7784 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 7785 that name for menuentries when appropriate.
7ebc2d6b 7786
d8ba3667 77872009-04-13 Felix Zielcke <fzielcke@z-51.de>
7788
7789 * util/grub.d/10_freebsd.in: Add a missing `fi'.
7790
cba416eb 77912009-04-13 Robert Millan <rmh@aybabtu.com>
7792
7793 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
7794 to Linux, simply abort telling the user it's no longer supported.
7795
a547a745 77962009-04-13 Felix Zielcke <fzielcke@z-51.de>
7797
7798 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 7799 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 7800 `freebsd_loadenv' only when devices.hints exist.
7801
232a769c 78022009-04-13 Pavel Roskin <proski@gnu.org>
7803
7804 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
7805
c3012039 78062009-04-13 Felix Zielcke <fzielcke@z-51.de>
7807
7808 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
7809 partition number.
7810 (grub_drive): Likewise.
7811
234022fe 78122009-04-13 David S. Miller <davem@davemloft.net>
7813
7814 * kern/sparc64/ieee1275/ieee1275.c: New file.
7815 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
7816 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
7817 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
7818 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
7819 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
7820 grub_ieee1275_alloc_physmem): Declare new exported functions.
7821
d8e1836c 7822 * include/grub/sparc64/ieee1275/loader.h: New file.
7823 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7824 * include/grub/sparc64/kernel.h: Likewise.
7825 * loader/sparc64/ieee1275/linux.c: Likewise.
7826
96bd81ec 7827 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
7828 (grub_fstest_SOURCES): Likewise.
7829
6a4737e5 7830 * util/hostdisk.c (make_device_name): Do not make any assumptions
7831 about the length of drive names.
7832
1d7a72fd 7833 * kern/dl.c (grub_dl_load_file): Close file immediately when
7834 we are done using it.
7835
56bc2471 78362009-04-12 David S. Miller <davem@davemloft.net>
7837
7838 * kern/misc.c (grub_ltoa): Fix cast when handling negative
7839 values. Noticed by Pavel Roskin.
7840
df38d0bb 7841 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
7842 target compiler.
7dd4a573 7843
e382e93a 7844 * genmk.rb: Add more flexible image type specification, also
7845 pass --strip-unneeded to objcopy.
7846 * conf/i386-pc.rmk: Use *_FORMAT.
7847 * conf/i386-pc.mk: Rebuilt.
7848
f5dbbca9 7849 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
7850 (OFDISK_HASH_SZ): Define.
7851 (ofdisk_hash): New hash table.
7852 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
7853 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
7854 instead of device phandle which is not unique.
7855
91c88b12 7856 * kern/sparc64/ieee1275/init.c: Delete, replace with...
7857 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
7858 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
7859 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
7860 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
7861 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
7862 GRUB_KERNEL_MACHINE_DATA_END): Define.
7863 (grub_kernel_image_size, grub_total_module_size): Declare.
7864
5b5d4aa5 78652009-04-12 Pavel Roskin <proski@gnu.org>
7866
7dd4a573 7867 * configure.ac: Change the logic when we check for target tools.
7868 Do it when the target is specified and it's different from the
7869 specified value of the host.
5b5d4aa5 7870
c91e1793 78712009-04-11 Felix Zielcke <fzielcke@z-51.de>
7872
7873 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
7874 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
7875 GNU/kFreeBSD. Check if a device is a character device. Use
7876 DIOCGMEDIASIZE to get the size.
7877 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
7878 support for GNU/kFreeBSD.
7879 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
7880 is a character device instead of a block device. Add support for
7881 FreeBSD device names.
7882
7883 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
7884 is a character device instead of a block device.
7885
7886 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
7887 is a character device instead of a block device.
7888
b1ac8644 78892009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
7890
7891 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
7892 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
7893 FreeBSD. Check if a device is a character device. Use
7894 DIOCGMEDIASIZE to get the size.
7895 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
7896 support for FreeBSD.
7897 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
7898 is a character device instead of a block device. Add support for
7899 FreeBSD device names.
7900
7901 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
7902 a character device instead of a block device.
7903 (grub_util_check_char_device): New function.
7904
7905 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
7906 a character device instead of a block device.
7907
7908 * include/grub/util/getroot.h (grub_util_check_char_device): New
7909 prototype.
7910
a3f7515a 79112009-04-11 David S. Miller <davem@davemloft.net>
7912
7913 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
7914 static libgcc.
7915 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
7916 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
7917 function, if present.
7918 (__bswapdi2): Likewise.
7919
0d44993d 7920 * include/grub/sparc64/ieee1275/boot.h: New file.
7921 * boot/sparc64/ieee1275/boot.S: Likewise.
7922 * boot/sparc64/ieee1275/diskboot.S: Likewise.
7923
ed3d2bc2 7924 * kern/misc.c (grub_ltoa): New function.
7925 (grub_vsprintf): Use it to format 'long' integers.
7926
d3bfb59c 79272009-04-10 David S. Miller <davem@davemloft.net>
7928
7929 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
7930 slots are of type grub_ieee1275_cell_t.
7931 (grub_nand_read): Likewise.
7932 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
7933 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
7934 macros are used to compare values in arg/ret block of the call.
7935 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
7936 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
7937 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
7938 grub_ieee1275_instance_to_path, grub_ieee1275_write,
7939 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
7940 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7941 grub_ieee1275_close, grub_ieee1275_set_property,
7942 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7943 grub_ieee1275_cell_t.
7944 * kern/ieee1275/openfw.c (grub_map): Likewise.
7945 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7946 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7947
450e2238 7948 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7949 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7950 (grub_devalias_iterate): Likewise.
7951
7dd4a573 79522009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7953
7954 UFS improvements
7955
7956 * fs/ufs.c (INODE_NBLOCKS): new definition
7957 (struct grub_ufs_dirent): added fields for non-BSD dirents
7958 (grub_ufs_get_file_block): fixed double indirect handling
7959 (grub_ufs_lookup_symlink): use more robust way to determine whether
7960 symlink is inline
7961 (grub_ufs_find_file): support for non-BSD dirents
7962 (grub_ufs_dir): support for non-BSD dirents
7963
e7e6862a 79642009-04-10 Bean <bean123ch@gnail.com>
7965
7966 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7967 attribute, otherwise the size would be wrong for i386 platform.
7968
7969 * include/grub/pci.h (grub_pci_read_word): New inline function.
7970 (grub_pci_read_byte): Likewise.
7971 (grub_pci_write): Likewise.
7972 (grub_pci_write_word): Likewise.
7973 (grub_pci_write_byte): Likewise.
7974
7975 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7976
7977 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7978 (find_framebuf): Scan pci to locate the frame buffer address.
7979
7980 * commands/efi/fixvideo.c: New file.
7981
7982 * commands/efi/loadbios.c: Likewise.
7983
7984 * commands/memrw.c: Likewise.
7985
7986 * util/grub-dumpbios.in: Likewise.
7987
7988 * conf/common.rmk (grub-dumpbios): New utility.
7989 (pkglib_MODULES): New module memrw.mod.
7990 (memrw_mod_SOURCE): New macro.
7991 (memrw_mod_CFLAGS): Likewise.
7992 (memrw_mod_LDFLAGS): Likewise.
7993
7dd4a573 7994 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7995 fixvideo.mod.
7996 (loadbios_mod_SOURCE): New macro.
7997 (loadbios_mod_CFLAGS): Likewise.
7998 (loadbios_mod_LDFLAGS): Likewise.
7999 (fixvideo_mod_SOURCE): Likewise.
8000 (fixvideo_mod_CFLAGS): Likewise.
8001 (fixvideo_mod_LDFLAGS): Likewise.
8002
7dd4a573 8003 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8004 fixvideo.mod.
8005 (loadbios_mod_SOURCE): New macro.
8006 (loadbios_mod_CFLAGS): Likewise.
8007 (loadbios_mod_LDFLAGS): Likewise.
8008 (fixvideo_mod_SOURCE): Likewise.
8009 (fixvideo_mod_CFLAGS): Likewise.
8010 (fixvideo_mod_LDFLAGS): Likewise.
8011
af63ada2 80122009-04-08 Felix Zielcke <fzielcke@z-51.de>
8013
8014 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
8015
c2cdde70 80162009-04-07 David S. Miller <davem@davemloft.net>
8017
8018 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
8019 support for R_SPARC_OLO10 relocations. Fix compile warning for
8020 R_SPARC_WDISP30 case.
ea3f72cf 8021 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8022
761319cf 80232009-04-06 Pavel Roskin <proski@gnu.org>
8024
1007d1f5 8025 * include/grub/misc.h (ARRAY_SIZE): New macro.
8026 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8027 New macro.
8028 * loader/i386/linux.c (allocate_pages): Use free_pages().
8029 (grub_linux_unload): Don't use free_pages().
8030 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8031 wrong index. Treat all other modes as text modes.
8032 (grub_cmd_linux): Initialize vid_mode unconditionally to
8033 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8034
761319cf 8035 * commands/help.c (print_command_help): Use cmd->prio, not
8036 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8037
ea761d40 80382009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8039
ea761d40 8040 Parttool
8041
8042 * parttool/pcpart.c: new file
8043 * commands/parttool.c: likewise
8044 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8045 (parttool_mod_SOURCES): new variable
8046 (parttool_mod_CFLAGS): likewise
8047 (parttool_mod_LDFLAGS): likewise
8048 (pcpart_mod_SOURCES): likewise
8049 (pcpart_mod_CFLAGS): likewise
8050 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8052 and parttool/pcpart.c
8053 * conf/i386-efi.rmk: likewise
8054 * conf/i386-ieee1275.rmk: likewise
8055 * conf/i386-pc.rmk: likewise
8056 * conf/powerpc-ieee1275.rmk: likewise
8057 * conf/sparc64-ieee1275.rmk: likewise
8058 * conf/x86_64-ieee1275.rmk: likewise
8059
05aaebfb 80602009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 Support for mtime and further expandability of dir command
8063
8064 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8065 * include/grub/datetime.h: ... moved here and added
05aaebfb 8066 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8067 * include/grub/fs.h: new syntax for dir and mtime functions in
8068 struct grub_fs
05aaebfb 8069 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8070 and GRUB_FSHELP_FLAGS_MASK
8071 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8072 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8073 (grub_ext2_mtime): new function
8074 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8075 (grub_hfsplus_mtime): new function
8076 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8077 (GRUB_UFS_ATTR_FILE): likewise
8078 (GRUB_UFS_ATTR_LNK): likewise
8079 (struct grub_ufs_sblock): new fields mtime
8080 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8081 all users updated
8082 (grub_ufs_dir): mtime support
8083 (grub_ufs_mtime): new function
8084 * fs/affs.c (grub_affs_dir): use new dir syntax
8085 * fs/afs.c (grub_afs_dir): likewise
8086 * fs/cpio.c (grub_cpio_dir): likewise
8087 * fs/fat.c (grub_fat_find_dir): likewise
8088 * fs/hfs.c (grub_hfs_dir): likewise
8089 * fs/iso9660.c (grub_iso9660_dir): likewise
8090 * fs/jfs.c (grub_jfs_dir): likewise
8091 * fs/minix.c (grub_minix_dir): likewise
8092 * fs/ntfs.c (grub_ntfs_dir): likewise
8093 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8094 * fs/sfs.c (grub_sfs_dir): likewise
8095 * fs/xfs.c (grub_xfs_dir): likewise
8096 * util/hostfs.c (grub_hostfs_dir): likewise
8097 * lib/datetime.c: moved to ...
8098 * normal/datetime.c: ... moved here
8099 (grub_unixtime2datetime): new function
8100 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8101 * normal/completion.c (iterate_dir): use new dir syntax
8102 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8103 last modification time of a volume
7dd4a573 8104 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8105 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8107 (normal_mod_SOURCES): likewise
8108 (datetime_mod_SOURCES): Removed lib/datetime.c
8109 * conf/i386-efi.rmk: likewise
7dd4a573 8110 * conf/i386-ieee1275.rmk: likewise
05aaebfb 8111 * conf/i386-pc.rmk: likewise
8112 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8113 * conf/sparc64-ieee1275.rmk: likewise
8114 * conf/x86_64-efi.rmk: likewise
05aaebfb 8115
8a7e1a14 81162009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 8119
8120 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 8121 on grub_fat_find_dir
8122 (grub_fat_find_dir): use grub_fat_iterate_dir
8123 (grub_fat_label): likewise
8124
04186a9c 81252009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8126
7dd4a573 8127 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 8128 and command.h
8129 remove extraneous kernel_elf_HEADERS
8130
da4c0bb6 81312009-04-04 Bean <bean123ch@gnail.com>
8132
8133 * include/grub/util/misc.h: Add dummy function fsync for mingw.
8134
8135 * util/misc.c: Likewise.
8136
54ad9555 81372009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
8138
8139 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
8140 instead of grub_printf.
8141
7a6bf9f2 81422009-04-03 Robert Millan <rmh@aybabtu.com>
8143
8144 * loader/i386/linux.c (grub_linux_setup_video): Fill
8145 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
8146 values from `mode info' structure instead of hardcoded
8147 values.
8148
3fcc2083 81492009-04-01 Pavel Roskin <proski@gnu.org>
8150
8151 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
8152 unused now.
8153 * genmk.rb: Likewise.
8154 * configure.ac: Likewise.
8155
5ec9740b 81562009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
8157
8158 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
8159 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
8160
5270cec8 81612009-04-01 David S. Miller <davem@davemloft.net>
8162
8163 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 8164 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 8165 (grub_setjmp): Mark with 'returns_twice' attribute.
8166 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
8167 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
8168 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
8169
9c3dd854 81702009-04-01 Robert Millan <rmh@aybabtu.com>
8171
8172 Reapply fix from 2008-07-28 which was accidentally reverted; also
8173 perform the same fix to a similar check in same function.
8174
8175 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8176 with the same number are found, just use issue a warning with
8177 grub_dprintf(), as this error has been reported to be non-fatal.
8178
0d818b7e 81792009-03-31 Pavel Roskin <proski@gnu.org>
8180
8181 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
8182 for cross-compilation.
8183
95646d92 81842009-03-30 Robert Millan <rmh@aybabtu.com>
8185
8186 Fix i386-ieee1275 build.
8187
8188 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
8189 Remove declaration.
8190
6a003ed1 81912009-03-30 Pavel Roskin <proski@gnu.org>
8192
8193 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
8194 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
8195 zero-terminated, rely only on the strlen value. Fix comparison
8196 of strings differing in length.
8197
92f33540 81982009-03-30 Robert Millan <rmh@aybabtu.com>
8199
8200 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
8201 checking for abi version. Improve error messages on BIOS to notify
8202 user about `linux16' command.
8203
a8c48fd5 82042009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8205
f968172e 8206 Leak fixes
a8c48fd5 8207
f968172e 8208 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
8209 in case of collision
8210 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 8211
9c323f09 82122009-03-29 Robert Millan <rmh@aybabtu.com>
8213
8214 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
8215 set `vid_mode' accordingly.
8216 (grub_linux_boot): Process `vid_mode' and set video mode.
8217
ae68f423 82182009-03-29 Robert Millan <rmh@aybabtu.com>
8219
8220 * util/grub.d/10_linux.in (linux_entry): New function.
8221 Factorize generation of Linux boot entries.
8222
5709cfc4 82232009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
8224
8225 Make the format of Environment Block plain text. The boot loader
8226 part is not tested well yet.
7dd4a573 8227
5709cfc4 8228 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
8229 (buffer): Removed.
8230 (envblk): Likewise.
8231 (usage): Remove "info" and "clear". Add "unset". Update the
8232 description of "set", as this does not delete variables any
8233 longer.
8234 (create_envblk_file): Complete rewrite.
8235 (open_envblk_file): Likewise.
8236 (cmd_info): Removed.
8237 (cmd_list): Likewise.
8238 (cmd_set): Likewise.
8239 (cmd_clear): Likewise.
8240 (list_variables): New function.
8241 (write_envblk): Likewise.
8242 (set_variables): Likewise.
8243 (unset_variables): Likewise.
8244 (main): Complete rewrite.
8245
8246 * commands/loadenv.c (buffer): Removed.
8247 (envblk): Likewise.
8248 (open_envblk_file): New function.
8249 (read_envblk_file): Complete rewrite.
8250 (grub_cmd_load_env): Likewise.
8251 (grub_cmd_list_env): Likewise.
8252 (struct blocklist): New struct.
8253 (free_blocklists): New function.
8254 (check_blocklists): Likewise.
8255 (write_blocklists): Likewise.
8256 (grub_cmd_save_env): Complete rewrite.
8257
8258 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
8259 a plain text signature.
8260 (GRUB_ENVBLK_MAXLEN): Removed.
8261 (struct grub_envblk): Complete rewrite.
8262 (grub_envblk_find): Removed.
8263 (grub_envblk_insert): Likewise.
8264 (grub_envblk_open): New prototype.
8265 (grub_envblk_set): Likewise.
8266 (grub_envblk_delete): Put const to VALUE.
8267 (grub_envblk_iterate): Put const to NAME and VALUE.
8268 (grub_envblk_close): New prototype.
8269 (grub_envblk_buffer): New inline function.
8270 (grub_envblk_size): Likewise.
8271
8272 * lib/envblk.c: Include grub/mm.h.
8273 (grub_env_find): Removed.
8274 (grub_envblk_open): New function.
8275 (grub_envblk_close): Likewise.
8276 (escaped_value_len): Likewise.
8277 (find_next_line): Likewise.
8278 (grub_envblk_insert): Removed.
8279 (grub_envblk_set): New function.
8280 (grub_envblk_delete): Complete rewrite.
8281 (grub_envblk_iterate): Likewise.
8282
a9368fd3 82832009-03-28 Robert Millan <rmh@aybabtu.com>
8284
8285 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
8286 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
8287 variables. Use 16-bit loader.
8288 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
8289 loader.
8290 * kern/i386/loader.S (grub_linux_boot): Rename to ...
8291 (grub_linux16_boot): ... this. Update all users.
8292 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
8293 (grub_linux_boot): ... this. Update all users.
8294
8295 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
8296 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
8297 commands to `linux16' and `initrd16'.
8298 (GRUB_MOD_FINI(linux)): Rename to ...
8299 (GRUB_MOD_FINI(linux16)): ... this.
8300
e4dd5a7e 83012009-03-24 Pavel Roskin <proski@gnu.org>
8302
8303 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
8304 not just for compilation.
8305
c04d6e05 83062009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 Move multiboot helper out of kernel
8309
8310 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
8311 `loader/i386/multiboot_helper.S'.
8312 * conf/i386-coreboot.rmk: Likewise
8313 * conf/i386-ieee1275.rmk: Likewise
8314
8315 * kern/i386/loader.S: Move multiboot helpers from here...
8316 * loader/i386/multiboot_helper.S: ...moved here
8317 * include/grub/i386/loader.h: Move declarations of multiboot
8318 helpers from here...
8319 * include/grub/i386/multiboot.h: ...moved here
8320 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
8321
42a5b3fc 83222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8323
8324 * kern/env.c (grub_env_context_open): Added an argument to specify
8325 whether a new context inherits exported variables from current
8326 one. This is useful when making a sandbox to interpret a config
8327 file.
8328 All callers updated.
8329
8330 * include/grub/env.h (grub_env_context_open): Updated the prototype.
8331
b28bbc4e 83322009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8333
8334 * kern/env.c (grub_env_context_close): Fix memory leaks.
8335
f04f02e4 83362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8337
8338 * normal/main.c (grub_normal_execute): Added an argument
8339 BATCH to specify if an interactive interface should be provided
8340 after reading a config file.
8341 All callers updated.
8342 (read_command_list): Prevent being executed twice.
8343 (read_fs_list): Likewise.
8344
42a5b3fc 8345 * include/grub/normal.h (grub_normal_execute): Updated the
8346 prototype.
f04f02e4 8347
41473ac2 83482009-03-22 Pavel Roskin <proski@gno.org>
8349
fbc00b0c 8350 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
8351 _start.
8352 * kern/i386/pc/startup.S: Likewise.
8353 * kern/i386/efi/startup.S: Likewise.
8354 * kern/i386/ieee1275/startup.S: Likewise.
8355 * kern/i386/coreboot/startup.S: Likewise.
8356 * kern/x86_64/efi/startup.S: Likewise.
8357
41473ac2 8358 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
8359 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
8360 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
8361
2274cc8f 83622009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 Bugfixes in multiboot for bugs uncovered by solaris kernel.
8365
8366 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
8367 limit detection.
8368 Use vaddr of correct segment for entry_point.
8369
b1b797cb 83702009-03-21 Bean <bean123ch@gmail.com>
8371
8372 * commands/blocklist.c: Add include file <grub/command.h>, remove
8373 <grub/normal.h> and <grub/arg.h>.
8374 (grub_cmd_blocklist): Use the new command interface.
8375 (GRUB_MOD_INIT): Likewise.
8376 (GRUB_MOD_FINI): Likewise.
8377 * commands/boot.c: Likewise.
8378 * commands/cat.c: Likewise.
8379 * commands/cmp.c: Likewise.
8380 * commands/configfile.c: Likewise.
8381 * commands/crc.c: Likewise.
8382 * commands/echo.c: Likewise.
8383 * commands/halt.c: Likewise.
8384 * commands/handler.c: Likewise.
8385 * commands/hdparm.c: Likewise.
8386 * commands/help.c: Likewise.
8387 * commands/hexdump.c: Likewise.
8388 * commands/loadenv.c: Likewise.
8389 * commands/ls.c: Likewise.
8390 * commands/lsmmap.c: Likewise.
8391 * commands/lspci.c: Likewise.
8392 * commands/loadenv.c: Likewise.
8393 * commands/read.c: Likewise.
8394 * commands/reboot.c: Likewise.
8395 * commands/search.c: Likewise.
8396 * commands/sleep.c: Likewise.
8397 * commands/test.c: Likewise.
8398 * commands/usbtest.c: Likewise.
8399 * commands/videotest.c: Likewise.
8400 * commands/i386/cpuid.c: Likewise.
8401 * commands/i386/pc/halt.c: Likewise.
8402 * commands/i386/pc/play.c: Likewise.
8403 * commands/i386/pc/pxecmd.c: Likewise.
8404 * commands/i386/pc/vbeinfo.c: Likewise.
8405 * commands/i386/pc/vbetest.c: Likewise.
8406 * commands/ieee1275/suspend.c: Likewise.
8407 * disk/loopback.c: Likewise.
8408 * font/font_cmd.c: Likewise.
8409 * hello/hello.c: Likewise.
8410 * loader/efi/appleloader.c: Likewise.
8411 * loader/efi/chainloader.c: Likewise.
8412 * loader/i386/bsd.c: Likewise.
8413 * loader/i386/efi/linux.c: Likewise.
8414 * loader/i386/ieee1275/linux.c: Likewise.
8415 * loader/i386/linux.c: Likewise.
8416 * loader/i386/pc/chainloader.c: Likewise.
8417 * loader/i386/pc/linux.c: Likewise.
8418 * loader/powerpc/ieee1275/linux.c: Likewise.
8419 * loader/multiboot_loader.c: Likewise.
8420 * term/gfxterm.c: Likewise.
8421 * term/i386/pc/serial.c: Likewise.
8422 * term/terminfo.c: Likewise.
8423
8424 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
8425 * term/i386/pc/vga.c: Likewise.
8426 * video/readers/jpeg.c: Likewise.
8427 * video/readers/png.c: Likewise.
8428 * video/readers/tga.c: Likewise.
8429
8430 * util/grub-fstest (cmd_loopback): Removed.
8431 (cmd_blocklist): Likewise.
8432 (cmd_ls): Likewise.
8433 (grub_register_command): Likewise.
8434 (grub_unregister_command): Likewise.
8435 (execute_command): Use grub_command_find to locate command and execute
8436 it.
8437
8438 * include/grub/efi/chainloader.h: Removed.
8439 * loader/efi/chainloader_normal.c: Likewise.
8440 * loader/i386/bsd_normal.c: Likewise.
8441 * loader/i386/pc/chainloader_normal.c: Likewise.
8442 * loader/i386/pc/multiboot_normal.c: Likewise.
8443 * loader/linux_normal.c: Likewise.
8444 * loader/multiboot_loader_normal.c: Likewise.
8445 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
8446
8447 * gencmdlist.sh: Scan new registration command grub_register_extcmd
8448 and grub_register_command_p1.
8449
8450 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
8451 kern/command.c, lib/arg.c and commands/extcmd.c.
8452 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
8453 (minicmd_mod_SOURCES): New variable.
8454 (minicmd_mod_CFLAGS): Likewise.
8455 (minicmd_mod_LDFLAGS): Likewise.
8456 (extcmd_mod_SOURCES): Likewise.
8457 (extcmd_mod_CFLAGS): Likewise.
8458 (extcmd_mod_LDFLAGS): Likewise.
8459 (boot_mod_SOURCES): Removed.
8460 (boot_mod_CFLAGS): Likewise.
8461 (boot_mod_LDFLAGS): Likewise.
8462
8463 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
8464 kern/corecmd.c.
8465 (kernel_img_HEADERS): Add command.h.
8466 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
8467 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
8468 and lib/arg.c.
8469 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
8470 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
8471 remove the corresponding normal mode command.
8472 (normal_mod_SOURCES): Remove normal/arg.c.
8473 * conf/i386-coreboot.rmk: Likewise.
8474 * conf/i386-efi.rmk: Likewise.
8475 * conf/i386-ieee1275.rmk: Likewise.
8476 * conf/powerpc-ieee1275.rmk: Likewise.
8477 * conf/x86_64-efi.rmk: Likewise.
8478
8479 * include/grub/arg.h: Move from here ...
8480 * include/grub/lib/arg.h: ... to here.
8481
8482 * normal/arg.c: Move from here ...
8483 * lib/arg.c: ... to here.
8484
8485 * commands/extcmd.c: New file.
8486 * commands/minicmd.c: Likewise.
8487 * include/grub/command.h: Likewise.
8488 * include/grub/extcmd.h: Likewise.
8489 * kern/command.c: Likewise.
8490 * kern/corecmd.c: Likewise.
8491
8492 * kern/list.c (grub_list_iterate): Return int instead of void.
8493 (grub_list_insert): New function.
8494 (grub_prio_list_insert): Likewise.
8495
8496 * kern/rescue.c (grub_rescue_command): Removed.
8497 (grub_rescue_command_list): Likewise.
8498 (grub_rescue_register_command): Likewise.
8499 (grub_rescue_unregister_command): Likewise.
8500 (grub_rescue_cmd_boot): Move to minicmd.c
8501 (grub_rescue_cmd_help): Likewise.
8502 (grub_rescue_cmd_info): Likewise.
8503 (grub_rescue_cmd_boot): Likewise.
8504 (grub_rescue_cmd_testload): Likewise.
8505 (grub_rescue_cmd_dump): Likewise.
8506 (grub_rescue_cmd_rmmod): Likewise.
8507 (grub_rescue_cmd_lsmod): Likewise.
8508 (grub_rescue_cmd_exit): Likewise.
8509 (grub_rescue_print_devices): Moved to corecmd.c.
8510 (grub_rescue_print_files): Likewise.
8511 (grub_rescue_cmd_ls): Likewise.
8512 (grub_rescue_cmd_insmod): Likewise.
8513 (grub_rescue_cmd_set): Likewise.
8514 (grub_rescue_cmd_unset): Likewise.
7d074e3c 8515 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 8516 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 8517 commands, remove grub_rescue_register_command calls.
b1b797cb 8518
7d074e3c 8519 * normal/command.c (grub_register_command): Removed.
b1b797cb 8520 (grub_unregister_command): Likewise.
8521 (grub_command_find): Likewise.
8522 (grub_iterate_commands): Likewise.
8523 (rescue_command): Likewise.
8524 (export_command): Moved to corecmd.c.
8525 (set_command): Removed.
8526 (unset_command): Likewise.
8527 (insmod_command): Likewise.
8528 (rmmod_command): Likewise.
8529 (lsmod_command): Likewise.
8530 (grub_command_init): Likewise.
8531
8532 * normal/completion.c (iterate_command): Use cmd->prio to check for
8533 active command.
8534 (complete_arguments): Use grub_extcmd_t structure to find options.
8535 (grub_normal_do_completion): Change function grub_iterate_commands to
8536 grub_command_iterate.
8537
8538 * normal/execute.c (grub_script_execute_cmd): No need to parse
8539 argument here.
8540
8541 * normal/main.c (grub_dyncmd_dispatcher): New function.
8542 (read_command_list): Register unload commands as dyncmd.
8543 (grub_cmd_normal): Use new command interface, register rescue,
8544 unregister normal at entry, register normal, unregister rescue at exit.
8545
8546 * include/grub/list.h (grub_list_test_t): New type.
8547 (grub_list_iterate): Return int instead of void.
8548 (grub_list_insert): New function.
8549 (GRUB_AS_NAMED_LIST_P): New macro.
8550 (GRUB_AS_PRIO_LIST): Likewise.
8551 (GRUB_AS_PRIO_LIST_P): Likewise.
8552 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
8553 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
8554 (grub_prio_list): New structure.
8555 (grub_prio_list_insert): New function.
8556 (grub_prio_list_remove): New inline function.
8557
8558 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
8559 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
8560 (GRUB_COMMAND_FLAG_MENU): Likewise.
8561 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8562 (GRUB_COMMAND_FLAG_TITLE): Likewise.
8563 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8564 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
8565 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
8566 (grub_command): Likewise.
8567 (grub_register_command): Likewise.
8568 (grub_command_find): Likewise.
8569 (grub_iterate_commands): Likewise.
8570 (grub_command_init): Likewise.
8571 (grub_arg_parse): Likewise.
8572 (grub_arg_show_help): Likewise.
8573
8574 * include/grub/rescue.h (grub_rescue_register_command): Removed.
8575 (grub_rescue_unregister_command): Likewise.
8576
8577 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
8578 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
8579 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
8580
8581 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
8582 grub_rescue_cmd_initrd.
8583 * include/grub/i386/loader.h: Likewise.
8584 * include/grub/x86_64/loader.h: Likewise.
8585
8586 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
8587
1f4147aa 85882009-03-21 Bean <bean123ch@gmail.com>
8589
8590 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
8591 instead of stat in mingw environment.
8592
8593 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
8594
8595 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
8596
8597 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
8598 AC_CONFIG_LINKS.
8599
2156d5ba 86002009-03-21 Bean <bean123ch@gmail.com>
8601
8602 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
8603 out of range error.
8604
177b82ca 86052009-03-18 Michel Dänzer <michel@daenzer.net>
8606
8607 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
8608 checking inode flags for EXT4_EXTENTS_FLAG.
8609
14aad807 86102009-03-18 Robert Millan <rmh@aybabtu.com>
8611
8612 * loader/i386/linux.c: Include `<grub/video.h>' and
8613 `<grub/i386/pc/vbe.h>'..
8614 (grub_linux_setup_video): New function. Loosely based on the EFI one.
8615 (grub_linux32_boot): Attempt to configure video settings with
8616 grub_linux_setup_video().
8617 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
8618 to avoid grub_console_fini() which would step out of graphical mode
8619 unconditionally.
8620
8cf83a27 86212009-03-14 Robert Millan <rmh@aybabtu.com>
8622
8623 Fix build on powerpc.
8624 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
8625
40164e75 86262009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
8629 background image command.
8630
c58bc32a 86312009-03-12 Colin D Bennett <colin@gibibit.com>
8632
8633 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
8634 (grub_gfxterm_putchar): Extract pairs of identical calls to
8635 draw_cursor out of conditional blocks.
8636
5415144a 86372009-03-11 Pavel Roskin <proski@gnu.org>
8638
8639 * fs/hfs.c (grub_hfs_strncasecmp): New function.
8640 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
8641
6394042e 86422009-03-11 Robert Millan <rmh@aybabtu.com>
8643
8644 * loader/i386/multiboot_elfxx.c
8645 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
8646
b7b50e5f 86472009-03-11 Felix Zielcke <fzielcke@z-51.de>
8648
8649 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
8650 `kern/handler.c'.
8651
1ca7fc96 86522009-03-11 Robert Millan <rmh@aybabtu.com>
8653
8654 * loader/i386/multiboot.c (code_size): New variable.
8655 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 8656 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 8657 4-byte alignment to MBI and others by increasing
7d074e3c 8658 `boot_loader_name_length' appropriately.
1ca7fc96 8659
8660 * loader/i386/multiboot_elfxx.c
8661 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
8662
a83ea1d2 86632009-03-09 Felix Zielcke <fzielcke@z-51.de>
8664
8665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
8666 `fs/ext2.c'.
8667
aa9f3bff 86682009-03-08 Robert Millan <rmh@aybabtu.com>
8669
8670 Make loader/i386/linux.c usable on i386-pc again.
8671
8672 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
8673 memory to heap.
8674 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
8675 `#error' stanza.
8676
d8b3b60e 86772009-03-07 Bean <bean123ch@gmail.com>
8678
8679 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
8680 allocation.
8681
b362c9e9 86822009-03-06 Robert Millan <rmh@aybabtu.com>
8683
8684 Fix display issue on terminals with screen size other than 80x25
8685 (e.g. gfxterm with resolution higher than 640x480).
8686
8687 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 8688 position relative to the center of the terminal instead of relying
b362c9e9 8689 on a hardcoded offset.
8690
9304eef1 86912009-03-04 Robert Millan <rmh@aybabtu.com>
8692
8693 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
8694 installed.
8695
8696 * Makefile.in (host_kernel): New variable.
8697 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
8698 scripts instead of just the windows one.
8699 * configure.ac: Initialize and AC_SUBST `host_kernel'.
8700
eabc95fb 87012009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 8702
8703 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
8704 `kern/handler.c'.
8705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8706 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8707 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8709 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8711
ceb1223c 87122009-03-04 Felix Zielcke <fzielcke@z-51.de>
8713
8714 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
8715 or if there's no space for the disk label and print the partition number on a
8716 invalid magic.
8717
4910684a 87182009-03-04 Felix Zielcke <fzielcke@z-51.de>
8719
8720 * util/misc.c: Include <time.h>.
8721 (grub_millisleep): New function.
8722
7e9ca17a 87232009-03-04 Bean <bean123ch@gmail.com>
8724
8725 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
8726 another option -mno-red-zone.
8727
8728 * commands/handler.c: Change module description.
8729
8730 * kern/handler.c: Add missing space at the end of description line.
8731
8732 * kern/list.c: Likewise.
8733
f501677c 87342009-03-03 Robert Millan <rmh@aybabtu.com>
8735
8736 Move more components to the relocation area, and fix mbi pointer
8737 handling to use the destination rather than the origin (thanks to
8738 Vladimir Serbinenko for spotting).
8739
8740 * loader/i386/multiboot.c (mbi_dest): New variable.
8741 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
8742 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
8743 relocation area.
8744
9902d047 87452009-03-01 Bean <bean123ch@gmail.com>
8746
50fb7002 8747 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 8748 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
8749 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
8750 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
8751
8752 * loader/i386/efi/linux.c (acpi_guid): New variable.
8753 (acpi_guid): Likewise.
8754 (EBDA_SEG_ADDR): New constant.
8755 (LOW_MEM_ADDR): Likewise.
8756 (FAKE_EBDA_SEG): Likewise.
8757 (fake_bios_data): New function.
8758 (grub_linux_boot): Call fake_bios_data.
8759
71b9f361 87602009-03-01 Bean <bean123ch@gmail.com>
8761
8762 * commands/terminal.c: Removed.
8763
8764 * commands/handler.c: New file.
8765
8766 * include/grub/list.h: Likewise.
8767
8768 * include/grub/handler.h: Likewise.
8769
8770 * kern/list.c: Likewise.
8771
8772 * kern/handler.c: Likewise.
8773
8774 * kern/term.h: Include header file <grub/handler.h>.
8775 (grub_term_input): Move next field to the beginning.
8776 (grub_term_output): Likewise.
8777 (grub_term_input_class): New variable.
8778 (grub_term_output_class): Likewise.
8779 (grub_term_register_input): Changed to inline function.
8780 (grub_term_register_output): Likewise.
8781 (grub_term_unregister_input): Likewise.
8782 (grub_term_unregister_output): Likewise.
8783 (grub_term_set_current_input): Likewise.
8784 (grub_term_set_current_output): Likewise.
8785 (grub_term_get_current_input): Likewise.
8786 (grub_term_get_current_output): Likewise.
8787 (grub_term_iterate_input): Removed.
8788 (grub_term_iterate_output): Likewise.
8789
8790 * kern/term.c (grub_term_list_input): Removed.
8791 (grub_term_list_output): Likewise.
8792 (grub_term_input_class): New variable.
8793 (grub_term_output_class): Likewise.
50fb7002 8794 (grub_cur_term_input): Change variable as macro.
71b9f361 8795 (grub_cur_term_output): Likewise.
8796 (grub_term_register_input): Removed.
8797 (grub_term_register_output): Likewise.
8798 (grub_term_unregister_input): Likewise.
8799 (grub_term_unregister_output): Likewise.
8800 (grub_term_set_current_input): Likewise.
8801 (grub_term_set_current_output): Likewise.
8802 (grub_term_iterate_input): Likewise.
8803 (grub_term_iterate_output): Likewise.
8804 (grub_term_get_current_input): Likewise.
8805 (grub_term_get_current_output): Likewise.
8806
8807 * util/grub-editenv.c: Include header file <grub/handler.h>.
8808 (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-fstest.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/grub-probe.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 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
8824 (grub_term_get_current_output): Likewise.
8825 (grub_term_input_class): New variable.
50fb7002 8826 (grub_term_output_class): Likewise.
71b9f361 8827
8828 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
8829 (terminal_mod_SOURCES): Likewise.
8830 (terminal_mod_CFLAGS): Likewise.
8831 (terminal_mod_LDFLAGS): Likewise.
8832
8833 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
8834 handler.c.
8835 (kernel_img_SOURCES): Add list.c and handler.c.
8836 (kernel_img_HEADERS): Add list.h and handler.h.
8837
8838 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8839 handler.c.
8840 (kernel_mod_SOURCES): Add list.c and handler.c.
8841 (kernel_mod_HEADERS): Add list.h and handler.h.
8842
8843 * conf/i386-coreboot.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/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8849 handler.c.
8850 (kernel_elf_SOURCES): Add list.c and handler.c.
8851 (kernel_elf_HEADERS): Add list.h and handler.h.
8852
8853 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8854 handler.c.
8855 (kernel_mod_SOURCES): Add list.c and handler.c.
8856 (kernel_mod_HEADERS): Add list.h and handler.h.
8857
8858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8859 handler.c.
8860 (kernel_elf_SOURCES): Add list.c and handler.c.
8861 (kernel_elf_HEADERS): Add list.h and handler.h.
8862
8a31787f 88632009-02-27 Robert Millan <rmh@aybabtu.com>
8864
8865 Factorize elf32 / elf64 code in Multiboot loader. This will
8866 prevent it from getting out of sync again.
8867
8868 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
8869 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
8870 grub_multiboot_load_elf64): Move from here ...
8871 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
8872 grub_multiboot_load_elf): ... to here (new file).
8873
51cd3dfc 88742009-02-27 Robert Millan <rmh@aybabtu.com>
8875
8876 * util/grub.d/10_linux.in: Rename "single-user mode" to
8877 "recovery mode".
8878
6e8c9c3a 88792009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Don't leak in SCSI code.
8882 * disk/scsi.c (grub_scsi_close): free `scsi'.
8883
4b6bf4f9 88842009-02-27 Robert Millan <rmh@aybabtu.com>
8885
8886 * loader/i386/pc/multiboot.c: Move from here ...
8887 * loader/i386/multiboot.c: ... to here. Update all users.
8888
b9413424 88892009-02-27 Robert Millan <rmh@aybabtu.com>
8890
8891 Patch from Alexandre Bique <bique.alexandre@gmail.com>
8892 * util/i386/pc/grub-setup.c (setup): Fix directory path.
8893
50fb7002 88942009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 8895
8896 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
8897 b-tree.
8898
8cc50345 88992009-02-27 Robert Millan <rmh@aybabtu.com>
8900
8901 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
8902 `0x' qualifier as 0 when base is specified as parameter).
8903
6e09b8b7 89042009-02-24 Bean <bean123ch@gmail.com>
8905
8906 * configure.ac: Check for -mcmodel=large in x86_64 target.
8907
8908 * include/grub/efi/api.h (efi_call_10): New macro.
8909 (efi_wrap_10): New function.
8910
8911 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
8912 (GRUB_PE32_REL_BASED_HIGH): Likewise.
8913 (GRUB_PE32_REL_BASED_LOW): Likewise.
8914 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
8915 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
8916 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
8917 (GRUB_PE32_REL_BASED_SECTION): Likewise.
8918 (GRUB_PE32_REL_BASED_REL): Likewise.
8919 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
8920 (GRUB_PE32_REL_BASED_DIR64): Likewise.
8921 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
8922
8923 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
8924 issue.
8925
8926 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
8927 (efi_wrap_10): New function.
8928
8929 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
8930
8931 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
8932 MB/MBP model (NV chipset).
8933 (devdata_devs): Add devpath_5 to the list.
8934
8935 * load/i386/efi/linux.c (video_base): Remove variable.
8936 (RGB_MASK): New macro.
8937 (RGB_MAGIC): Likewise.
8938 (LINE_MIN): Likewise.
8939 (LINE_MAX): Likewise.
8940 (FBTEST_STEP): Likewise.
8941 (FBTEST_COUNT): Likewise.
8942 (fb_list): New variable.
8943 (grub_find_video_card): Remove function.
8944 (find_framebuf): New function.
8945 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8946 line length.
8947
8948 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8949 problem for x86_64.
8950
74b21bee 89512009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8952
8953 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8954
8955 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8956 coding tool name.
8957
a455f472 89582009-02-22 Robert Millan <rmh@aybabtu.com>
8959
8960 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8961 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8962 in our relocation, instead of using it directly from heap. Also
8963 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8964
6374daf3 89652009-02-21 Robert Millan <rmh@aybabtu.com>
8966
8967 Implement USB keyboard support (based on patch by Marco Gerards)
8968
8969 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8970 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8971 (usb_keyboard_mod_LDFLAGS): New variables.
8972
8973 * term/usb_keyboard.c: New file.
8974
8fa4ea70 89752009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 Corrected wrong declaration
8978
8979 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8980
353976ac 89812009-02-14 Christian Franke <franke@computer.org>
8982
8983 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8984 (grub_lspci_iter): Print class code and programming interface byte.
8985
6aa1169b 89862009-02-14 Christian Franke <franke@computer.org>
8987
8988 * gendistlist.sh: Ignore `.svn' directories.
8989
265372ca 89902009-02-14 Felix Zielcke <fzielcke@z-51.de>
8991
8992 * fs/fat.c: Add 2009 to Copyright line.
8993
9ff516f3 89942009-02-14 Christian Franke <franke@computer.org>
8995
8996 * commands/hdparm.c: New file. Provides `hdparm' command
8997 which sends ATA commands via grub_disk_ata_pass_through ().
8998
8999 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
9000
9001 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
9002 and <grub/cpu/io.h> to include/grub/ata.h.
9003 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
9004 (GRUB_CDROM_SECTOR_SIZE): Remove.
9005 (GRUB_ATA_*): Move to include/grub/ata.h.
9006 (GRUB_ATAPI_*): Likewise.
9007 (enum grub_ata_commands): Likewise.
9008 (enum grub_ata_timeout_milliseconds): Likewise.
9009 (struct grub_ata_device): Likewise.
9010 (grub_ata_regset): Likewise.
9011 (grub_ata_regget): Likewise.
9012 (grub_ata_regset2): Likewise.
9013 (grub_ata_regget2): Likewise.
9014 (grub_ata_check_ready): Likewise.
9015 (grub_ata_wait_not_busy): Remove static, exported in
9016 include/grub/ata.h.
9017 (grub_ata_wait_drq): Likewise.
9018 (grub_ata_pio_read): Likewise.
9019
9020 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
9021 function for hdparm.mod.
9022
9023 * include/grub/ata.h: New file, contains declarations from
9024 disk/ata.c.
9025 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9026
9027 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9028 (grub_disk_ata_pass_through): New exported variable.
9029
9030 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9031
772e23da 90322009-02-13 Colin D Bennett <colin@gibibit.com>
9033
9034 Support multiple fallback entries, and provide an API to support
9035 executing default+fallback menu entries. Renamed the `terminal' menu
9036 viewer to `text'.
9037
9038 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9039 variable declaration.
9040 (grub_menu_execute_callback): New structure declaration.
9041 (grub_menu_execute_callback_t): New typedef.
9042 (grub_menu_execute_with_fallback): New function declaration.
9043 (grub_menu_get_entry): Likewise.
9044 (grub_menu_get_timeout): Likewise.
9045 (grub_menu_set_timeout): Likewise.
9046
9047 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9048
9049 * normal/menu.c (grub_wait_after_message): Moved to
9050 `normal/menu_text.c'.
9051 (draw_border): Likewise.
9052 (print_message): Likewise.
9053 (print_entry): Likewise.
9054 (print_entries): Likewise.
9055 (grub_menu_init_page): Likewise.
9056 (get_entry_number): Likewise.
9057 (print_timeout): Likewise.
9058 (run_menu): Likewise.
9059 (grub_menu_execute_entry): Likewise.
9060 (show_text_menu): Likewise.
9061 (get_and_remove_first_entry_number): New function.
9062 (grub_menu_execute_with_fallback): Likewise.
9063 (get_entry): Renamed to ...
9064 (grub_menu_get_entry): .. this and made it global.
9065 (get_timeout): Renamed to ...
9066 (grub_menu_get_timeout): ... this and made it global.
9067 (set_timeout): Renamed to ...
9068 (grub_menu_set_timeout): ... this and made it global.
9069 (grub_normal_terminal_menu_viewer): Renamed to ...
9070 (grub_normal_text_menu_viewer): ... this.
9071
9072 * normal/menu_text.c: New file. Extracted text-menu-specific code
9073 from normal/menu.c.
9074
9075 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9076 (normal_mod_SOURCES): Likewise.
9077
9078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9079 (normal_mod_SOURCES): Likewise.
9080
9081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9082 (normal_mod_SOURCES): Likewise.
9083
9084 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9085 (normal_mod_SOURCES): Likewise.
9086
9087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9088 (normal_mod_SOURCES): Likewise.
9089
9090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9091 (normal_mod_SOURCES): Likewise.
9092
9093 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9094 (normal_mod_SOURCES): Likewise.
9095
16ac430e 90962009-02-11 Robert Millan <rmh@aybabtu.com>
9097
9098 * util/grub.d/00_header.in: Update old reference to `font' command.
9099
06ff20fc 91002009-02-10 Felix Zielcke <fzielcke@z-51.de>
9101
9102 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9103
9104 Based on patch from Javier MartĂ­n.
9105
96da9407 91062009-02-09 Felix Zielcke <fzielcke@z-51.de>
9107
9108 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 9109 to avoid false positives with FAT.
96da9407 9110 (grub_fstest_SOURCES): Likewise.
9111 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9112 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9114 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9115 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9116 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9117
6dca6fe4 91182009-02-09 Felix Zielcke <fzielcke@z-51.de>
9119
06ff20fc 9120 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 9121 bpb.version_specific.fat12_or_fat16.fstype and
9122 bpb.version_specific.fat32.fstype.
9123
2550c62f 91242009-02-08 Robert Millan <rmh@aybabtu.com>
9125
be110b30 9126 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 9127
56978920 91282009-02-08 Robert Millan <rmh@aybabtu.com>
9129
9130 * Makefile.in (host_os, host_cpu): New variables.
9131 (target_os): Remove. Update all users.
9132
d64399b5 91332009-02-08 Marco Gerards <marco@gnu.org>
9134
9135 * Makefile.in (enable_grub_emu_usb): New variable.
9136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
9137 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
9138 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
9139 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
9140 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
9141 `usbtest.mod' and `usbms.mod'.
9142 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
9143 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
9144 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
9145 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
9146 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
9147 variables.
9148
9149 * disk/usbms.c: New file.
9150
9151 * include/grub/usb.h: Likewise.
9152
9153 * include/grub/usbtrans.h: Likewise.
9154
9155 * include/grub/usbdesc.h: Likewise.
9156
9157 * bus/usb/usbtrans.c: Likewise.
9158
9159 * bus/usb/ohci.c: Likewise.
9160
9161 * bus/usb/uhci.c: Likewise.
9162
9163 * bus/usb/usbhub.c: Likewise.
9164
9165 * bus/usb/usb.c: Likewise.
9166
9167 * commands/usbtest.c: Likewise.
9168
9169 * util/usb.c: Likewise.
50fb7002 9170
d64399b5 9171 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
9172
9173 * configure.ac: Test for libusb presence.
50fb7002 9174
d64399b5 9175 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
9176
2b40d6bb 91772009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
9178
9179 * kern/mm.c: Add more comments.
9180
73a4ce81 91812009-02-08 Robert Millan <rmh@aybabtu.com>
9182
9183 Patch from Javier MartĂ­n.
9184 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
9185 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
9186
f821ce59 91872009-02-08 Robert Millan <rmh@aybabtu.com>
9188
9189 * fs/cpio.c: Split tar functionality to ...
9190 * fs/tar.c: ... here (new file). Update all users.
9191
aebfc4b0 91922009-02-07 Robert Millan <rmh@aybabtu.com>
9193
9194 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
9195 backward-incompatible features.
9196
9197 Based on patch from Javier MartĂ­n, with some adjustments.
9198
50fb7002 91992009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 9200
9201 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
9202
0bb5115e 92032009-02-07 Robert Millan <rmh@aybabtu.com>
9204
9205 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
9206 position of `disk/lvm.c' to ensure grub_init_all() always picks it
9207 after the RAID stuff.
9208
38a0f8e7 92092009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
9210
50fb7002 9211 Fixes problem when running vbetest command as reported by
38a0f8e7 9212 Vladimir Serbinenko <phcoder@gmail.com>.
9213
9214 * (grub_vbe_set_video_mode): Fixed problem with text modes.
9215
3143cc1c 92162009-02-04 Felix Zielcke <fzielcke@z-51.de>
9217
9218 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
9219 /dev/md/NpN style mdraid devices.
9220
9cba6fce 92212009-02-03 Felix Zielcke <fzielcke@z-51.de>
9222
9223 * util/unifont2pff.rb: Remove.
9224
e507a2c1 92252009-02-03 Felix Zielcke <fzielcke@z-51.de>
9226
9227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
9228 `#'.
9229
d2c2b4cd 92302009-02-03 Felix Zielcke <fzielcke@z-51.de>
9231
9232 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
9233 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9234 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9238 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9239
b4315fb0 92402009-02-02 Christian Franke <franke@computer.org>
9241
9242 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
9243
de3aa260 92442009-02-01 Felix Zielcke <fzielcke@z-51.de>
9245
7c3ff286 9246 * INSTALL: Note that we now require at least autoconf 2.59 and
9247 that LZO is optional.
de3aa260 9248
825a182b 92492009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9250
9251 Base on patch on bug #24154 created by Tomas Tintera
9252 <trosos@seznam.cz>.
9253
9254 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
9255
a69ef770 92562009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9257
7c3ff286 9258 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 9259 <bero@arklinux.org>.
9260
9261 * normal/parser.y (script_init): Add missing semicolon.
9262
6fa42fa6 92632009-01-31 Colin D Bennett <colin@gibibit.com>
9264
7c3ff286 9265 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 9266 (free_menu_entry_classes): Added.
9267 (grub_normal_menu_addentry): Added class property handling.
9268 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
9269 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
9270
9271 * normal/menu_viewer.c: New file.
9272
9273 * normal/menu.c (run_menu_entry): Renamed to ...
9274 (grub_menu_execute_entry): ... this and made it as global.
9275 (grub_menu_run): Renamed to ...
9276 (show_text_menu): ... this and made it local.
9277 (show_text_menu): Adapt to new function names.
9278 (grub_normal_terminal_menu_viewer): New global variable.
9279
9280 * include/grub/menu.h: New file.
9281
9282 * include/grub/menu_viewer.h: New file.
9283
9284 * include/grub/normal.h: Added include to grub/menu.h.
9285 (grub_menu_entry): Moved to include/grub/menu.h.
9286 (grub_menu_entry_t): Likewise.
9287 (grub_menu): Likewise.
9288 (grub_menu_t): Likewise.
9289 (grub_normal_terminal_menu_viewer): Added.
9290 (grub_menu_execute_entry): Likewise.
9291 (grub_menu_run): Removed.
9292
9293 * DISTLIST: Added include/grub/menu.h.
9294 Added include/grub/menu_viewer.h.
9295 Added normal/menu_viewer.c.
9296
92972009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
9298
9299 * normal/execute.c (grub_script_execute_menuentry): Changed to use
9300 arglist for menutitle arguments.
9301
9302 * normal/main.c (grub_normal_menu_addentry): Likewise.
9303
9304 * normal/parser.y (menuentry): Likewise.
9305
9306 * normal/script.c (grub_script_create_cmdmenu): Likewise.
9307
9308 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
9309 (grub_script_create_cmdmenu): Likewise.
9310
9311 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
9312
9313 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
9314 changes.
9315
9316 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
9317
9318 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
9319
9320 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
9321
9322 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9323
9324 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9325
9326 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9327
56192c23 93282009-01-30 Christian Franke <franke@computer.org>
9329
9330 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
9331 in option help text.
9332
d72521b3 93332009-01-27 Pavel Roskin <proski@gnu.org>
9334
9335 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
9336
994b5e84 93372009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9338
9339 * commands/lsmmap.c: Add include to grub/machine/memory.h.
9340
9341 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
9342
9343 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
9344 unregister function.
9345
6a7eab2c 93462009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9347
9348 * disk/scsi.c (grub_scsi_read): Fix sign problem.
9349
9350 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
9351
9352 * util/grub-mkfont.c (usage): Fix typo.
9353
9354 * util/elf/grub-mkimage.c (load_modules): Fix warning.
9355
1806b56e 93562009-01-26 Daniel Mierswa <impulze@impulze.org>
9357
3fb18f09 9358 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
9359
336e1fb9 9360 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
9361
1806b56e 9362 * kern/misc.c (grub_strcasecmp): New function.
9363 (grub_strcasecmp): Use grub_size_t instead of int for length.
9364 Fix return value.
9365 * include/grub/misc.h: Update function prototypes.
9366
580b2a0f 93672009-01-26 Robert Millan <rmh@aybabtu.com>
9368
9369 * configure.ac: Fix cross-compilation check.
ef257b36 9370
d31c24f1 93712009-01-22 Christian Franke <franke@computer.org>
9372
9373 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
9374 (precision) digit string. Allow `.format2' without `format1' (width).
9375 Limit input chars for `%s' output to `format2' if specified. This is
9376 compatible with standard printf ().
9377
3138b44c 93782009-01-22 Christian Franke <franke@computer.org>
9379
9380 * disk/ata.c (grub_ata_wait_status): Replace by ...
9381 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
9382 other status bits may be invalid while BSY is asserted.
9383 (grub_ata_check_ready): New function.
9384 (grub_ata_cmd): Removed.
9385 (grub_ata_wait_drq): New function.
9386 (grub_ata_strncpy): Remove inline.
9387 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
9388 and error check now done by grub_ata_wait_drq ().
9389 (grub_ata_pio_write): Likewise.
9390 (grub_atapi_identify): Set DEV before check for !BSY. Use
9391 grub_ata_wait_drq () to wait for data.
9392 (grub_ata_device_initialize): Add status register check to
9393 detect missing SATA slave devices. Add debug messages.
9394 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
9395 (grub_atapi_packet): Set DEV before check for !BSY. Replace
9396 transfer loop by grub_ata_pio_write ().
9397 (grub_ata_identify): Set DEV before check for !BSY. Use
9398 grub_ata_wait_drq () to wait for data.
ef257b36 9399 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 9400 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
9401 read/write in one loop. Fix invalid command on write. Fix incomplete
9402 command on (size % batch) == 0. Add missing error check after write of
9403 last block. Add debug messages.
9404 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
9405
59a64ef6 94062009-01-19 Christian Franke <franke@computer.org>
9407
9408 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
9409 (GRUB_ATAPI_IREASON_*): Likewise.
9410 (grub_ata_pio_write): Fix timeout error return.
9411 (grub_atapi_identify): Add grub_ata_wait () after cmd.
9412 (grub_atapi_wait_drq): New function.
9413 (grub_atapi_packet): New parameter `size'.
9414 Use grub_atapi_wait_drq () and direct write instead of
9415 grub_ata_pio_write ().
9416 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
9417 reads the number of bytes requested by the device for each DRQ
9418 assertion.
9419 (grub_atapi_write): Remove old implementation, return not
9420 implemented instead.
9421
1cfe20b3 94222009-01-19 Christian Franke <franke@computer.org>
9423
9424 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
9425 of 512 to calculate data size.
9426 (grub_scsi_read12): Likewise.
9427 (grub_scsi_write10): Likewise.
9428 (grub_scsi_write12): Likewise.
9429 (grub_scsi_read): Adjust size according to blocksize.
9430 Add checks for invalid blocksize and unaligned transfer.
9431
bee5fe5d 94322009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
9433
9434 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
9435
ef257b36 9436 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 9437 width glyphs.
9438
3e643f8c 94392009-01-19 Robert Millan <rmh@aybabtu.com>
9440
9441 * config.guess: Update to latest version from config git.
9442 * config.sub: Likewise.
9443
4fa80998 94442009-01-17 Felix Zielcke <fzielcke@z-51.de>
9445
9446 * Makefile.in: Change font compilation to use new grub-mkfont instead
9447 of java version.
9448
9449 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
9450 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
9451 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9452 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9453 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
9454 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
9455 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
9456 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
9457 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9458
7086085b 94592009-01-16 Christian Franke <franke@computer.org>
9460
9461 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
9462 (enum grub_ata_timeout_milliseconds): New enum.
9463 (grub_ata_wait_status): Add parameter milliseconds.
9464 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
9465 recovery from timed-out commands.
9466 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
9467 return grub_errno instead of REG_ERROR.
9468 (grub_ata_pio_write): Add parameter milliseconds.
9469 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
9470 Pass milliseconds to grub_ata_wait_status () and
9471 grub_ata_pio_read ().
9472 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
9473 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
9474 grub_ata_wait_status (). Fix IDENTIFY timeout check.
9475 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
9476 It is not suitable for device detection, because DEV bit is ignored,
9477 the command may run too long, and not all devices set the signature
9478 properly.
9479 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
9480 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
9481 Fix device selection, DEV bit must be set first to address the registers
9482 of the correct device.
9483 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
9484 grub_ata_pio_read/write ().
9485 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
9486 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
9487
4a412913 94882009-01-13 Carles Pina i Estany <carles@pina.cat>
9489
9490 * util/grub-editenv.c (main): Use fseeko(), not fseek().
9491
7795c55e 94922009-01-13 Bean <bean123ch@gmail.com>
d913988c 9493
9494 * util/grub-mkfont.c (write_font): forget to remove some debug code.
9495
7795c55e 94962009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 9497
9498 * Makefile.in: (enable_grub_mkfont): New variable.
9499 (freetype_cflags): Likewise.
9500 (freetype_libs): Likewise.
9501
9502 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
9503 (grub_mkfont_SOURCES): New variable.
9504 (grub_mkfont_CFLAGS): Likewise.
9505 (grub_mkfont_LDFLAGS): Likewise.
9506
9507 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
9508 library if `--enable-grub-mkfont' is requested.
9509 (enable_grub_mkfont): New variable.
9510 (freetype_cflags): Likewise.
9511 (freetype_libs): Likewise.
9512
9513 * util/grub-mkfont.c: New file.
9514
093af1fe 95152009-01-12 Christian Franke <franke@computer.org>
9516
9517 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
9518 mode check. Fix setting of compat_use[].
9519
f36cc108 95202009-01-10 Robert Millan <rmh@aybabtu.com>
9521
9522 Update a few copyright years which we forgot to do in 2008 (only for
9523 files whose changes made in 2008 were copyright-significant)
9524
9525 * Makefile.in: Add 2008 to Copyright line.
9526 * disk/ieee1275/ofdisk.c: Likewise.
9527 * disk/efi/efidisk.c: Likewise.
9528 * kern/dl.c: Likewise.
9529 * kern/sparc64/ieee1275/init.c: Likewise.
9530 * kern/mm.c: Likewise.
9531 * kern/efi/mm.c: Likewise.
9532 * boot/i386/pc/boot.S: Likewise.
9533 * genfslist.sh: Likewise.
9534 * fs/iso9660.c: Likewise.
9535 * fs/hfs.c: Likewise.
9536 * fs/jfs.c: Likewise.
9537 * fs/minix.c: Likewise.
9538 * fs/ufs.c: Likewise.
9539 * gensymlist.sh.in: Likewise.
9540 * genkernsyms.sh.in: Likewise.
9541 * include/grub/misc.h: Likewise.
9542 * include/grub/types.h: Likewise.
9543 * include/grub/symbol.h: Likewise.
9544 * include/grub/elf.h: Likewise.
9545 * include/grub/kernel.h: Likewise.
9546 * include/grub/disk.h: Likewise.
9547 * include/grub/dl.h: Likewise.
9548 * include/grub/i386/linux.h: Likewise.
9549 * include/grub/i386/pc/biosdisk.h: Likewise.
9550 * include/grub/efi/api.h: Likewise.
9551 * include/grub/efi/pe32.h: Likewise.
9552 * include/grub/util/misc.h: Likewise.
9553 * normal/execute.c: Likewise.
9554 * normal/arg.c: Likewise.
9555 * normal/completion.c: Likewise.
9556 * normal/lexer.c: Likewise.
9557 * normal/parser.y: Likewise.
9558 * normal/misc.c: Likewise.
9559 * commands/i386/pc/vbeinfo.c: Likewise.
9560 * commands/hexdump.c: Likewise.
9561 * commands/terminal.c: Likewise.
9562 * commands/ls.c: Likewise.
9563 * commands/help.c: Likewise.
9564 * partmap/pc.c: Likewise.
9565 * loader/efi/chainloader.c: Likewise.
9566 * loader/multiboot_loader.c: Likewise.
9567 * loader/i386/pc/multiboot2.c: Likewise.
9568 * term/efi/console.c: Likewise.
9569 * term/i386/pc/serial.c: Likewise.
9570 * util/lvm.c: Likewise.
9571 * util/console.c: Likewise.
9572 * util/i386/efi/grub-mkimage.c: Likewise.
9573 * util/raid.c: Likewise.
9574
7f02114b 95752009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
9576
9577 * commands/videotest.c: Removed include to grub/machine/memory.h.
9578
9579 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
9580 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
9581 (video_mod_SOURCES): Removed.
9582 (video_mod_CFLAGS): Likewise.
9583 (video_mod_LDFLAGS): Likewise.
9584 (gfxterm_mod_SOURCES): Likewise.
9585 (gfxterm_mod_CFLAGS): Likewise.
9586 (gfxterm_mod_LDFLAGS): Likewise.
9587 (videotest_mod_SOURCES): Likewise.
9588 (videotest_mod_CFLAGS): Likewise.
9589 (videotest_mod_LDFLAGS): Likewise.
9590 (bitmap_mod_SOURCES): Likewise.
9591 (bitmap_mod_CFLAGS): Likewise.
9592 (bitmap_mod_LDFLAGS): Likewise.
9593 (tga_mod_SOURCES): Likewise.
9594 (tga_mod_CFLAGS): Likewise.
9595 (tga_mod_LDFLAGS): Likewise.
9596 (jpeg_mod_SOURCES): Likewise.
9597 (jpeg_mod_CFLAGS): Likewise.
9598 (jpeg_mod_LDFLAGS): Likewise.
9599 (png_mod_SOURCES): Likewise.
9600 (png_mod_CFLAGS): Likewise.
9601 (png_mod_LDFLAGS): Likewise.
9602
9603 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
9604 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
9605 (video_mod_SOURCES): Added.
9606 (video_mod_CFLAGS): Likewise.
9607 (video_mod_LDFLAGS): Likewise.
9608 (videotest_mod_SOURCES): Likewise.
9609 (videotest_mod_CFLAGS): Likewise.
9610 (videotest_mod_LDFLAGS): Likewise.
9611 (bitmap_mod_SOURCES): Likewise.
9612 (bitmap_mod_CFLAGS): Likewise.
9613 (bitmap_mod_LDFLAGS): Likewise.
9614 (tga_mod_SOURCES): Likewise.
9615 (tga_mod_CFLAGS): Likewise.
9616 (tga_mod_LDFLAGS): Likewise.
9617 (jpeg_mod_SOURCES): Likewise.
9618 (jpeg_mod_CFLAGS): Likewise.
9619 (jpeg_mod_LDFLAGS): Likewise.
9620 (png_mod_SOURCES): Likewise.
9621 (png_mod_CFLAGS): Likewise.
9622 (png_mod_LDFLAGS): Likewise.
9623 (gfxterm_mod_SOURCES): Likewise.
9624 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 9625 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 9626
9627 * term/gfxterm.c: Removed include to grub/machine/memory.h,
9628 grub/machine/console.h.
9629
644fff97 96302009-01-04 Jerone Young <jerone@gmail.com>
9631
9632 Make on screen instructions clearer
9633
9634 Based on patch created by Jidanni <jidanni@jidanni.org>
9635
9636 * normal/menu.c: print clearer instructions on the screen
9637
1e901a75 96382009-01-02 Colin D Bennett <colin@gibibit.com>
9639
9640 New font engine.
34c44600 9641
1e901a75 9642 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
9643 build system and fixed gfxterm.c to work with different sized fonts.
9644
9645 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 9646
1e901a75 9647 * configure: Re-generated.
34c44600 9648
1e901a75 9649 * DISTLIST: Removed font/manager.c.
9650 Added font/font.c.
9651 Added font/font_cmd.c.
34c44600 9652
1e901a75 9653 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
9654 compilation.
34c44600 9655
1e901a75 9656 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 9657
9658 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 9659
9660 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 9661
1e901a75 9662 * normal/menu.c: Likewise.
34c44600 9663
1e901a75 9664 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
9665 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 9666
1e901a75 9667 * include/grub/font.h: Replaced with new file.
34c44600 9668
1e901a75 9669 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
9670 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
9671 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
9672 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
9673 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 9674 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 9675 fg_red, fg_green, fg_blue, fg_alpha.
9676 (grub_video_adapter): Removed blit_glyph.
34c44600 9677 (grub_video_blit_glyph): Removed.
9678
1e901a75 9679 * font/manager.c: Removed file.
34c44600 9680
9681 * font/font.c: New file.
9682
1e901a75 9683 * font/font_cmd.c: Likewise.
34c44600 9684
1e901a75 9685 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 9686
1e901a75 9687 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
9688 (grub_video_vbe_map_rgba): Likewise.
9689 (grub_video_vbe_unmap_color_int): Likewise.
9690 (grub_video_vbe_blit_glyph): Removed.
9691 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 9692
1e901a75 9693 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
9694 (get_pixel): Likewise.
34c44600 9695 (set_pixel): Likewise.
9696
1e901a75 9697 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 9698
1e901a75 9699 * term/gfxterm.c: Adapted to new font engine.
34c44600 9700
1e901a75 9701 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 9702
1e901a75 9703 * term/i386/pc/vga.c: Likewise.
34c44600 9704
1e901a75 9705 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 9706
1e901a75 9707 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 9708
1e901a75 9709 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9710
1e901a75 9711 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9712
1e901a75 9713 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 9714
1e901a75 9715 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 9716
1e901a75 9717 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 9718
1e901a75 9719 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 9720
1e901a75 9721 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9722
9723 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 9724
1e901a75 9725 * util/grub-mkconfig_lib.in: Changed font extension.
9726
278922e8 97272008-12-28 Felix Zielcke <fzielcke@z-51.de>
9728
9729 * util/getroot.c (grub_util_get_grub_dev): Add support for
9730 /dev/md/dNNpNN style partitionable mdraid devices.
9731
3ced05cf 97322008-12-12 Alex Smith <alex@alex-smith.me.uk>
9733
9734 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
9735 at a time limit of the PXE TFTP API correctly.
9736 (grub_pxefs_close): Likewise.
9737
7fd0ee30 97382008-11-29 Robert Millan <rmh@aybabtu.com>
9739
34c44600 9740 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 9741 grub_ata_device_initialize() calls.
9742
34c44600 97432008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 9744
9745 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
9746 iteration failed.
9747 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
9748
89313780 97492008-11-28 Robert Millan <rmh@aybabtu.com>
9750
9751 Fix build on powerpc-ieee1275. Based on patch created by
9752 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
9753 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9754 `kern/ieee1275/mmap.c'.
9755 * include/grub/powerpc/ieee1275/memory.h: New file.
9756
15257703 9757 Provide grub-install on coreboot.
9758 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
9759 (grub_install_SOURCES): New variable.
9760 * util/i386/pc/grub-install.in: Add a few condition checks to make it
9761 usable on coreboot.
9762
9fc5388a 97632008-11-25 Felix Zielcke <fzielcke@z-51.de>
9764
9765 * util/grub-fstest.c (grub_term_get_current_input): Change return type
9766 to `grub_term_input_t'.
9767 (grub_term_get_current_output): Change return type to
9768 `grub_term_output_t'.
9769
bc3a2f31 97702008-11-22 Robert Millan <rmh@aybabtu.com>
9771
34c44600 9772 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 9773 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
9774 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
9775 grub_vga_text_cls().
9776
80fc88f2 9777 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 9778 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 9779
cbf36fd3 9780 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
9781 to 0x200000 (avoids trouble with some OFW implementations, and matches
9782 with the one in Yaboot).
9783 Reported by Manoel Abranches
9784
73e8e268 97852008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 9786
9787 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
9788 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
9789
73e8e268 9790 * util/grub-mkconfig_lib.in (grub_warn): New function.
9791 (convert_system_path_to_grub_path): Use grub_warn() when issuing
9792 warnings, to obtain consistent formatting.
9793 * util/grub.d/00_header.in: Likewise.
9794 * util/update-grub_lib.in: Likewise.
9795
e94045a1 9796 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 9797 Move comment text to `#error' stanza.
e94045a1 9798
79d29fd7 9799 Harmonize ieee1275's grub_available_iterate() with the generic
9800 grub_machine_mmap_iterate() interface (fixes a recently-introduced
9801 build problem on i386-ieee1275):
9802 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
9803 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
9804 parameter `type'. Update all users of this function.
9805 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
9806 `kern/ieee1275/mmap.c'.
9807 * kern/ieee1275/init.c
9808 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
9809 with ...
9810 (grub_machine_mmap_iterate): ... this.
9811 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
9812 return type to `grub_err_t'. Update all implementations of this
9813 function prototype.
9814 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
9815 Likewise.
9816
60d6b16e 9817 Add `lsmmap' command (lists firmware-provided memory map):
9818 * commands/lsmmap.c: New file.
9819 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
9820 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
9821 variables.
9822 * conf/powerpc-ieee1275.rmk: Likewise.
9823 * conf/i386-coreboot.rmk: Likewise.
9824 * conf/i386-ieee1275.rmk: Likewise.
9825
ebaaf49b 98262008-11-19 Robert Millan <rmh@aybabtu.com>
9827
9828 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 9829 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
9830 constraints to initrd allocation (based on code from
9831 loader/i386/pc/linux.c). Without them, initrd was allocated too high
9832 for Linux to find it.
ebaaf49b 9833
dfab719f 98342008-11-14 Robert Millan <rmh@aybabtu.com>
9835
9836 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
9837 order to cope with duplicate slashes.
9838
10fc3eb9 98392008-11-14 Robert Millan <rmh@aybabtu.com>
9840
9841 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
9842 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
9843 don't want to mess with lower memory, because it is used in the Linux
9844 loader.
9845
9846 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 9847 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 9848 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
9849 is in our heap (probably as a result of it being corrupted during
2f2a3442 9850 decompression). Add #error instance with comment to explain why this
9851 loader isn't currently usable on PC/BIOS.
10fc3eb9 9852
e2e07847 98532008-11-14 Robert Millan <rmh@aybabtu.com>
9854
9855 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 9856 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 9857
fe8e8d69 98582008-11-12 Robert Millan <rmh@aybabtu.com>
9859
9860 Make loader/i386/linux.c buildable on i386-pc (although disabled).
9861
9862 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
9863 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
9864 from here ...
9865 * include/grub/i386/pc/memory.h: ... to here.
9866
976b07d0 98672008-11-12 Robert Millan <rmh@aybabtu.com>
9868
9869 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
9870 split).
9871
9872 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
9873 (grub_console_cur_color, grub_console_real_putchar)
9874 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9875 (grub_console_setcolorstate, grub_console_setcolor)
9876 (grub_console_getcolor): Move from here ...
9877 * include/grub/i386/vga_common.h: ... to here (new file).
9878
9879 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
9880 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
9881 `<grub/i386/io.h>'.
9882 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
9883 `<grub/i386/vga_common.h>'.
9884
76679cd3 98852008-11-12 Robert Millan <rmh@aybabtu.com>
9886
9887 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
9888 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
9889 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
9890 variables.
9891 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9892 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
9893
9894 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
9895 grub_console_init() with call to grub_vga_text_init().
9896 (grub_machine_fini): Replace call to
9897 grub_console_fini() with call to grub_vga_text_fini() and
9898 grub_at_keyboard_fini().
9899
9900 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
9901 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9902 (grub_console_setcolorstate, grub_console_setcolor)
9903 (grub_console_getcolor): New function prototypes.
9904
9905 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
9906 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
9907 (grub_vga_text_setcursor): Static-ize.
9908 (grub_vga_text_term): New structure.
9909 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
9910
9911 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
9912 (grub_console_cur_color, grub_console_standard_color)
9913 (grub_console_normal_color, grub_console_highlight_color)
9914 (map_char, grub_console_putchar, grub_console_getcharwidth)
9915 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
9916 (grub_console_getcolor): Move from here ...
9917 * term/i386/vga_common.c: ... to here (same function names).
9918
95b841d3 99192008-11-12 Robert Millan <rmh@aybabtu.com>
9920
9921 Use newly-added Multiboot support in coreboot.
9922
9923 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9924 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
9925
9926 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
9927 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
9928 (codestart): Store the MBI in `startup_multiboot_info' when we're
9929 being loaded using Multiboot.
9930
9931 * kern/i386/coreboot/init.c (grub_machine_init): Move
9932 grub_at_keyboard_init() call to beginning of function (useful for
9933 debugging). Call grub_machine_mmap_init() before attempting to use
9934 grub_machine_mmap_iterate().
9935 (grub_lower_mem, grub_upper_mem): Move from here ...
9936 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
9937 here (new file).
9938
9939 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
9940 function prototype.
9941
761ca975 99422008-11-12 Robert Millan <rmh@aybabtu.com>
9943
9944 Fix a regression introduced by the at_keyboard.mod split. Because
9945 some terminals are default on some platforms and non-default on
9946 others, the first terminal being registered determines which is
9947 going to be default.
9948
9949 * kern/term.c (grub_term_register_input): If this is the first
9950 terminal being registered, set it as the current one.
9951 (grub_term_register_output): Likewise.
9952
9953 * term/efi/console.c (grub_console_init): Do not call
9954 grub_term_set_current_output() or grub_term_set_current_input().
9955 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9956 * term/i386/pc/console.c (grub_console_init): Likewise.
9957 (grub_console_fini): Do not call grub_term_set_current_input()
9958 (but leave grub_term_set_current_output() to restore text mode).
9959
6c529df7 99602008-11-10 Robert Millan <rmh@aybabtu.com>
9961
9962 * util/grub.d/00_header.in: Add backward compatibility check for
9963 versions of terminal.mod that don't understand `terminal_input' or
9964 `terminal_output'.
9965
132e4113 99662008-11-09 Robert Millan <rmh@aybabtu.com>
9967
9968 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9969 `terminal_input' / `terminal_output', not `terminal'.
9970
ac293d50 99712008-11-08 Robert Millan <rmh@aybabtu.com>
9972
9973 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9974 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9975
0025933a 99762008-11-08 Robert Millan <rmh@aybabtu.com>
9977
9978 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9979 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9980 members. Update all users.
9981 * util/console.c (grub_ncurses_term): Split in ...
9982 (grub_ncurses_term_input): ... this, and ...
9983 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9984 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9985
37c86336 99862008-11-08 Robert Millan <rmh@aybabtu.com>
9987
9988 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9989 (PKGDATA): Add $(pkgdata_SRCDIR).
9990 (pkglib_BUILDDIR): New variable.
9991 (pkgdata_SRCDIR): New variable.
9992 (build_env.mk): New target.
9993 (include_DATA): New variable.
9994 (install-local): Install $(include_DATA) files in $(includedir).
9995
b6c15a2d 99962008-11-07 Pavel Roskin <proski@gnu.org>
9997
d99d46f1 9998 * gendistlist.sh: Use C locale for sorting to ensure consistent
9999 output on all systems.
10000
b6c15a2d 10001 * util/grub.d/00_header.in: Remove incorrect space before
10002 "serial".
10003
c32ee8c9 100042008-11-07 Robert Millan <rmh@aybabtu.com>
10005
10006 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
10007 per specification.
10008 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
10009 * loader/multiboot_loader.c (find_multi_boot2_header): New function
10010 (based on find_multi_boot1_header).
10011 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
10012 using find_multi_boot2_header(), and abort if neither Multiboot or
10013 Multiboot headers were found.
10014
651c29b7 100152008-11-07 Robert Millan <rmh@aybabtu.com>
10016
10017 Modularize at_keyboard.mod:
10018
10019 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
10020 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10021 (at_keyboard_mod_LDFLAGS): New variables.
10022
10023 Actual terminal split:
10024
10025 * include/grub/term.h (struct grub_term): Split in ...
10026 (struct grub_term_input): ... this, and ...
10027 (struct grub_term_output): ... this. Update all users.
10028 (grub_term_set_current): Split in ...
10029 (grub_term_set_current_input): ... this, and ...
10030 (grub_term_set_current_output): ... this.
10031 (grub_term_get_current): Split in ...
10032 (grub_term_get_current_input): ... this, and ...
10033 (grub_term_get_current_output): ... this.
10034 (grub_term_register): Split in ...
10035 (grub_term_register_input): ... this, and ...
10036 (grub_term_register_output): ... this.
10037 (grub_term_unregister): Split in ...
10038 (grub_term_unregister_input): ... this, and ...
10039 (grub_term_unregister_output): ... this.
10040 (grub_term_iterate): Split in ...
10041 (grub_term_iterate_input): ... this, and ...
10042 (grub_term_iterate_output): ... this.
10043
10044 * kern/term.c (grub_term_list): Split in ...
10045 (grub_term_list_input): ... this, and ...
10046 (grub_term_list_output): ... this. Update all users.
10047 (grub_cur_term): Split in ...
10048 (grub_cur_term_input): ... this, and ...
10049 (grub_cur_term_output): ... this. Update all users.
10050 (grub_term_set_current): Split in ...
10051 (grub_term_set_current_input): ... this, and ...
10052 (grub_term_set_current_output): ... this.
10053 (grub_term_get_current): Split in ...
10054 (grub_term_get_current_input): ... this, and ...
10055 (grub_term_get_current_output): ... this.
10056 (grub_term_register): Split in ...
10057 (grub_term_register_input): ... this, and ...
10058 (grub_term_register_output): ... this.
10059 (grub_term_unregister): Split in ...
10060 (grub_term_unregister_input): ... this, and ...
10061 (grub_term_unregister_output): ... this.
10062 (grub_term_iterate): Split in ...
10063 (grub_term_iterate_input): ... this, and ...
10064 (grub_term_iterate_output): ... this.
10065
10066 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
10067 a check for input and one for output (and only attempt to get keys
10068 from user when input works).
10069
10070 * util/grub-probe.c (grub_term_get_current): Split in ...
10071 (grub_term_get_current_input): ... this, and ...
10072 (grub_term_get_current_output): ... this.
10073 * util/grub-fstest.c: Likewise.
10074 * util/i386/pc/grub-setup.c: Likewise.
10075 * util/grub-editenv.c: Likewise.
10076
10077 Portability adjustments:
10078
10079 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10080 `term/i386/pc/at_keyboard.c'.
10081 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10082 grub_keyboard_controller_init() (now handled by terminal .init).
10083 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10084 grub_at_keyboard_init().
10085 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10086 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10087 at_keyboard.mod via input terminal interface).
10088 * include/grub/i386/coreboot/console.h: Convert into a stub for
10089 `<grub/i386/pc/console.h>'.
10090
10091 Migrate full terminals to new API:
10092
10093 * term/efi/console.c (grub_console_term): Split into ...
10094 (grub_console_term_input): ... this, and ...
10095 (grub_console_term_output): ... this. Update all users.
10096 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10097 (grub_ofconsole_init): Split into ...
10098 (grub_ofconsole_init_input): ... this, and ...
10099 (grub_ofconsole_init_output): ... this.
10100 (grub_ofconsole_term): Split into ...
10101 (grub_ofconsole_term_input): ... this, and ...
10102 (grub_ofconsole_term_output): ... this. Update all users.
10103 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10104 (grub_serial_term_input): ... this, and ...
10105 (grub_serial_term_output): ... this. Update all users.
10106 * term/i386/pc/console.c (grub_console_term): Split into ...
10107 (grub_console_term_input): ... this, and ...
10108 (grub_console_term_output): ... this. Update all users.
10109 (grub_console_term_input): Only enable it on PC/BIOS platform.
10110 (grub_console_init): Remove grub_keyboard_controller_init() call.
10111
10112 Migrate input terminals to new API:
10113
10114 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
10115 `i386' and `i386/pc' to enable build on x86_64 (this driver is
10116 i386-specific anyway).
10117 (grub_console_checkkey): Rename to ...
10118 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
10119 users.
10120 (grub_keyboard_controller_orig): New variable.
10121 (grub_console_getkey): Rename to ...
10122 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
10123 users.
10124 (grub_keyboard_controller_init): Static-ize. Save original
10125 controller value so that it can be restored ...
10126 (grub_keyboard_controller_fini): ... here (new function).
10127 (grub_at_keyboard_term): New structure.
10128 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
10129 functions.
10130
10131 Migrate output terminals to new API:
10132
10133 * term/i386/pc/vga.c (grub_vga_term): Change type to
10134 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10135 members. Update all users.
10136 * term/gfxterm.c (grub_video_term): Change type to
10137 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10138 members. Update all users.
10139 * include/grub/i386/pc/console.h (grub_console_checkkey)
10140 (grub_console_getkey): Do not export (no longer needed by gfxterm,
10141 etc).
10142
10143 Migrate `terminal' command and userland tools to new API:
10144
10145 * commands/terminal.c (grub_cmd_terminal): Split into ...
10146 (grub_cmd_terminal_input): ... this, and ...
10147 (grub_cmd_terminal_output): ... this.
10148 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
10149 `terminal_input' and `terminal_output'.
10150 * util/grub.d/00_header.in: Adjust `terminal' calls to new
10151 `terminal_input' / `terminal_output' API.
10152 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
10153 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
10154 provided ${GRUB_TERMINAL}, convert it).
10155
96e5d876 101562008-11-04 Robert Millan <rmh@aybabtu.com>
10157
10158 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
10159 for FreeBSD.
10160 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
10161
556f3775 101622008-11-03 Bean <bean123ch@gmail.com>
10163
10164 * kern/elf.c (grub_elf32_load): Revert to previous code.
10165 (grub_elf64_load): Likewise.
10166
10167 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
10168
926b9823 101692008-11-01 Robert Millan <rmh@aybabtu.com>
10170
10171 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
10172 (TARGET_CPPFLAGS): Likewise.
10173 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
10174
1432e958 101752008-11-01 Carles Pina i Estany <carles@pina.cat>
10176
10177 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
10178
dba3f844 101792008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 10180
10181 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
10182 addition of objects until the code is not going to be able to fail.
10183
dba3f844 101842008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 10185
10186 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
10187 (add a missing NULL check, and correct them by moving the pointer
10188 operations after the actual check).
10189
7ab28c21 101902008-10-29 Robert Millan <rmh@aybabtu.com>
10191
10192 * util/i386/pc/grub-install.in: Handle empty string as output from
10193 make_system_path_relative_to_its_root().
10194
1b7748eb 101952008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
10196
10197 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
10198 circular metadata worst case scenario. If the metadata is circular
10199 then copy the wrap in place.
10200 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
10201 project lib/format_text/layout.h
10202 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
10203
c9618ab2 102042008-10-03 Felix Zielcke <fzielcke@z-51.de>
10205
7a36edca 10206 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 10207
bf981c62 102082008-10-03 Felix Zielcke <fzielcke@z-51.de>
10209
10210 * util/update-grub_lib.in: Mention filename in warning message.
10211
6d994591 102122008-09-29 Felix Zielcke <fzielcke@z-51.de>
10213
10214 * NEWS: Update for rename of update-grub to grub-mkconfig.
10215
18ade780 102162008-09-29 Felix Zielcke <fzielcke@z-51.de>
10217
10218 * util/update-grub_lib.in: Copy to ...
10219 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 10220 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 10221 * util/update-grub.in: Rename to ...
10222 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
10223 option. Add `--output' option to allow users to specify the generated
10224 configuration file. Default to stdout.
10225 (update_grub_dir): Rename to ...
10226 (grub_mkconfig_dir): ... this.
10227 (grub_cfg): Default to an empty string.
10228 * conf/common.rmk (update-grub): Rename to ...
10229 (grub-mkconfig): ... this.
10230 (update-grub_lib): Copy to ...
10231 (grub-mkconfig_lib): ... this.
10232 (update-grub_SCRIPTS): Copy to ...
10233 (grub-mkconfig_SCRIPTS): ... this. Update all users.
10234 (update-grub_DATA): Rename to ...
10235 (grub-mkconfig_DATA): ... this.
10236
556ce6ac 102372008-09-28 Robert Millan <rmh@aybabtu.com>
10238
10239 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
10240 to `modified'. Add the real `created' field.
10241 (grub_iso9660_uuid): Use `modified' rather than `created' for
10242 constructing the UUID.
10243
102442008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 10245
10246 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
10247 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
10248
92274e85 102492008-09-28 Bean <bean123ch@gmail.com>
10250
10251 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
10252 Thanks to Christian Franke for finding this bug.
10253
add6f17a 102542008-09-25 Robert Millan <rmh@aybabtu.com>
10255
10256 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
10257 instances of grub_util_get_disk_name() (see previous commit).
10258
d2a367b8 102592008-09-25 Robert Millan <rmh@aybabtu.com>
10260
10261 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
10262 `util/i386/get_disk_name.c'.
10263 * conf/i386-efi.rmk: Likewise.
10264 * conf/x86_64-efi.rmk: Likewise.
10265 * conf/i386-coreboot.rmk: Likewise.
10266 * conf/i386-ieee1275.rmk: Likewise.
10267 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
10268 `util/ieee1275/get_disk_name.c'.
10269 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
10270 * util/ieee1275/get_disk_name.c: Remove file.
10271 * util/i386/get_disk_name.c: Remove file.
10272 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
10273 "hd%d" for device.map entries, rather than using
10274 grub_util_get_disk_name().
10275
81a06771 102762008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 10277
10278 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
10279 warning.
10280 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
10281
5a004279 102822008-09-24 Carles Pina i Estany <carles@pina.cat>
10283
10284 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
10285 Changed to 0x5100.
10286 (GRUB_TERM_PPAGE): Changed to 0x4900.
10287
397093d3 102882008-09-24 Robert Millan <rmh@aybabtu.com>
10289
10290 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
10291 macros (they were i386-pc specific).
10292 * include/grub/sparc64/ieee1275/console.h: Likewise.
10293 * include/grub/efi/console.h: Likewise.
10294
a91b6c7c 102952008-09-22 Bean <bean123ch@gmail.com>
10296
10297 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
10298 resident and in attribute list.
10299
10300 * include/grub/ntfs.h (BMP_LEN): Removed.
10301
c40fd116 103022008-09-22 Bean <bean123ch@gmail.com>
10303
81a06771 10304 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 10305 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
10306
10307 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
10308 error occurs, as grub_disk_open will call grub_disk_close, which will
10309 call p->close (scsi).
10310
81a06771 103112008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 10312
10313 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
10314 (AC_PREREQ): Bumped to 2.59.
10315 (AC_TRY_COMPILE): Replace obsolete macro with ...
10316 (AC_COMPILE_IFELSE): ... this.
10317 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
10318 (AC_LINK_IFELSE): ... this.
10319
5dc43410 103202008-09-21 Felix Zielcke <fzielcke@z-51.de>
10321
10322 * autogen.sh: Add a call to `gendistlist.sh'.
10323
9035dce4 103242008-09-19 Christian Franke <franke@computer.org>
10325
10326 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
10327 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
10328 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
10329 Export __enable_execute_stack() to modules.
10330 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
10331 New function.
10332
7fd75377 103332008-09-09 Felix Zielcke <fzielcke@z-51.de>
10334
040030b3 10335 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
10336 Sort the list.
10337
103382008-09-09 Felix Zielcke <fzielcke@z-51.de>
10339
10340 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 10341 #include <grub/util/hostdisk.h>.
10342
89d5ffcf 103432008-09-08 Robert Millan <rmh@aybabtu.com>
10344
10345 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
10346 segments when their filesz is zero (grub_file_read() interprets
81a06771 10347 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 10348 Use `lowest_segment' rather than 0 for calculating the current
10349 segment load address.
10350
40da438f 103512008-09-08 Robert Millan <rmh@aybabtu.com>
10352
10353 * util/hostdisk.c (open_device): Replace a grub_util_info() call
10354 with grub_dprintf("hostdisk", ...), as it was so verbose that it
10355 clobbered useful information.
10356
ddbf5556 103572008-09-08 Robert Millan <rmh@aybabtu.com>
10358
10359 * include/grub/util/biosdisk.h: Move to ...
10360 * include/grub/util/hostdisk.h: ... here. Update all users.
10361 * util/biosdisk.c: Move to ...
10362 * util/hostdisk.c: ... here. Update all users.
10363
783d0f48 103642008-09-07 Robert Millan <rmh@aybabtu.com>
10365
10366 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
10367 variables.
10368 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
10369 and length can be stored directly in the `mbi->mmap_addr' and
10370 `mbi->mmap_length' struct fields.
10371
548e2ea5 103722008-09-07 Robert Millan <rmh@aybabtu.com>
10373
10374 * conf/i386.rmk: New file. Provides declaration for building
10375 `cpuid.mod'.
10376 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
10377 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
10378 variables.
10379 Include `conf/i386.mk'.
10380 * conf/i386-efi.rmk: Likewise.
10381 * conf/x86_64-efi.rmk: Likewise.
10382 * conf/i386-coreboot.rmk: Likewise.
10383 * conf/i386-ieee1275.rmk: Likewise.
10384
0ea85a37 103852008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
10386
10387 Based on patch created by Colin D Bennett <colin@gibibit.com>.
10388 Adds optimization support for BGR based modes.
10389
10390 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
10391 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10393 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10394 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10395 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10396 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10397 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10398 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10399 (grub_video_i386_vbeblit_index_index): Likewise.
10400 (grub_video_i386_vbeblit_replace_directN): Added.
10401 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10402 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10403 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10404 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10405 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10406 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 10407 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 10408 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10409 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10410 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10411 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10412 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10413 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
10414
10415 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
10416 (grub_video_i386_vbefill_R8G8B8): Likewise.
10417 (grub_video_i386_vbefill_index): Likewise.
10418 (grub_video_i386_vbefill_direct32): Added.
10419 (grub_video_i386_vbefill_direct24): Likewise.
10420 (grub_video_i386_vbefill_direct16): Likewise.
10421 (grub_video_i386_vbefill_direct8): Likewise.
10422
81a06771 10423 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 10424 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
10425 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
10426 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
10427 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
10428 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 10429
0ea85a37 10430 * video/video.c (grub_video_get_blit_format): Updated to use new
10431 blit formats. Added handling for 16 bit color modes.
81a06771 10432
10433 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 10434 fillers.
10435 (common_blitter): Updated to use new blitters.
10436
10437 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
10438 Removed.
10439 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10440 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10441 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10442 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10443 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10444 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10445 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10446 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10447 (grub_video_i386_vbeblit_index_index): Likewise.
10448 (grub_video_i386_vbeblit_replace_directN): Added.
10449 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10450 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10451 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10452 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10453 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10454 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
10455 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
10456 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10457 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10458 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10459 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10460 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10461 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 10462
0ea85a37 10463 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
10464 (grub_video_i386_vbefill_R8G8B8): Likewise.
10465 (grub_video_i386_vbefill_index): Likewise.
10466 (grub_video_i386_vbefill_direct32): Added.
10467 (grub_video_i386_vbefill_direct24): Likewise.
10468 (grub_video_i386_vbefill_direct16): Likewise.
10469 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 10470
0ea85a37 10471 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
10472 types.
81a06771 10473
0ea85a37 10474 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
10475 types.
81a06771 10476
0ea85a37 10477 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
10478 blitter types.
81a06771 10479
0ea85a37 10480 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
10481 types.
10482
e8a83df6 104832008-09-06 Felix Zielcke <fzielcke@z-51.de>
10484
10485 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
10486 RAID level 1.
10487
6bcd8ee5 104882008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 10489
6bcd8ee5 10490 * fs/iso9660.c (grub_iso9660_date): New structure.
10491 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
10492 (grub_iso9660_uuid): New function.
c375ae58 10493
59261157 104942008-09-05 Bean <bean123ch@gmail.com>
10495
10496 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
10497
10498 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
10499 insensitive bit for names in Win32 and Win32 & DOS namespace.
10500
10501 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
10502
10503 * include/grub/types.h (LONG_MAX): Likewise.
10504
58b6645a 105052008-09-04 Felix Zielcke <fzielcke@z-51.de>
10506
4ee55921 10507 * util/getroot.c: Include <config.h>.
10508 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
10509 add support for /dev/md/N devices and handle LVM double dash escaping.
10510
105112008-09-04 Felix Zielcke <fzielcke@z-51.de>
10512
10513 * config.guess: Update to latest version from config git.
10514 * config.sub: Likewise.
58b6645a 10515
9124f65d 105162008-09-03 Robert Millan <rmh@aybabtu.com>
10517
10518 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
10519 `disk->total_sectors'.
10520
81a06771 105212008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 10522
10523 * include/grub/normal.h: Fixed incorrect comment for
10524 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
10525
81a06771 105262008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 10527
10528 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
10529 values with defines.
10530
10531 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
10532 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
10533 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
10534 (GRUB_VBE_MODEATTR_COLOR): Likewise.
10535 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
10536 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
10537 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
10538 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
10539 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
10540 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
10541 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
10542 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
10543 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
10544 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
10545 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
10546 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
10547 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
10548 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
10549 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
10550
93d5cbf8 105512008-08-31 Robert Millan <rmh@aybabtu.com>
10552
10553 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
10554 declaration.
10555 (grub_multiboot): Fix a few warnings.
10556
21751d50 105572008-08-31 Robert Millan <rmh@aybabtu.com>
10558
10559 * loader/i386/pc/multiboot.c: Update comment not to say that
10560 boot_device support is unimplemented.
10561
e27a75c5 105622008-08-31 Robert Millan <rmh@aybabtu.com>
10563
10564 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
10565 or memory map support are unimplemented.
10566
81a06771 105672008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 10568
10569 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
10570
81a06771 105712008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 10572
10573 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
10574 total video memory in 'vbeinfo' output; show color format details for
10575 each video mode.
10576
7c5d8d95 105772008-08-30 Pavel Roskin <proski@gnu.org>
10578
10579 * util/genmoddep.c: Remove for real this time.
10580 * DISTLIST: Remove util/genmoddep.c.
10581
4cebd25a 105822008-08-30 Robert Millan <rmh@aybabtu.com>
10583
10584 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
10585 as required by Multiboot spec (it was already 4-byte aligned, but
10586 only by chance).
10587
b497a269 105882008-08-29 Pavel Roskin <proski@gnu.org>
10589
e3925185 10590 * kern/powerpc/ieee1275/crt0.S: Rename to ...
10591 * kern/powerpc/ieee1275/startup.S: ... this.
10592 * conf/powerpc-ieee1275.rmk: Adjust for the above.
10593 * DISTLIST: Likewise.
10594
b497a269 10595 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
10596 grub/cpu/kernel.h. Add start label for consistency with other
10597 platforms. Add grub_prefix immediately after start. Add jump
10598 to the code after grub_prefix.
10599 * include/grub/powerpc/kernel.h: Provide valid values for
10600 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
10601
6e5a42fe 106022008-08-29 Bean <bean123ch@gmail.com>
10603
10604 * configure.ac: Change host_os to cygwin for mingw.
10605 (asprintf): New check for function.
10606
10607 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
10608 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
10609
10610 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 10611 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 10612 sync, sleep and grub_util_get_disk_size for mingw.
10613
10614 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
10615 to get size in mingw.
10616 (open_device): Use flag O_BINARY if it's defined.
10617 (find_root_device): Add dummy code for mingw.
10618
10619 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
10620 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
10621 (get_scsi_disk_name): Return 0 for mingw.
10622
10623 * util/hostfs.c: #include <grub/util/misc.h>.
10624 (grub_hostfs_open): Use "rb" flag to open file, use
10625 grub_util_get_disk_size to get disk size for mingw.
10626
10627 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
10628 (asprintf): New function if HAVE_ASPRINTF is not set.
10629 (sync): New function for mingw.
10630 (sleep): Likewise.
10631 (grub_util_get_disk_size): Likewise.
10632
ab3f2673 106332008-08-28 Pavel Roskin <proski@gnu.org>
10634
10635 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10636 kern/time.c.
10637
1c282483 106382008-08-28 Robert Millan <rmh@aybabtu.com>
10639
10640 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
10641
678e849c 106422008-08-28 Robert Millan <rmh@aybabtu.com>
10643
10644 Change find_grub_drive() syntax so it doesn't prevent it from
10645 detecting NULL names as errors.
10646
10647 * util/biosdisk.c (find_grub_drive): Move free slot search code
10648 from here ...
10649 (find_free_slot): ... to here.
10650 (read_device_map): Use find_free_slot() to search for free slots.
10651
965c75ca 106522008-08-27 Marco Gerards <marco@gnu.org>
10653
10654 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
10655 (scsi_mod_SOURCES): New variable.
10656 (scsi_mod_CFLAGS): Likewise
10657 (scsi_mod_LDFLAGS): Likewise.
10658
10659 * disk/scsi.c: New file.
10660
10661 * include/grub/scsi.h: Likewise.
10662
10663 * include/grub/scsicmd.h: Likewise.
10664
10665 * disk/ata.c: Include <grub/scsi.h>.
10666 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
10667 instead.
10668 (grub_ata_iterate): Skip ATAPI devices.
10669 (grub_ata_open): Only handle ATAPI devices.
10670 (struct grub_atapi_read): Removed.
10671 (grub_atapi_readsector): Likewise.
10672 (grub_ata_read): No longer handle ATAPI devices.
10673 (grub_ata_write): Likewise.
10674 (grub_atapi_iterate): New function.
10675 (grub_atapi_read): Likewise.
10676 (grub_atapi_write): Likewise.
10677 (grub_atapi_open): Likewise.
10678 (grub_atapi_close): Likewise.
10679 (grub_atapi_dev): New variable.
10680 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
10681 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
10682
10683 * include/grub/disk.h (enum grub_disk_dev_id): Add
10684 `GRUB_DISK_DEVICE_SCSI_ID'.
10685
c07ae501 106862008-08-26 Robert Millan <rmh@aybabtu.com>
10687
10688 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
10689 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
10690 descriptive.
10691
5ed20adc 106922008-08-23 Bean <bean123ch@gmail.com>
10693
10694 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
10695 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10696 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
10697 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
10698 dm_nv.mod.
10699 (raid5rec_mod_SOURCES): New macro.
10700 (raid5rec_mod_CFLAGS): Likewise.
10701 (raid5rec_mod_LDFLAGS): Likewise.
10702 (raid6rec_mod_SOURCES): Likewise.
10703 (raid6rec_mod_CFLAGS): Likewise.
10704 (raid6rec_mod_LDFLAGS): Likewise.
10705 (mdraid_mod_SOURCES): Likewise.
10706 (mdraid_mod_CFLAGS): Likewise.
10707 (mdraid_mod_LDFLAGS): Likewise.
10708 (dm_nv_mod_SOURCES): Likewise.
10709 (dm_nv_mod_CFLAGS): Likewise.
10710 (dm_nv_mod_LDFLAGS): Likewise.
10711
10712 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
10713 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10714 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10715
10716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
10717 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10718
10719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10720
10721 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10722
10723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10724
10725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10726
10727 * disk/raid5_recover.c: New file.
10728
10729 * disk/raid6_recover.c: Likewise.
10730
10731 * disk/mdraid_linux.c: Likewise.
10732
10733 * disk/dmraid_nvidia.c: Likewise.
10734
10735 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
10736 ULONG_MAX.
10737
10738 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
10739 calculate the size of raid device.
10740 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
10741 different layout of raid5.
10742 (grub_raid_scan_device): Remove code specific to mdraid.
10743 (grub_raid_list): New variable.
10744 (free_array): New function.
10745 (grub_raid_register): Likewise.
10746 (grub_raid_unregister): Likewise.
10747 (grub_raid_rescan): Likewise.
10748 (GRUB_MOD_INIT): Don't iterate device here.
10749 (GRUB_MOD_FINI): Use free_array to release resource.
10750
10751 * include/grub/raid.h: Remove macro and structure specific to mdraid.
10752 (grub_raid5_recover_func_t): New function variable type.
10753 (grub_raid6_recover_func_t): Likewise.
10754 (grub_raid5_recover_func): New variable.
10755 (grub_raid6_recover_func): Likewise.
10756 (grub_raid_register): New function.
10757 (grub_raid_unregister): Likewise.
10758 (grub_raid_rescan): Likewise.
10759 (grub_raid_block_xor): Likewise.
10760
10761 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
10762 (CMD_CRC): New macro.
10763 (part): Removed.
10764 (read_file): Handle device as well as file.
10765 (cmd_crc): New function.
10766 (fstest): Handle multiple disks.
10767 (options): Remove part, raw and long, add root and diskcount.
10768 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 10769 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 10770 add handling for the new options, support multiple disks.
10771
10772 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
10773
29c18915 107742008-08-23 Bean <bean123ch@gmail.com>
10775
10776 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
10777
10778 * genfslist.sh: Ignore kernel.mod.
10779
10780 * genpartmaplist.sh: Likewise.
10781
8415f261 107822008-08-23 Robert Millan <rmh@aybabtu.com>
10783
10784 * util/getroot.c (find_root_device): Skip anything that starts with
10785 a dot, not just directories. This avoids things like /dev/.tmp.md0.
10786
d5a7dc5b 107872008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 10788
d5a7dc5b 10789 * util/update-grub.in (GRUB_GFXMODE): Export variable.
10790 * util/grub.d/00_header.in: Allow the administrator to change default
10791 gfxmode via ${GRUB_GFXMODE}.
10792
380cfbb4 107932008-08-21 Felix Zielcke <fzielcke@z-51.de>
10794
10795 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
10796
c9baafe7 107972008-08-21 Robert Millan <rmh@aybabtu.com>
10798
10799 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
10800 loader.
10801 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
10802 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
10803
e290bef2 108042008-08-20 Carles Pina i Estany <carles@pina.cat>
10805
10806 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
10807 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
10808
f9dbfc96 108092008-08-19 Robert Millan <rmh@aybabtu.com>
10810
10811 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
10812 (struct grub_virtual_screen): Remove `cursor_color'.
10813 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
10814 initialization.
10815 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
10816
dd6bd6ab 108172008-08-18 Robert Millan <rmh@aybabtu.com>
10818
10819 Unify (identical) linux_normal.c files.
10820 * loader/i386/efi/linux_normal.c: Move from here ...
10821 * loader/linux_normal.c: ... to here. Update all users.
10822 * loader/i386/pc/linux_normal.c: Delete. Update all users.
10823 * loader/i386/ieee1275/linux_normal.c: Likewise.
10824
7f42f83e 108252008-08-18 Robert Millan <rmh@aybabtu.com>
10826
10827 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
10828 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
10829 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
10830 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
10831 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
10832 New macros.
10833 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
10834 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
10835 (GRUB_LINUX_CL_END_OFFSET): ... to here.
10836 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
10837 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
10838 (GRUB_EFI_CL_END_OFFSET): Rename to ...
10839 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
10840 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
10841 Initialize `params->video_cursor_x' and `params->video_cursor_y'
10842 portably using grub_getxy().
10843 Replace `-EFI' with `-bzImage' in boot message.
10844
38487ddb 108452008-08-17 Robert Millan <rmh@aybabtu.com>
10846
10847 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
10848
deceb3ec 108492008-08-17 Robert Millan <rmh@aybabtu.com>
10850
10851 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
10852
10853 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
10854 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
10855 (grub_machine_mmap_iterate): New function declaration.
10856 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
10857 structure.
10858 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
10859 macros.
10860
10861 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
10862 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
10863 Move e820 parsing from here ...
10864 * kern/i386/pc/mmap.c: New file.
10865 (grub_machine_mmap_iterate): ... to here.
10866
10867 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
10868 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
10869 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
10870 (grub_available_iterate): Redeclare to return `void', and redeclare
10871 its hook to use grub_uint64_t as addr and size parameters, and rename
10872 to ...
10873 (grub_machine_mmap_iterate): ... this. Update all users.
10874
10875 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
10876 to make it more readable. Rename to ...
10877 (grub_machine_mmap_iterate): ... this.
10878
10879 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
10880 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
10881 (grub_multiboot): Allocate an extra region after the payload, and fill
10882 it with a Multiboot memory map. Adjust a.out loader to calculate size
10883 with the extra space.
10884 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
10885 with the extra space.
10886
f8aa0f43 108872008-08-17 Carles Pina i Estany <carles@pina.cat>
10888
9807deb9 10889 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 10890
605f5bb6 108912008-08-17 Felix Zielcke <fzielcke@z-51.de>
10892
10893 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
10894 mdate-sh to the list `find' searches for.
10895 * DISTLIST: Regenerated.
10896
210db6c6 108972008-08-16 Felix Zielcke <fzielcke@z-51.de>
10898
10899 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
10900 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 10901 genmoddep.awk, gensymlist.sh.in.
10902 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 10903 * DISTLIST: Regenerated.
48cdbfd4 10904 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 10905
1082b929 109062008-08-16 Robert Millan <rmh@aybabtu.com>
10907
10908 * disk/raid.c (grub_raid_init): Handle/report errors set by
10909 grub_device_iterate().
10910 * disk/lvm.c (grub_lvm_init): Likewise.
10911
42ce5170 109122008-08-15 Bean <bean123ch@gmail.com>
10913
10914 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10915 and datehook.mod.
10916 (datetime_mod_SOURCES): New macro.
10917 (datetime_mod_CFLAGS): Likewise.
10918 (datetime_mod_LDFLAGS): Likewise.
10919 (date_mod_SOURCES): Likewise.
10920 (date_mod_CFLAGS): Likewise.
10921 (date_mod_LDFLAGS): Likewise.
10922 (datehook_mod_SOURCES): Likewise.
10923 (datehook_mod_CFLAGS): Likewise.
10924 (datehook_mod_LDFLAGS): Likewise.
10925
10926 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10927 and datehook.mod.
10928 (datetime_mod_SOURCES): New macro.
10929 (datetime_mod_CFLAGS): Likewise.
10930 (datetime_mod_LDFLAGS): Likewise.
10931 (date_mod_SOURCES): Likewise.
10932 (date_mod_CFLAGS): Likewise.
10933 (date_mod_LDFLAGS): Likewise.
10934 (datehook_mod_SOURCES): Likewise.
10935 (datehook_mod_CFLAGS): Likewise.
10936 (datehook_mod_LDFLAGS): Likewise.
10937
10938 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10939 and datehook.mod.
10940 (datetime_mod_SOURCES): New macro.
10941 (datetime_mod_CFLAGS): Likewise.
10942 (datetime_mod_LDFLAGS): Likewise.
10943 (date_mod_SOURCES): Likewise.
10944 (date_mod_CFLAGS): Likewise.
10945 (date_mod_LDFLAGS): Likewise.
10946 (datehook_mod_SOURCES): Likewise.
10947 (datehook_mod_CFLAGS): Likewise.
10948 (datehook_mod_LDFLAGS): Likewise.
10949
10950 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10951 and datehook.mod.
10952 (datetime_mod_SOURCES): New macro.
10953 (datetime_mod_CFLAGS): Likewise.
10954 (datetime_mod_LDFLAGS): Likewise.
10955 (date_mod_SOURCES): Likewise.
10956 (date_mod_CFLAGS): Likewise.
10957 (date_mod_LDFLAGS): Likewise.
10958 (datehook_mod_SOURCES): Likewise.
10959 (datehook_mod_CFLAGS): Likewise.
10960 (datehook_mod_LDFLAGS): Likewise.
10961
10962 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10963 and datehook.mod.
10964 (datetime_mod_SOURCES): New macro.
10965 (datetime_mod_CFLAGS): Likewise.
10966 (datetime_mod_LDFLAGS): Likewise.
10967 (date_mod_SOURCES): Likewise.
10968 (date_mod_CFLAGS): Likewise.
10969 (date_mod_LDFLAGS): Likewise.
10970 (datehook_mod_SOURCES): Likewise.
10971 (datehook_mod_CFLAGS): Likewise.
10972 (datehook_mod_LDFLAGS): Likewise.
10973
10974 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10975
10976 * commands/date.c: New file.
10977
10978 * hook/datehook.c: Likewise.
10979
10980 * include/grub/lib/datetime.h: Likewise.
10981
10982 * include/grub/i386/cmos.h: Likewise.
10983
10984 * lib/datetime.c: Likewise.
10985
10986 * lib/i386/datetime.c: Likewise.
10987
10988 * lib/efi/datetime.c: Likewise.
10989
0e9242da 109902008-08-14 Robert Millan <rmh@aybabtu.com>
10991
10992 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10993 (grub_mkelfimage_SOURCES): New variable.
10994 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10995
10996 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10997 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10998 * conf/powerpc-ieee1275.rmk: Likewise.
10999 * conf/i386-ieee1275.rmk: Likewise.
11000
11001 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
11002 * kern/i386/coreboot/init.c: Likewise.
11003
11004 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
11005 with `<grub/cpu/kernel.h>'.
11006 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
11007 to ...
11008 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
11009 * kern/i386/coreboot/startup.S: Likewise.
11010
11011 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
11012 (GRUB_MOD_GAP): Remove.
11013 * include/grub/powerpc/kernel.h: New file.
11014 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
11015 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11016 * include/grub/i386/kernel.h: New file.
11017 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
11018 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
11019 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11020
11021 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11022 `grub-mkelfimage'.
11023 Use --directory when invoking grub_mkimage.
11024
11025 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11026 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11027 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11028 and GRUB_KERNEL_CPU_PREFIX.
11029
b86408f8 110302008-08-14 Felix Zielcke <fzielcke@z-51.de>
11031
d5e619ca 11032 * include/grub/err.h (grub_err_printf): New function prototype.
11033 * util/misc.c (grub_err_printf): New function.
11034 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11035 grub_printf.
11036 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11037
7161f0e0 110382008-08-13 Robert Millan <rmh@aybabtu.com>
11039
11040 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11041
a1967522 110422008-08-13 Robert Millan <rmh@aybabtu.com>
11043
11044 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11045 boot entry.
11046
371458b5 110472008-08-12 Robert Millan <rmh@aybabtu.com>
11048
11049 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11050 of the relocation code from here ...
11051 (grub_multiboot): ... to here.
11052 (forward_relocator, backward_relocator): Move from here ...
11053 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11054 (grub_multiboot_backward_relocator): ... to here.
11055 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11056 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11057 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11058 (grub_multiboot_forward_relocator_end)
11059 (grub_multiboot_backward_relocator)
11060 (grub_multiboot_backward_relocator_end): New variables.
11061
05f9452b 110622008-08-12 Bean <bean123ch@gmail.com>
11063
11064 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11065
20024ab0 110662008-08-11 Robert Millan <rmh@aybabtu.com>
11067
11068 * kern/i386/linuxbios/startup.S: Move from here ...
11069 * kern/i386/coreboot/startup.S: ... to here.
11070
11071 * kern/i386/linuxbios/init.c: Move from here ...
11072 * kern/i386/coreboot/init.c: ... to here.
11073
11074 * kern/i386/linuxbios/table.c: Move from here ...
11075 * kern/i386/coreboot/mmap.c: ... to here.
11076
11077 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11078
e352e9cd 110792008-08-11 Robert Millan <rmh@aybabtu.com>
11080
11081 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11082 errors. Leave it to the upper layer to handle them.
11083
2d05bc6a 110842008-08-09 Christian Franke <franke@computer.org>
11085
11086 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11087 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11088 Install `grub.d/10_windows' only on Cygwin.
11089 * configure.ac: Add subst of `target_os'.
11090 Check `target_os' also before setting TARGET_OBJ2ELF.
11091 Add `--enable-grub-pe2elf'.
11092
042bd419 110932008-08-08 Robert Millan <rmh@aybabtu.com>
11094
11095 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11096 (grub_last_time): Change type to grub_uint64_t.
11097 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11098 (grub_disk_close): Likewise.
11099
11100 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11101 (run_menu): Migrate code from to using grub_get_time_ms().
11102
11103 * util/misc.c (grub_get_time_ms): New function.
11104
7f280db5 111052008-08-08 Marco Gerards <marco@gnu.org>
11106
11107 * disk/ata.c (grub_ata_regget): Change return type to
11108 `grub_uint8_t'.
11109 (grub_ata_regget2): Likewise.
11110 (grub_ata_wait_status): New function.
11111 (grub_ata_wait_busy): Removed function, updated all users to use
11112 `grub_ata_wait_status'.
11113 (grub_ata_wait_drq): Likewise.
11114 (grub_ata_cmd): New function.
11115 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
11116 error handling.
11117 (grub_ata_pio_write): Add error handling.
11118 (grub_atapi_identify): Likewise.
11119 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
11120 handling.
11121 (grub_ata_identify): Use `grub_ata_cmd' and improve error
11122 handling. Actually use the detected registers. Reorder the
11123 detection logic such that it is easier to read.
11124 (grub_ata_pciinit): Do not assign the same ID to each controller.
11125 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
11126 handling.
11127 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
11128
11129 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
11130
1fbc5e66 111312008-08-08 Marco Gerards <marco@gnu.org>
11132
11133 * NEWS: Update.
11134
819ce6c0 111352008-08-07 Bean <bean123ch@gmail.com>
11136
11137 * include/grub/x86_64/pci.h: New file.
11138
5c41d44d 111392008-08-07 Christian Franke <franke@computer.org>
11140
11141 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
11142 (TIMER2_GATE): Likewise.
11143 (grub_pit_wait): Add enable/disable of the timer2 gate
11144 bit of port 0x61. This fixes a possible infinite loop.
11145
5ebc275d 111462008-08-07 Bean <bean123ch@gmail.com>
11147
11148 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
11149 kern/i386/tsc.c and kern/i386/pit.c.
11150
11151 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
11152 x86_64 platform.
11153
11154 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
11155 <grub/i386/tsc.h>.
11156
11157 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
11158
e383b3d0 111592008-08-07 Bean <bean123ch@gmail.com>
11160
11161 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
11162
11163 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
11164
11165 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
11166 multiple inclusion. Add #include <grub/types.h>.
11167
1cbb58ac 111682008-08-06 Christian Franke <franke@computer.org>
11169
11170 * conf/common.rmk: Build and install `10_windows'.
11171 * util/grub.d/10_windows.in: New script.
11172
337f5a1e 111732008-08-06 Pavel Roskin <proski@gnu.org>
11174
11175 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
11176
057bc4ac 111772008-08-06 Robert Millan <rmh@aybabtu.com>
11178
11179 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
11180 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
11181
2b99f123 111822008-08-06 Bean <bean123ch@gmail.com>
11183
11184 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
11185 (grub_pxefs_fs_int): Remove dummy definition.
11186 (grub_pxefs_open): Use data->block_size to store the current block
11187 size setting.
11188 (grub_pxefs_read): Use block size stored in data->block_size. As the
11189 value of grub_pxe_blksize can be changed after the file is opened.
11190
9f0234cb 111912008-08-06 Bean <bean123ch@gmail.com>
11192
11193 * fs/i386/pc/pxe.c (curr_file): new variable.
11194 (grub_pxefs_open): Simply the handling of pxe file system. Don't
11195 require the dummy internal file system anymore.
11196 (grub_pxefs_read): Removed.
11197 (grub_pxefs_close): Likewise.
11198 (grub_pxefs_fs_int): Likewise.
11199 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
11200 connection when we switch file.
11201 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
11202
a55d42e0 112032008-08-06 Robert Millan <rmh@aybabtu.com>
11204
11205 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
11206 `halt.mod'.
11207 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
11208 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
11209
11210 * kern/i386/halt.c: New file.
11211 * kern/i386/reboot.c: Likewise.
11212 * include/grub/i386/reboot.h: Likewise.
11213 * include/grub/i386/halt.h: Likewise.
11214
11215 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
11216 Include `<grub/cpu/halt.h>'.
11217 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
11218 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
11219
11220 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
11221 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
11222 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
11223 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
11224 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
11225 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
11226 from here ...
11227 * include/grub/i386/at_keyboard.h: ... to here.
11228
24371d26 112292008-08-05 Robert Millan <rmh@aybabtu.com>
11230
11231 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
11232 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
11233 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
11234 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11235 `kern/generic/millisleep.c'.
11236
11237 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
11238 instead of grub_get_rtc().
11239 (grub_tsc_init): Initialize `tsc_boot_time'.
11240
11241 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
11242 (grub_machine_init): Use grub_tsc_init() rather than
11243 installing an RTC-based handler via grub_install_get_time_ms().
11244
11245 * kern/i386/pit.c: New file.
11246 * include/grub/i386/pit.h: Likewise.
11247
9e7007b3 112482008-08-05 Bean <bean123ch@gmail.com>
11249
11250 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
11251
11252 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
11253 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
11254 (pxe_mod_SOURCES): New macro.
11255 (pxe_mod_CFLAGS): Likewise.
11256 (pxe_mod_LDFLAGS): Likewise.
11257 (pxecmd_mod_SOURCES): Likewise.
11258 (pxecmd_mod_CFLAGS): Likewise.
11259 (pxecmd_mod_LDFLAGS): Likewise.
11260
11261 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
11262 (grub_pxe_call): Likewise.
11263
11264 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
11265
11266 * commands/i386/pc/pxecmd.c: New file.
11267
9f0234cb 11268 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 11269
11270 * include/grub/i386/pc/pxe.h: Likewise.
11271
6977d49f 112722008-08-05 Bean <bean123ch@gmail.com>
11273
11274 * util/console.c (grub_console_cur_color): New variable.
11275 (grub_console_standard_color): Likewise.
11276 (grub_console_normal_color): Likewise.
11277 (grub_console_highlight_color): Likewise.
11278 (color_map): Likewise.
11279 (use_color): Likewise.
11280 (NUM_COLORS): New macro.
11281 (grub_ncurses_setcolorstate): Handle color properly.
11282 (grub_ncurses_setcolor): Don't change color here, just remember the
11283 settings, color will be set in grub_ncurses_setcolorstate.
11284 (grub_ncurses_getcolor): New function.
11285 (grub_ncurses_init): Initialize color pairs.
11286 (grub_ncurses_term): New member grub_ncurses_getcolor.
11287
9c2ff3ee 112882008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 11289
9c2ff3ee 11290 High resolution timer support. Implemented for x86 CPUs using TSC.
11291 Extracted generic grub_millisleep() so it's linked in only as needed.
11292 This requires a Pentium compatible CPU; if the RDTSC instruction is
11293 not supported, then it falls back on the generic grub_get_time_ms()
11294 implementation that uses the machine's RTC.
11295
11296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
11297 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11298 `kern/generic/millisleep.c'.
11299
11300 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
11301 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
11302
11303 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
11304 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
11305
11306 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11307
11308 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11309 `kern/generic/millisleep.c'.
11310
11311 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11312
11313 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
11314
11315 * kern/generic/rtc_get_time_ms.c: New file.
11316
11317 * kern/generic/millisleep.c: New file.
337f5a1e 11318
9c2ff3ee 11319 * kern/misc.c: Don't include
11320 <kern/time.h> anymore.
11321 (grub_millisleep_generic): Removed.
11322
11323 * commands/sleep.c (grub_interruptible_millisleep): Uses
11324 grub_get_time_ms() instead of grub_get_rtc().
11325
11326 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
11327 function.
11328 (grub_cpu_is_cpuid_supported): New inline function.
11329 (grub_cpu_is_tsc_supported): New inline function.
11330 (grub_tsc_init): New function prototype.
11331 (grub_tsc_get_time_ms): New function prototype.
11332
11333 * kern/i386/tsc.c (grub_get_time_ms): New file.
11334
11335 * include/grub/time.h: Include <grub/types.h.
11336 (grub_millisleep_generic): Removed.
11337 (grub_get_time_ms): New prototype.
11338 (grub_install_get_time_ms): New prototype.
11339 (grub_rtc_get_time_ms): New prototype.
11340
11341 * kern/time.c (grub_get_time_ms): New function.
11342 (grub_install_get_time_ms): New function.
11343
11344 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
11345 <grub/time.h> anymore.
11346 (grub_millisleep): Removed.
11347 (grub_machine_init): Call grub_tsc_init.
11348
11349 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
11350 get_time_ms() implementation.
11351
11352 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
11353 (ieee1275_get_time_ms): New function.
11354 (grub_machine_init): Install get_time_ms() implementation.
11355
11356 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
11357 (grub_machine_init): Call grub_tsc_init().
11358 (grub_millisleep): Removed.
bf06a93f 11359
9c2ff3ee 11360 * kern/ieee1275/init.c (grub_millisleep): Removed.
11361 (grub_machine_init): Install ieee1275_get_time_ms()
11362 implementation.
11363 (ieee1275_get_time_ms): New function.
11364 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
11365 real work.
11366
9ec92aaf 113672008-08-05 Marco Gerards <marco@gnu.org>
11368
11369 * disk/ata.c: Include <grub/pci.h>.
11370 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
11371 (grub_ata_initialize): Rewritten.
11372 (grub_ata_device_initialize): New function.
11373
8d23f507 113742008-08-04 Pavel Roskin <proski@gnu.org>
11375
11376 * kern/main.c: Include grub/mm.h.
11377
5e15ee3d 113782008-08-04 Robert Millan <rmh@aybabtu.com>
11379
11380 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
11381 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
11382 corruption problem).
11383
a9053f8f 113842008-08-04 Robert Millan <rmh@aybabtu.com>
11385
11386 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
11387 warnings introduced in my last commit.
11388
dd19c7d7 113892008-08-03 Robert Millan <rmh@aybabtu.com>
11390
11391 Make PCI available on all i386 architectures.
11392
11393 * include/grub/i386/pc/pci.h: Move from here ...
11394 * include/grub/i386/pci.h: ... to here.
11395
11396 * include/grub/i386/pc/pci.h: Remove.
11397 * include/grub/i386/efi/pci.h: Remove.
11398 * include/grub/x86_64/efi/pci.h: Remove.
11399
11400 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
11401 `<grub/cpu/pci.h>'.
11402
11403 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
11404 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
11405 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
11406
11407 * conf/i386-ieee1275.rmk: Likewise.
11408
e14a6184 114092008-08-03 Robert Millan <rmh@aybabtu.com>
11410
11411 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
11412 (grub_console_setcursor): Make it possible to set cursor off.
11413
52768e37 114142008-08-03 Robert Millan <rmh@aybabtu.com>
11415
11416 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
11417 of modules instead of assuming which platform provides what.
11418 * util/update-grub.in: Likewise.
11419
2d52f57f 114202008-08-03 Robert Millan <rmh@aybabtu.com>
11421
11422 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
11423 instead of `grub_install_dos_part' to determine whether a drive needs
11424 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 11425 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 11426
2a5cd121 114272008-08-02 Robert Millan <rmh@aybabtu.com>
11428
11429 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
11430
93808428 114312008-08-02 Robert Millan <rmh@aybabtu.com>
11432
11433 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
11434 of informational grub_dprintf() calls.
11435
3bd0a12a 114362008-08-02 Robert Millan <rmh@aybabtu.com>
11437
11438 * disk/memdisk.c (memdisk_size): Don't initialize.
11439 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
11440
11441 * include/grub/i386/pc/kernel.h
11442 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
11443 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
11444 (grub_memdisk_image_size, grub_arch_memdisk_addr)
11445 (grub_arch_memdisk_size): Remove.
11446
11447 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
11448 field (was only used to transfer a constant). Add `type' field to
11449 support multiple module types.
11450 (grub_module_iterate): New function.
11451
11452 * kern/device.c (grub_device_open): Do not hide error messages
11453 when grub_disk_open() fails. Use grub_print_error() instead.
11454
11455 * kern/i386/pc/init.c (grub_arch_modules_addr)
11456 (grub_arch_memdisk_size): Remove functions.
11457 (grub_arch_modules_addr): Return the module address in high memory
11458 (now that it isn't copied anymore).
11459
11460 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
11461 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
11462 decompression routine (grub_total_module_size already includes that
11463 now). Don't copy modules back to low memory.
11464
11465 * kern/main.c: Include `<grub/mm.h>'.
11466 (grub_load_modules): Split out (and use) ...
11467 (grub_module_iterate): ... this function, which iterates through
11468 module objects and runs a hook.
11469 Comment out grub_mm_init_region() call, as it would cause non-ELF
11470 modules to be overwritten.
11471
11472 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
11473 the memdisk image in its own region, make it part of the module list.
11474 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
11475 (main): Parse --memdisk|-m option, and pass user-provided path as
11476 parameter to generate_image().
11477 (add_segments): Pass `memdisk_path' down to load_modules().
11478 (load_modules): Embed memdisk image in module section when requested.
11479 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
11480 `header.type' instead of `header.offset'.
11481
11482 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
11483 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
11484 (memdisk_mod_LDFLAGS): New variables.
11485 * conf/i386-coreboot.rmk: Likewise.
11486 * conf/i386-ieee1275.rmk: Likewise.
11487
a927cc73 114882008-08-02 Robert Millan <rmh@aybabtu.com>
11489
11490 * loader/i386/pc/multiboot.c (playground, forward_relocator)
11491 (backward_relocator): New variables. Used to allocate and relocate
11492 the payload, respectively.
11493 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 11494 address, install the appropriate relocator code in each bound of
a927cc73 11495 the payload, and set the entry point such that
11496 grub_multiboot_real_boot() will jump to one of them.
11497
11498 * kern/i386/loader.S (grub_multiboot_payload_size)
11499 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11500 (grub_multiboot_payload_entry_offset): New variables.
11501 (grub_multiboot_real_boot): Set cpu context to what the relocator
11502 expects, and jump to the relocator instead of the payload.
11503
11504 * include/grub/i386/loader.h (grub_multiboot_payload_size)
11505 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11506 (grub_multiboot_payload_entry_offset): Export.
11507
b15d8a0c 115082008-08-01 Bean <bean123ch@gmail.com>
11509
11510 * normal/menu_entry.c (editor_getline): Don't return the original
11511 string as result, as it will be released by lexer once it has done
11512 using it.
11513
cdfb3d22 115142008-08-01 Robert Millan <rmh@aybabtu.com>
11515
11516 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
11517 within menuentries, not before them.
11518 util/grub.d/10_hurd.in: Likewise.
11519
9175e93d 115202008-08-01 Bean <bean123ch@gmail.com>
11521
11522 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
11523 (bufio_mod_SOURCES): New macro.
11524 (bufio_mod_CFLAGS): Likewise.
11525 (bufio_mod_LDFLAGS): Likewise.
11526
11527 * include/grub/bufio.h: New file.
11528
11529 * io/bufio.c: Likewise.
11530
11531 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
11532 (grub_video_reader_png): Use grub_buffile_open to open file.
11533
11534 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
11535 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
11536
11537 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
11538 (grub_video_reader_tga): Use grub_buffile_open to open file.
11539
11540 * font/manager.c: Include <grub/bufio.h>.
11541 (add_font): Use grub_buffile_open to open file.
11542
3d8383e7 115432008-07-31 Robert Millan <rmh@aybabtu.com>
11544
11545 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
11546 ELF segments, use a macro for arbitrarily accessing any of them instead
11547 of preparing a pointer that allows access to one at a time.
11548 (grub_multiboot_load_elf64): Likewise.
11549
16e641b6 115502008-07-31 Bean <bean123ch@gmail.com>
11551
11552 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
11553 GRUB_KERNEL_MACHINE_DATA_END.
11554
59198b72 115552008-07-30 Robert Millan <rmh@aybabtu.com>
11556
11557 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
11558 Increase from 0x50 to 0x60.
11559 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
11560 use UUIDs to identify the root drive for them. If that's not
11561 possible, abort.
11562 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
11563 check, for cross-disk installs.
11564
ae88bca3 115652008-07-30 Robert Millan <rmh@aybabtu.com>
11566
11567 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
11568 is non-empty, use it to set the `prefix' environment variable instead
11569 of the usual approach.
11570 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
11571 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
11572 environment variable instead of dummy make_install_device().
11573
11574 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
11575 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 11576 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 11577
11578 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
11579 New variable reference.
11580 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
11581 New macro. Defines offset of `grub_prefix' within startup.S (relative
11582 to `start').
11583 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
11584 section within startup.S (relative to `start').
11585 * include/grub/i386/coreboot/kernel.h: Likewise.
11586
11587 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
11588 Overwrite grub_prefix with its contents, at the beginning of the
11589 first segment.
11590 (main): Understand -p|--prefix.
11591
14f41dd1 115922008-07-30 Robert Millan <rmh@aybabtu.com>
11593
11594 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
11595
4ca049a3 115962008-07-30 Robert Millan <rmh@aybabtu.com>
11597
11598 * term/i386/pc/vga_text.c (grub_console_cls): Use
11599 grub_console_gotoxy() to go back to beginning of the screen.
11600 Found by Patrick Georgi <patrick.georgi@coresystems.de>
11601
2921d337 116022008-07-29 Christian Franke <franke@computer.org>
11603
11604 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11605 Add conversion of emulated mount points on Cygwin.
11606
b609876d 116072008-07-29 Christian Franke <franke@computer.org>
11608
11609 * util/update-grub.in: Add a check for admin
11610 group on Cygwin.
11611 Remove old `grub.cfg.new' before creation.
11612 Add `-f' to `mv' to handle the different filesystem
11613 semantics of Windows.
11614
e93e4679 116152008-07-29 Bean <bean123ch@gmail.com>
11616
11617 * normal/main.c (get_line): Fix buffer overflow bug.
11618
41694fd0 116192008-07-28 Robert Millan <rmh@aybabtu.com>
11620
11621 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
11622 (struct grub_apple_header): New struct. Describes the layout of
11623 the partmap header.
11624 (apple_partition_map_iterate): Check the header magic as well as the
11625 partition magic (which was already being checked).
11626
cfd0b4e6 116272008-07-28 Pavel Roskin <proski@gnu.org>
11628
11629 * genmk.rb: Add a warning to the beginning of the output that
11630 it's a generated file and should not be edited.
11631
93cce016 116322008-07-28 Robert Millan <rmh@aybabtu.com>
11633
11634 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11635 with the same number are found, just use issue a warning with
11636 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 11637
cd1df915 116382008-07-27 Robert Millan <rmh@aybabtu.com>
11639
11640 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
11641 information.
11642
b70a8427 116432008-07-27 Bean <bean123ch@gmail.com>
11644
11645 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
11646 (grub_fat_find_dir): Ignore case when comparing filename.
11647
8f5e379f 116482008-07-27 Bean <bean123ch@gmail.com>
11649
11650 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
11651 smallino, as it's more descriptive, and i8count can be confused with
11652 the other field count.
11653 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
11654 inode type.
11655
a85cd5a0 116562008-07-27 Bean <bean123ch@gmail.com>
11657
11658 * commands/crc.c: New file.
11659
11660 * lib/crc.c: Likewise.
11661
11662 * include/grub/lib/crc.h: Likewise.
11663
11664 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
11665
11666 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
11667 (hexdump): Move this function to ...
11668
11669 * lib/hexdump.c: ... here.
11670
11671 * include/grub/hexdump.h: Renamed to ...
11672
11673 * include/grub/lib/hexdump.h: ... this.
11674
11675 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
11676
11677 * util/grub-editenv.c: Likewise.
11678
11679 * include/envblk.h: Renamed to ...
11680
11681 * include/lib/envblk.h: ... this.
11682
11683 * util/envblk.c: Renamed to ...
11684
11685 * lib/envblk.c: ... this.
11686
11687 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
11688 lib/hexdump.c.
11689 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
11690 (pkglib_MODULES): Add crc.mod.
11691 (hexdump_mod_SOURCES): Add lib/hexdump.c.
11692 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
11693 (crc_mod_SOURCES): New macro.
11694 (crc_mod_CFLAGS): Likewise.
11695 (crc_mod_LDFLAGS): Likewise.
11696
11697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
11698
11699 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11700
11701 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11702
11703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11704
11705 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11706
c298def0 117072008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 11708
11709 * commands/help.c: Include <grub/term.h>.
11710 (TERM_WIDTH): Removed. Updated all users.
11711
cc349fb3 117122008-07-27 Pavel Roskin <proski@gnu.org>
11713
11714 * util/getroot.c (find_root_device): Rephrase a comment to avoid
11715 spurious warnings about a comment within a comment.
11716
9051607e 117172008-07-25 Robert Millan <rmh@aybabtu.com>
11718
11719 * util/getroot.c (find_root_device): Skip devices that match
11720 /dev/dm-[0-9]. This lets the real device be found for any type of
11721 abstraction (LVM, EVMS, RAID..).
11722 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
11723 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
11724 device is found first, find_root_device() will now skip it.
11725
01453bfc 117262008-07-24 Pavel Roskin <proski@gnu.org>
11727
11728 * include/grub/types.h: Use __builtin_bswap32() and
11729 __builtin_bswap64() with gcc 4.3 and newer.
11730
6af9849f 117312008-07-24 Christian Franke <franke@computer.org>
11732
3a0fa256 11733 * util/i386/pc/grub-install.in: If `--debug' is specified,
11734 pass `--verbose' to grub-setup.
11735 Abort script if make_system_path_relative_to_its_root() fails.
11736
7810e747 117372008-07-24 Bean <bean123ch@gmail.com>
11738
11739 * configure.ac: Fixed a bug caused by the previous cygwin patch,
11740 variable `target_platform' should be `platform'.
11741
42290e17 117422008-07-24 Bean <bean123ch@gmail.com>
11743
51cc5193 11744 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 11745 (grub_png_init_fixed_block): New function.
11746 (grub_png_decode_image_data): Handle fixed huffman code compression.
11747
2a8a80e4 117482008-07-24 Bean <bean123ch@gmail.com>
11749
11750 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
11751 (grub_pe2elf_SOURCES): New macro.
11752 (CLEANFILES): Add grub-pe2elf.
11753
11754 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
11755 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
11756 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
11757 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
11758 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
11759 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
11760 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
11761 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
11762 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
11763 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
11764 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
11765 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
11766 (GRUB_PE32_DT_FUNCTION): Likewise.
11767 (GRUB_PE32_REL_I386_DIR32): Likewise.
11768 (GRUB_PE32_REL_I386_REL32): Likewise.
11769 (grub_pe32_symbol): New structure.
11770 (grub_pe32_reloc): Likewise.
11771
11772 * util/grub-pe2elf.c: New file.
11773
11774 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
11775 start symbol in non pc platform.
11776
11777 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
11778
11779 The following patches are from Christian Franke.
11780
11781 * include/grub/dl.h: Remove .previous, gas supports this only
11782 for ELF format.
11783
11784 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
11785 Remove .type, gas supports this only for ELF format.
11786
11787 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
11788 nullbytes in symbol table. This fixes an infinite loop if table is
11789 zero filled.
11790
11791 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
11792 TARGET_IMG_LDFLAGS and EXEEXT.
11793
11794 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
11795 TARGET_IMG_LDFLAGS_AC.
11796 (grub_CHECK_STACK_ARG_PROBE): New function.
11797
11798 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
11799
11800 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
11801
11802 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
11803 to set TARGET_IMG_LD* accordingly.
11804 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
11805 Add call to grub_CHECK_STACK_ARG_PROBE.
11806 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
11807
11808 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
11809
11810 * genmk.rb: Add EXEEXT to CLEANFILES.
11811
12ccdb75 118122008-07-23 Robert Millan <rmh@aybabtu.com>
11813
11814 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
11815 define the codes for arrows and lines used for the menu).
11816 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
11817 as well.
11818
11819 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
11820 fonts, because the latter are too slow.
11821
18eeaf04 118222008-07-21 Bean <bean123ch@gmail.com>
11823
11824 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
11825 a20. Run keyboard test last, as it will cause macbook to halt.
11826
b095e2ad 118272008-07-18 Pavel Roskin <proski@gnu.org>
11828
11829 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
11830 load foreign architecture modules correctly anyway. Keep
11831 support for loading host architecture modules, whether we
11832 compile them or not.
11833
737feb35 118342008-07-17 Pavel Roskin <proski@gnu.org>
11835
3f4ce737 11836 * configure.ac: Use -m32 or -m64 regardless of whether we had to
11837 change target_cpu. The compiler default can mismatch target_cpu
11838 in any case.
11839
4ad2d049 11840 * disk/efi/efidisk.c: Fix format warnings on x86_64.
11841 * kern/efi/efi.c: Likewise.
11842
f6130a12 11843 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
11844 target compiler is functional.
11845 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
11846 are set up.
11847
58393a2d 11848 * configure.ac: Default to efi platform for x86_64-apple. Allow
11849 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
11850 adjustments from the rest, only do them if target is not
11851 explicitly given. Merge other adjustments with the final sanity
11852 check. Remove an extraneous check for supported CPU. Be
11853 specific which CPU and which platform is not supported.
11854
737feb35 11855 * configure.ac: Default to pc platform for x86_64.
11856
546f966a 118572008-07-17 Robert Millan <rmh@aybabtu.com>
11858
11859 Partial LinuxBIOS -> Coreboot rename.
11860
11861 * conf/i386-linuxbios.rmk: Renamed to ...
11862 * conf/i386-coreboot.rmk: ... this.
11863 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
11864 * configure.ac: Accept "coreboot" as input platform (but maintain
11865 compatibility with "linuxbios").
11866 * include/grub/i386/linuxbios: Renamed to ...
11867 * include/grub/i386/coreboot: ... this.
11868
20011694 118692008-07-17 Bean <bean123ch@gmail.com>
11870
11871 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 11872 (appleldr_mod_SOURCE): New variable.
20011694 11873 (appleldr_mod_CFLAGS): Likewise.
11874 (appleldr_mod_LDFLAGS): Likewise.
11875 (pci_mod_SOURCES): Likewise.
11876 (pci_mod_CFLAGS): Likewise.
11877 (pci_mod_LDFLAGS): Likewise.
11878 (lspci_mod_SOURCES): Likewise.
11879 (lspci_mod_CFLAGS): Likewise.
11880 (lspci_mod_LDFLAGS): Likewise.
11881
11882 * conf/x86_64-efi.rmk: New file.
11883
11884 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
11885 macro.
11886 (grub_efidisk_write): Likewise.
11887
11888 * include/efi/api.h (efi_call_0): New macro.
11889 (efi_call_1): Likewise.
11890 (efi_call_2): Likewise.
11891 (efi_call_3): Likewise.
11892 (efi_call_4): Likewise.
11893 (efi_call_5): Likewise.
11894 (efi_call_6): Likewise.
11895
11896 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
11897 grub_rescue_cmd_chainloader.
11898
11899 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
11900 (grub_pe32_optional_header): Change some fields based on i386 or
11901 x86_64 platform.
11902 (GRUB_PE32_PE32_MAGIC): Likewise.
11903
11904 * include/grub/efi/uga_draw.h: New file.
11905
11906 * include/grub/elf.h (STN_ABS): New constant.
11907 (R_X86_64_NONE): Relocation constant for x86_64.
11908 (R_X86_64_64): Likewise.
11909 (R_X86_64_PC32): Likewise.
11910 (R_X86_64_GOT32): Likewise.
11911 (R_X86_64_PLT32): Likewise.
11912 (R_X86_64_COPY): Likewise.
11913 (R_X86_64_GLOB_DAT): Likewise.
11914 (R_X86_64_JUMP_SLOT): Likewise.
11915 (R_X86_64_RELATIVE): Likewise.
11916 (R_X86_64_GOTPCREL): Likewise.
11917 (R_X86_64_32): Likewise.
11918 (R_X86_64_32S): Likewise.
11919 (R_X86_64_16): Likewise.
11920 (R_X86_64_PC16): Likewise.
11921 (R_X86_64_8): Likewise.
11922 (R_X86_64_PC8): Likewise.
11923
11924 * include/grub/i386/efi/pci.h: New file.
11925
11926 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
11927 Change it value based on platform.
11928 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
11929 (GRUB_E820_RAM): Likewise.
11930 (GRUB_E820_RESERVED): Likewise.
11931 (GRUB_E820_ACPI): Likewise.
11932 (GRUB_E820_NVS): Likewise.
11933 (GRUB_E820_EXEC_CODE): Likewise.
11934 (GRUB_E820_MAX_ENTRY): Likewise.
11935 (grub_e820_mmap): New structure.
11936 (linux_kernel_header): Change the efi field according to different
11937 kernel version, also field from linux_kernel_header.
11938
11939 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
11940
11941 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11942 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11943 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11944 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11945 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11946 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11947 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11948 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11949 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11950 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11951
11952 * include/grub/x86_64/efi/kernel.h: New file.
11953
11954 * include/grub/x86_64/efi/loader.h: Likewise.
11955
11956 * include/grub/x86_64/efi/machine.h: Likewise.
11957
11958 * include/grub/x86_64/efi/pci.h: Likewise.
11959
11960 * include/grub/x86_64/efi/time.h: Likewise.
11961
11962 * include/grub/x86_64/linux.h: Likewise.
11963
11964 * include/grub/x86_64/setjmp.h: Likewise.
11965
11966 * include/grub/x86_64/time.h: Likewise.
11967
11968 * include/grub/x86_64/types.h: Likewise.
11969
11970 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11971 GRUB_TARGET_SIZEOF_VOID_P.
11972
11973 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11974 (grub_efi_locate_handle): Likewise.
11975 (grub_efi_open_protocol): Likewise.
11976 (grub_efi_set_text_mode): Likewise.
11977 (grub_efi_stall): Likewise.
11978 (grub_exit): Likewise.
11979 (grub_reboot): Likewise.
11980 (grub_halt): Likewise.
11981 (grub_efi_exit_boot_services): Likewise.
11982 (grub_get_rtc): Likewise.
11983
11984 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11985 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11986 (grub_efi_allocate_pages): Wrap efi calls.
11987 (grub_efi_free_pages): Wrap efi calls.
11988 (grub_efi_get_memory_map): Wrap efi calls.
11989
11990 * kern/x86_64/dl.c: New file.
11991
11992 * kern/x86_64/efi/callwrap.S: Likewise.
11993
11994 * kern/x86_64/efi/startup.S: Likewise.
11995
11996 * loader/efi/appleloader.c: Likewise.
11997
11998 * loader/efi/chainloader.c (cmdline): New variable.
11999 (grub_chainloader_unload): Wrap efi calls.
12000 (grub_chainloader_boot): Likewise.
12001 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
12002 command line.
12003
12004 * loader/efi/chainloader_normal.c (chainloader_command):
12005 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
12006 command line.
12007
12008 * loader/i386/efi/linux.c (allocate_pages): Change allocation
12009 method.
12010 (grub_e820_add_region): New function.
12011 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
12012 booting.
12013 (grub_find_video_card): New function.
12014 (grub_linux_setup_video): New function.
12015 (grub_rescue_cmd_linux): Probe for video information.
12016
12017 * normal/x86_64/setjmp.S: New file.
12018
12019 * term/efi/console.c (map_char): New function.
12020 (grub_console_putchar): Map unicode char.
12021 (grub_console_checkkey): Wrap efi calls.
12022 (grub_console_getkey): Likewise.
12023 (grub_console_getwh): Likewise.
12024 (grub_console_gotoxy): Likewise.
12025 (grub_console_cls): Likewise.
12026 (grub_console_setcolorstate): Likewise.
12027 (grub_console_setcursor): Likewise.
12028
12029 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12030
59652a20 120312008-07-16 Pavel Roskin <proski@gnu.org>
12032
ef294055 12033 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12034 format strings.
12035
59652a20 12036 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12037 pointer, not an integer. This fixes a warning and prevents
12038 precision loss on 64-bit systems.
12039 (relocate_addresses): Remove unneeded cast.
12040
afc3b5d7 120412008-07-15 Pavel Roskin <proski@gnu.org>
12042
506b2b3e 12043 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12044
62ead89c 12045 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12046
c4cd51d7 12047 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12048 Fix comparison between signed and unsigned.
12049
0d3d8f28 12050 * include/grub/i386/ieee1275/console.h: Declare
12051 grub_console_init() and grub_console_fini().
12052
8804b286 12053 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12054 It's empty and unused.
12055
ee01cf35 12056 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12057 beginning to avoid warnings with some compilers.
12058
afc3b5d7 12059 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12060 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12061
e4e8eaa5 120622008-07-14 Pavel Roskin <proski@gnu.org>
12063
407aceb4 12064 * kern/env.c (grub_register_variable_hook): Don't copy empty
12065 string, it leaks memory. Pass "" to grub_env_set(), it should
12066 handle constant strings.
12067
e4e8eaa5 12068 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12069 * commands/cmp.c (grub_cmd_cmp): Likewise.
12070 * kern/dl.c (grub_dl_flush_cache): Likewise.
12071 (grub_dl_load_core): Likewise.
12072 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12073 (grub_elf64_load_phdrs): Likewise.
12074
d4e2dad3 120752008-07-13 Pavel Roskin <proski@gnu.org>
12076
12077 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12078 between signed and unsigned.
12079 (LzmaEnc_Finish): Fix warning about an unused parameter.
12080
aa24b516 120812008-07-13 Bean <bean123ch@gmail.com>
12082
12083 * Makefile.in (enable_lzo): New rule.
12084
12085 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12086
12087 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12088
12089 * boot/i386/pc/lnxboot.S: #include <config.h>.
12090
12091 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12092 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12093
12094 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12095 compression algorithm according to configure macro.
12096
12097 * kern/i386/pc/startup.S (codestart): Likewise.
12098
12099 * kern/i386/pc/lzma_decode.S: New file.
12100
12101 * include/grub/lib/LzFind.h: Likewise.
12102
12103 * include/grub/lib/LzHash.h: Likewise.
12104
12105 * include/grub/lib/LzmaDec.h: Likewise.
12106
12107 * include/grub/lib/LzmaEnc.h: Likewise.
12108
12109 * include/grub/lib/LzmaTypes.h: Likewise.
12110
12111 * lib/LzFind.c: Likewise.
12112
12113 * lib/LzmaDec.c: Likewise.
12114
12115 * lib/LzmaEnc.c: Likewise.
12116
4ae821ac 121172008-07-13 Bean <bean123ch@gmail.com>
12118
12119 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
12120 (grub_ext4_extent_header): New structure.
12121 (grub_ext4_extent): Likewise.
12122 (grub_ext4_extent_idx): Likewise.
12123 (grub_ext4_find_leaf): New function.
12124 (grub_ext2_read_block): Handle extents.
12125
9a745147 121262008-07-12 Robert Millan <rmh@aybabtu.com>
12127
12128 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
12129
d49a4cf6 121302008-07-11 Robert Millan <rmh@aybabtu.com>
12131
12132 * util/grub.d/40_custom.in: New file. Example on how to add custom
12133 entries to /etc/grub.d.
12134 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
12135 40_custom (implicitly, by merging all the grub.d rules).
12136
947414b4 121372008-07-11 Pavel Roskin <proski@gnu.org>
12138
0059cf6f 12139 * commands/read.c (grub_getline): Fix invalid memory access.
12140 Don't add newline to the variable value.
12141
947414b4 12142 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
12143 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
12144 (serial_hw_get_port): Check validity of the port number.
12145 (grub_cmd_serial): Check return value of serial_hw_get_port().
12146
62a02d00 121472008-07-07 Pavel Roskin <proski@gnu.org>
12148
12149 * boot/i386/pc/diskboot.S (notification_string): Replace
12150 "Loading kernel" with just "loading". This is shorter, less
12151 confusing and saves a few bytes for possible future changes.
12152
3e5581b0 121532008-07-05 Pavel Roskin <proski@gnu.org>
12154
ea387a48 12155 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
12156 size for ATAPI devices, they are undefined. Output sector
12157 number in decimal form.
12158
3e5581b0 12159 * disk/ata.c: Use named constants for status bits.
12160
fdecb8fd 121612008-07-04 Pavel Roskin <proski@gnu.org>
12162
bcd35b90 12163 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
12164 grub_addr_t before casting it to the void pointer to fix a
12165 warning. Non-addressable regions are discarded earlier.
12166 (grub_arch_modules_addr): Cast _end to grub_addr_t.
12167 * kern/i386/linuxbios/table.c: Include grub/misc.h.
12168 (check_signature): Don't shadow table_header.
12169 (grub_linuxbios_table_iterate): Cast numeric constants to
12170 grub_linuxbios_table_header_t.
12171 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
12172 grub_stop().
12173
af58ab3d 12174 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
12175 prevent warnings.
12176
1759aa57 12177 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
12178 pointer, which can cause warnings. Support 64-bit addresses.
12179
fdecb8fd 12180 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
12181 of sizeof(long). This fixes PowerPC image generation on x86_64.
12182
8516d2a8 121832008-07-04 Robert Millan <rmh@aybabtu.com>
12184
12185 This fixes a performance issue when pc & gpt partmap iterators
12186 didn't abort iteration even after our hook found what it was
fe987087 12187 looking for (often causing expensive probes of non-existent drives).
8516d2a8 12188
12189 Some callers relied on previous buggy behaviour, since they would
34c44600 12190 raise an error when their own hooks caused early abortion of its
8516d2a8 12191 iteration.
12192
12193 * kern/device.c (grub_device_open): Improve error message.
12194 * disk/lvm.c (grub_lvm_open): Likewise.
12195 * disk/raid.c (grub_raid_open): Likewise.
12196
12197 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
12198 when hook requests it, independently of grub_errno.
12199 (pc_partition_map_probe): Do not fail when find_func() caused
12200 early abortion of pc_partition_map_iterate().
12201
12202 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
12203 when hook requests it, independently of grub_errno.
12204 (gpt_partition_map_probe): Do not fail when find_func() caused
12205 early abortion of gpt_partition_map_iterate().
12206
12207 * kern/partition.c (grub_partition_iterate): Abort parent iteration
12208 when hook requests it, independently of grub_errno. Do not fail when
12209 part_map_iterate_hook() caused early abortion of p->iterate().
12210
12211 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
12212 when grub_partition_iterate() returned with non-zero.
12213
277d0de9 122142008-07-03 Pavel Roskin <proski@gnu.org>
12215
12216 * disk/ata.c (grub_ata_pio_write): Check status before writing,
12217 like we do in grub_ata_pio_read().
12218 (grub_ata_readwrite): Always write individual sectors. Fix the
12219 sector count for the remainder.
12220 (grub_ata_write): Enable writing to ATA devices. Correctly
12221 report error for ATAPI devices.
12222
d4c9b428 122232008-07-02 Pavel Roskin <proski@gnu.org>
12224
e43fc690 12225 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
12226 warning.
12227
f707af42 12228 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
12229 for every read sector, we already increment it for the whole
12230 batch. This fixes reading more than 256 sectors at once.
12231
11e16b15 12232 * util/grub-editenv.c (cmd_info): Cast argument to long
12233 explicitly. ptrdiff_t reduces to int on i386.
12234
cbabfdd4 12235 * util/grub-editenv.c (main): Be specific which parameter is
12236 missing.
12237
b8fbce0a 12238 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
12239 (memdisk): Make memdisk_orig_addr a pointer.
12240
c9c8e606 12241 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
12242 for file offsets, use grub_off_t instead. Fix printf format
12243 warnings.
12244
ca62e598 12245 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
12246 there. Real unexpected warnings should not drown in the noise
12247 about known problems.
12248
ce8d1766 12249 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
12250 grub_disk_addr_t for memory addresses.
12251
00c7a56a 12252 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
12253 explicitly to fix a warning.
12254
08d3ef09 12255 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
12256
cb71ba20 12257 * Makefile.in (MODULE_LDFLAGS): New variable.
12258 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
12259 the linker accepts --build-id=none.
12260 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
12261 MODULE_LDFLAGS.
12262 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
12263
d4c9b428 12264 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
12265 those in Linux XFS code. Provide a way to access 64-bit parent
12266 inode.
12267 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
12268 the end of struct grub_xfs_dir_header.
12269
d4156eee 122702008-07-02 Bean <bean123ch@gmail.com>
12271
12272 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
12273 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12274 and GRUB_IEEE1275_FLAG_NO_ANSI.
12275
12276 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
12277 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12278 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
12279
12280 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
12281 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
12282
12283 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
12284 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
12285
12286 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
12287 esc sequence on non ANSI terminal.
12288 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
12289
12290 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
12291 beginning of file.
12292
2270f77b 122932008-07-02 Bean <bean123ch@gmail.com>
12294
12295 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
12296 (grub_editenv_SOURCES): New variable.
12297 (pkglib_MODULES): Add loadenv.mod.
12298 (loadenv_mod_SOURCES): New variable.
12299 (loadenv_mod_CFLAGS): Likewise.
12300 (loadenv_mod_LDFLAGS): Likewise.
12301
12302 * include/grub/envblk.h: New file.
12303
12304 * util/envblk.c: New file.
12305
12306 * util/grub-editenv.c: New file.
12307
12308 * commands/loadenv.c: New file.
12309
0e9e51ec 123102008-07-01 Pavel Roskin <proski@gnu.org>
12311
d89b7634 12312 * include/multiboot2.h (struct multiboot_tag_module): Use char,
12313 not unsigned char. This fixes warnings and is consistent with
12314 other tags.
12315
bf1835b1 12316 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
12317
8222a04b 12318 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
12319
6a42d99d 12320 * term/tparm.c (analyze): Always set *popcount.
12321
10b159d1 12322 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
12323 cast to fix a warning.
12324
b8789f6c 12325 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
12326 cast to suppress a warning.
12327
29d7e38a 12328 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
12329 grub_fshelp_read_file() expects.
12330
f341f669 12331 * fs/fat.c: Fix UUID calculation on big-endian systems. We
12332 write uuid as a 32-bit value in CPU byte order, so declare and
12333 use it as such.
12334
0e9e51ec 12335 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
12336 long if the format specifier expects it.
12337 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
12338 * partmap/pc.c (pc_partition_map_iterate): Likewise.
12339 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
12340 long to fix a warning.
12341 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
12342 grub_dprintf() arguments to fix warnings.
12343
3aefa857 123442008-06-30 Pavel Roskin <proski@gnu.org>
12345
56c7668b 12346 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
12347 install_bsd_part immediately before core.img is embedded or
12348 modified on disk. This fixes core.img verification if core.img
12349 cannot be embedded.
12350
3aefa857 12351 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
12352 core_path to calculate the blocklist.
12353 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
12354
5444088d 123552008-06-29 Robert Millan <rmh@aybabtu.com>
12356
12357 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
12358 block to disk block.
12359 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
12360 Patch from Niels Böhm <bitbucket@arcor.de>
12361
674835c8 123622008-06-29 Robert Millan <rmh@aybabtu.com>
12363
12364 * util/update-grub_lib.in (font_path): Search for fonts in
12365 /boot/grub first, which is more likely to be readable (we aren't
12366 deciding where fonts live, just looking for them).
12367
f527dbc8 123682008-06-26 Pavel Roskin <proski@gnu.org>
12369
6c2d8df6 12370 * util/biosdisk.c (read_device_map): Don't leave dead map
12371 entries for devices failing stat() check.
12372
f527dbc8 12373 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
12374 core_path_dev for the core.img path on the target device.
12375
aebe3d13 123762008-06-26 Robert Millan <rmh@aybabtu.com>
12377
12378 * disk/fs_uuid.c: New file.
12379 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
12380 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
12381 (fs_uuid_mod_LDFLAGS): New variables.
12382 * include/grub/disk.h (grub_disk_dev_id): Add
12383 `GRUB_DISK_DEVICE_UUID_ID'.
12384 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
12385 implement iterate().
12386
37aaf354 123872008-06-26 Robert Millan <rmh@aybabtu.com>
12388
12389 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
12390 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
12391 Linux image includes no initrd.
12392
25ff262a 123932008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
12394
12395 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
12396 call to resolve the core image location that effectively appended the
12397 name twice.
12398
76a2bd44 123992008-06-21 Robert Millan <rmh@aybabtu.com>
12400
12401 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
12402 call from here ...
12403
12404 * util/grub.d/10_hurd.in: ... to here ...
12405 * util/grub.d/10_linux.in: ... and here.
12406
650e1c79 124072008-06-19 Robert Millan <rmh@aybabtu.com>
12408
fe987087 12409 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 12410 after it has been set by grub_machine_set_prefix().
12411
6ce63911 124122008-06-19 Robert Millan <rmh@aybabtu.com>
12413
12414 * commands/search.c (search_label, search_fs_uuid, search_file): Print
12415 search result when not saving to variable, not the other way around.
12416 When saving to variable, abort iteration as soon as a match is found.
12417
73940cec 124182008-06-19 Robert Millan <rmh@aybabtu.com>
12419
12420 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
12421 check for partition that provides /boot/grub. Its logic is flawed,
12422 as it prevents prepare_grub_to_access_device() from being called
12423 multiple times.
12424
3c62a39d 124252008-06-19 Robert Millan <rmh@aybabtu.com>
12426
12427 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
12428 "insmod" command directly when abstraction modules are needed,
fe987087 12429 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 12430 since it had already been processed).
12431
47395a42 124322008-06-19 Pavel Roskin <proski@gnu.org>
12433
12434 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
12435 changed. This is needed in case GRUB_LIBDIR changes.
12436 * conf/i386-ieee1275.rmk: Likewise.
12437 * conf/i386-linuxbios.rmk: Likewise.
12438 * conf/i386-pc.rmk: Likewise.
12439 * conf/powerpc-ieee1275.rmk: Likewise.
12440
a145ac2d 124412008-06-18 Pavel Roskin <proski@gnu.org>
12442
12443 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
12444 kernel_elf_symlist.c to symlist.c for consistency with other
12445 architectures. Update all users.
12446 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12447
7847c51e 124482008-06-18 Robert Millan <rmh@aybabtu.com>
12449
12450 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
12451 it in prefix.
12452
12453 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
12454 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
12455 a RAID device, run setup() for all members independently on whether
12456 LVM abstraction is being used.
12457 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
12458 If grub-mkimage has set `*install_dos_part == -2', don't override this
12459 value.
12460 Perform *install_dos_part adjustments independently on whether
12461 we're embedding or not.
12462 Clarify error message when image is too big for embedding.
12463 Remove duplicate *install_dos_part stanza.
12464
b23e5644 124652008-06-17 Robert Millan <rmh@aybabtu.com>
12466
12467 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
12468 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
12469 variables.
12470 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
12471 values in grub_ofconsole_normal_color and
12472 grub_ofconsole_highlight_color (they're not directly related to
12473 background and foreground).
12474 (grub_ofconsole_setcolorstate): Extract background and foreground
12475 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
12476
0aac2f79 124772008-06-17 Robert Millan <rmh@aybabtu.com>
12478
12479 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
12480 /boot/grub for the check in last commit, not /boot (they could be
12481 different partitions).
12482
3cca7ef3 124832008-06-16 Robert Millan <rmh@aybabtu.com>
12484
12485 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
12486 asked to setup access for the same partition that provides /boot,
12487 don't bother using UUIDs since our root already has the value we
12488 want.
12489
347396d8 124902008-06-16 Robert Millan <rmh@aybabtu.com>
12491
12492 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
12493 I2O devices.
12494 Patch from Sven Mueller <sven@debian.org>.
12495
991477f8 124962008-06-16 Robert Millan <rmh@aybabtu.com>
12497
12498 * util/update-grub.in: Check for $EUID instead of $UID.
12499 Reported by Vincent Zweije.
12500
d31a32a1 125012008-06-16 Bean <bean123ch@gmail.com>
12502
fe987087 12503 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 12504 (grub_ext2_read_block): Likewise.
12505 (grub_ext2_read_inode): Likewise.
12506 (grub_ext2_mount): Likewise.
12507 (grub_ext2_close): Likewise.
12508 (grub_ext3_get_journal): Removed.
12509
fe987087 12510 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 12511 (grub_reiserfs_read_symlink): Likewise.
12512 (grub_reiserfs_mount): Likewise.
12513 (grub_reiserfs_open): Likewise.
12514 (grub_reiserfs_read): Likewise.
12515 (grub_reiserfs_close): Likewise.
12516 (grub_reiserfs_get_journal): Removed.
12517
12518 * fs/fshelp.c (grub_fshelp_read): Removed.
12519 (grub_fshelp_map_block): Likewise.
12520
12521 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
12522 (grub_fshelp_journal): Likewise.
12523 (grub_fshelp_read): Likewise.
12524 (grub_fshelp_map_block): Likewise.
12525
3540a760 125262008-06-16 Pavel Roskin <proski@gnu.org>
12527
12528 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
12529 floating point anymore.
12530 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
12531
95614c84 125322008-06-15 Pavel Roskin <proski@gnu.org>
12533
12534 * commands/ls.c (grub_ls_list_files): Use integer calculations
12535 for human readable format, avoid floating point use.
12536 * kern/misc.c (grub_ftoa): Remove.
12537 (grub_vsprintf): Remove floating point support.
12538
50465dd6 125392008-06-15 Robert Millan <rmh@aybabtu.com>
12540
fe6b695a 12541 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 12542 devices.
12543 Reported by Max Vozeler.
12544
a9207284 125452008-06-15 Robert Millan <rmh@aybabtu.com>
12546
12547 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
12548 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
12549 skipped later.
12550 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
12551 the beginning of the prefix.
12552
12553 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
12554 It is assumed that if we have a memdisk, grub-mkimage has set
12555 grub_prefix to include the "(memdisk)" drive in it.
12556
a7cbd45a 125572008-06-15 Robert Millan <rmh@aybabtu.com>
12558
12559 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
12560 Initialize keyboard controller after registering the terminal, so that
12561 grub_printf() can be called from grub_keyboard_controller_init().
12562
21cf716a 125632008-06-15 Robert Millan <rmh@aybabtu.com>
12564
12565 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
12566 extent-btree which is written as big endian on disk.
12567 Reported by Alain Greppin <al@chilibi.org>.
12568
23a64d8e 125692008-06-14 Robert Millan <rmh@aybabtu.com>
12570
12571 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
12572 * util/i386/pc/grub-install.in (modules): Likewise.
12573
d687651c 125742008-06-13 Pavel Roskin <proski@gnu.org>
12575
12576 * commands/ls.c (grub_ls_list_files): Fix format warnings.
12577
dfe9ddd4 125782008-06-13 Bean <bean123ch@gmail.com>
12579
12580 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
12581
12582 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
12583
12584 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
12585 to indicate sparse block.
12586
16ae7781 125872008-06-12 Pavel Roskin <proski@gnu.org>
12588
e6d1a308 12589 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
12590 number, grub_fshelp_read() does it for us.
12591
16ae7781 12592 * fs/fshelp.c (grub_fshelp_read): New function. Implement
12593 linear disk read with journal translation.
12594 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
12595 * include/grub/fshelp.h: Declare grub_fshelp_read().
12596
40fd3a2b 125972008-06-09 Pavel Roskin <proski@gnu.org>
12598
12599 * fs/minix.c (grub_minix_mount): Handle error reading
12600 superblock.
12601
f5679726 126022008-06-08 Robert Millan <rmh@aybabtu.com>
12603
12604 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
12605 don't append the RAID prefix afterwards.
12606 Reported by Clint Adams.
12607
ce525529 126082008-06-08 Robert Millan <rmh@aybabtu.com>
12609
12610 Based on description from Pavel:
12611 * kern/disk.c (grub_disk_check_range): Rename to ...
12612 (grub_disk_adjust_range): ... this. Add a comment explaining the
12613 tasks performed by this function.
12614
ad4936a0 126152008-06-08 Robert Millan <rmh@aybabtu.com>
12616
12617 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
12618 `num_serial' (for consistency with other variables).
12619 (struct grub_ntfs_data): Add `uuid' member.
12620 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
12621 (grub_ntfs_uuid): New function.
12622 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
12623
dc20b0f9 126242008-06-07 Pavel Roskin <proski@gnu.org>
12625
12626 * util/biosdisk.c (open_device): Revert last change to the
12627 function, it broke installation. The sector needs to be
12628 different dependent on which device is opened.
12629
c5e3cfba 126302008-06-06 Robert Millan <rmh@aybabtu.com>
12631
12632 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
12633 rest of GRUB, and breakage doesn't happen if its value were modified.
12634
12635 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12636 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
12637 a constant (same value).
12638 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
12639 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
12640
26a1f8c4 126412008-06-06 Robert Millan <rmh@aybabtu.com>
12642
12643 * util/biosdisk.c (open_device): Do not modify sector offset when
12644 accessing a partition. kern/disk.c already handles this for us.
12645
25d6b327 126462008-06-06 Robert Millan <rmh@aybabtu.com>
12647
12648 * util/grub-emu.c (grub_machine_init): Move code in this function from
12649 here ...
12650 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
12651 segfault in case grub_printf() is called).
12652
12653 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
12654 grub_probe. Update all users not to explicitly add it again.
12655 (grub_device): New variable; contains corresponding device for grubdir.
12656 (fs_module, partmap_module, devabstraction_module): Pass
12657 `--device ${grub_device}' to grub_probe to avoid traversing /dev
12658 every time.
12659
9ece62fb 126602008-06-05 Robert Millan <rmh@aybabtu.com>
12661
12662 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
12663 is found, print it (same layout as with labels).
12664
1ad36d37 126652008-06-04 Robert Millan <rmh@aybabtu.com>
12666
12667 * util/biosdisk.c (get_drive): Rename to ...
12668 (find_grub_drive): ... this. Update all users.
12669
12670 (get_os_disk): Rename to ...
12671 (convert_system_partition_to_system_disk): ... this. Update all users.
12672
12673 (find_drive): Rename to ...
12674 (find_system_device): ... this. Update all users.
12675
e6a30859 126762008-06-04 Robert Millan <rmh@aybabtu.com>
12677
12678 * util/biosdisk.c (get_os_disk): Handle IDA devices.
12679 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12680 (make_device_map): Likewise.
12681
00c108a4 126822008-06-01 Robert Millan <rmh@aybabtu.com>
12683
12684 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
12685 before dereferencing it.
12686
12687 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
12688 union with fat12/fat16-specific ones. Add some new fields, including
12689 `num_serial' for both versions.
12690 (struct grub_fat_data): Add `uuid' member.
12691 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
12692 names. Initialize `data->uuid' using `num_serial'.
12693 (grub_fat_uuid): New function.
12694 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
12695
12696 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
12697 (grub_reiserfs_uuid): New function.
12698 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
12699 member.
12700
12701 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
12702 (grub_xfs_uuid): New function.
12703 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
12704
1385c5bb 127052008-06-01 Robert Millan <rmh@aybabtu.com>
12706
12707 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
12708 code that is backward compatible with pre-uuid search command.
12709
c682dfd7 127102008-05-31 Robert Millan <rmh@aybabtu.com>
12711
12712 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
12713 floppies after everything else, to ensure floppy drive isn't accessed
12714 unnecessarily (patch from Bean).
12715
b7db5d47 127162008-05-31 Robert Millan <rmh@aybabtu.com>
12717
12718 * commands/search.c (search_label, search_fs_uuid, search_file): Do
12719 not print device names when we were asked to set a variable.
12720
6e037aa9 127212008-05-31 Robert Millan <rmh@aybabtu.com>
12722
12723 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
12724 using "cursor-on" and "cursor-off" commands (understood at least by
12725 the Open Firmware flavour on OLPC).
12726
41305bc8 127272008-05-31 Michael Gorven <michael@gorven.za.net>
12728
12729 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
12730 on and off sequences.
12731
69ba137e 127322008-05-31 Robert Millan <rmh@aybabtu.com>
12733
12734 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
12735 * util/update-grub.in: Likewise.
12736
520ae21b 127372008-05-30 Pavel Roskin <proski@gnu.org>
12738
12739 * util/biosdisk.c (linux_find_partition): Simplify logic and
12740 make the code more universal. Keep special processing for
12741 devfs, but use a simple rule for all other devices. If the
12742 device ends with a number, append 'p' and the partition number.
12743 Otherwise, append only the partition number.
12744
5786569b 127452008-05-30 Robert Millan <rmh@aybabtu.com>
12746
12747 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
12748 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
12749 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
12750 the `root' parameter to Linux.
12751
51500452 127522008-05-30 Robert Millan <rmh@aybabtu.com>
12753
12754 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
12755 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
12756 --fs_uuid with --fs-uuid.
12757 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
12758 all filesystems support them).
12759
811d3878 127602008-05-30 Robert Millan <rmh@aybabtu.com>
12761
12762 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 12763 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 12764
cab63c95 127652008-05-30 Robert Millan <rmh@aybabtu.com>
12766
12767 * util/grub.d/00_header.in: Remove obsolete comment referencing
12768 convert_system_path_to_grub_path().
12769 * util/update-grub.in: Likewise.
12770 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
12771 (convert_system_path_to_grub_path): Add a warning message explaining
12772 that this function is deprecated. Rely on is_path_readable_by_grub()
12773 for the readability checks.
12774 (font_path): Use is_path_readable_by_grub() for the readability
12775 check rather than convert_system_path_to_grub_path().
12776
972e2f7a 127772008-05-30 Robert Millan <rmh@aybabtu.com>
12778
12779 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
12780 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
12781 converting it first.
12782 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
12783 grub.cfg for access to font file, and afterwards call it again to set
12784 the root device.
12785
62191274 127862008-05-30 Robert Millan <rmh@aybabtu.com>
12787
12788 * commands/search.c (options): Add --fs_uuid option.
12789 (search_fs_uuid): New function.
12790 (grub_cmd_search): Fix --set argument passing.
12791 Use search_fs_uuid() when requested via --fs_uuid.
12792 (grub_search_init): Update help message.
12793 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
12794 and redeclare it as an array of 16-bit words.
12795 (grub_ext2_uuid): New function.
12796 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
12797 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
12798 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
12799 (GRUB_DEVICE_BOOT_UUID): New variables.
12800 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
12801 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
12802 whenever possible.
12803 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
12804 just assume `root' variable has the right value.
12805 * util/grub.d/10_linux.in: Likewise.
12806 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
12807 via PRINT_FS_UUID.
12808 (main): Recognise `-t fs_uuid' argument.
12809
01b73ec8 128102008-05-30 Robert Millan <rmh@aybabtu.com>
12811
12812 * util/biosdisk.c (map): Redefine structure to hold information
12813 about GRUB drive name.
fe6b695a 12814 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 12815 drive names.
12816 (call_hook): Remove.
12817 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
12818 member. Assume drive has partitions.
12819 (grub_util_biosdisk_open): Access device names via `.device' struct
12820 member.
12821 (open_device): Likewise.
12822 (find_drive): Likewise.
12823 (read_device_map): Adjust map[] usage to match the new struct
12824 definition. Don't check for duplicates (still possible, but not cheap
12825 anymore).
12826 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
12827 (make_device_name): Remove assumption of BIOS-like drive names.
12828
22f16596 128292008-05-30 Pavel Roskin <proski@gnu.org>
12830
12831 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
12832 compiling execute.c doesn't need grub_script.tab.h anymore.
12833 (normal/command.c_DEPENDENCIES): Likewise.
12834 (normal/function.c_DEPENDENCIES): Likewise.
12835 * conf/i386-ieee1275.rmk: Likewise.
12836 * conf/i386-linuxbios.rmk: Likewise.
12837 * conf/i386-pc.rmk: Likewise.
12838 * conf/powerpc-ieee1275.rmk: Likewise.
12839 * conf/sparc64-ieee1275.rmk: Likewise.
12840
528ad8f2 128412008-05-29 Pavel Roskin <proski@gnu.org>
12842
d1dff95d 12843 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
12844 when scanning metadata for volume group name.
12845
528ad8f2 12846 * include/grub/script.h: Don't include grub_script.tab.h. It's
12847 a generated file, which may only be included from the files with
12848 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
12849 use union YYSTYPE, as the later allows forward declaration.
12850 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
12851
47248e08 128522008-05-29 Robert Millan <rmh@aybabtu.com>
12853
12854 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
12855 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
12856 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
12857 (grub_console_checkkey): Add grub_dprintf() call to report unknown
12858 scan codes.
12859
ee632529 128602008-05-29 Robert Millan <rmh@aybabtu.com>
12861
12862 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
12863 control key combinations.
12864
eee96e08 128652008-05-29 Robert Millan <rmh@aybabtu.com>
12866
12867 * util/powerpc/ieee1275/grub-install.in: Move from here ...
12868 * util/ieee1275/grub-install.in: ... to here.
12869 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
12870 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
12871 (grub_install_SOURCES): Likewise.
12872
da9a6a94 128732008-05-29 Robert Millan <rmh@aybabtu.com>
12874
12875 * fs/affs.c: Update copyright year.
12876 * fs/ext2.c: Likewise.
12877 * fs/fshelp.c: Likewise.
12878 * fs/hfsplus.c: Likewise.
12879 * fs/ntfs.c: Likewise.
12880 * fs/xfs.c: Likewise.
12881 * include/grub/fshelp.h: Likewise.
12882 * util/grub-mkdevicemap.c: Likewise.
12883
12e65f3a 128842008-05-28 Robert Millan <rmh@aybabtu.com>
12885
12886 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
12887 might need to be fatfs to support some firmware implementations
12888 (e.g. OFW or EFI).
12889
23023641 128902008-05-28 Robert Millan <rmh@aybabtu.com>
12891
12892 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
12893 devices.
12894 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12895 (make_device_map): Likewise.
12896
887d2619 128972008-05-20 Bean <bean123ch@gmail.com>
12898
12899 * fs/fshelp.c (grub_fshelp_map_block): New function.
12900 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
12901 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
12902
12903 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
12904 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
12905 (grub_fshelp_journal): New structure.
12906 (grub_fshelp_map_block): New function prototype.
12907 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
12908 (grub_fshelp_map_block): Likewise.
12909
12910 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
12911 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
12912 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
12913 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
12914 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
12915 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
12916 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
12917 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
12918 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
12919 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
12920 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
12921 (grub_ext2_sblock): New members for journal support.
12922 (grub_ext3_journal_header): New structure.
12923 (grub_ext3_journal_revoke_header): Likewise.
12924 (grub_ext3_journal_block_tag): Likewise.
12925 (grub_ext3_journal_sblock): Likewise.
12926 (grub_fshelp_node): New members logfile and journal.
12927 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
12928 grub_fshelp_map_block to get real block number.
12929 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
12930 number.
12931 (grub_ext2_read_inode): Likewise.
12932 (grub_ext3_get_journal): New function.
12933 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
12934 (grub_ext2_close): Release memory used by journal.
12935
12936 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
12937 (REISERFS_MAGIC_DESC_BLOCK): New macro.
12938 (grub_reiserfs_transaction_header): Renamed to
12939 grub_reiserfs_description_block, replace field data with real_blocks.
12940 (grub_reiserfs_commit_block): New structure.
12941 (grub_reiserfs_data): New member journal.
12942 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12943 number.
12944 (grub_reiserfs_read_symlink): Likewise.
12945 (grub_reiserfs_iterate_dir): Likewise.
12946 (grub_reiserfs_open): Likewise.
12947 (grub_reiserfs_read): Likewise.
12948 (grub_reiserfs_get_journal): New function.
12949 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12950 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12951 using grub_reiserfs_get_journal.
12952 (grub_reiserfs_close): Release memory used by journal.
12953
12954 * fs/affs.c (grub_affs_read_block): Change block type to
12955 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12956
12957 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12958
12959 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12960
12961 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12962
12963 * fs/udf.c (grub_udf_read_block): Change block type to
12964 grub_disk_addr_t. Use type cast to avoid warning.
12965
12966 * fs/xfs.c (grub_xfs_read_block): Likewise.
12967
b7c6bed5 129682008-05-16 Christian Franke <franke@computer.org>
12969
12970 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12971 to ensure that break with ESC will always work.
12972 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12973 Remove ESC from keyboard queue.
12974
eedf167f 129752008-05-16 Christian Franke <franke@computer.org>
12976
12977 * util/biosdisk.c: [__CYGWIN__] Add includes.
12978 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12979 (get_os_disk): Move variable declarations to OS specific
12980 parts to avoid warning.
12981 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12982 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12983 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12984 Cygwin.
12985 * util/getroot.c: [__CYGWIN__] Add includes.
12986 (strip_extra_slashes): Fix "/" case.
12987 [__CYGWIN__] (get_win32_path): New function.
12988 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12989 [__CYGWIN__] (find_root_device): Disable.
12990 [__CYGWIN__] (get_bootsec_serial): New function.
12991 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12992 [__linux__] (grub_guess_root_device): Add early returns to simplify
12993 structure.
12994 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12995 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12996 check for Linux only.
12997
a079699e 129982008-05-15 Bean <bean123ch@gmail.com>
12999
13000 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
13001 keyboard hang problem in apple's intel mac.
13002
1cf4059a 130032008-05-09 Robert Millan <rmh@aybabtu.com>
13004
13005 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
13006 devices.
13007 * util/grub-mkdevicemap.c (get_virtio_disk_name)
13008 (make_device_map): Likewise.
13009 Reported by Aurelien Jarno <aurel32@debian.org>
13010
ed759390 130112008-05-07 Ian Campbell <ijc@hellion.org.uk>
13012
13013 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
13014 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13015 (make_device_map): Output entries for xvd type disks.
13016
b56c4eaa 130172008-05-07 Robert Millan <rmh@aybabtu.com>
13018
13019 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
13020 devices.
13021 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13022 (make_device_map): Likewise.
13023 Reported by Roland Dreier <rdreier@cisco.com>
13024
7f8866ed 130252008-05-07 Robert Millan <rmh@aybabtu.com>
13026
13027 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13028 grub_strstr() call. Correct a few mistakes in failure path handling.
13029
b0346e0f 130302008-05-06 Robert Millan <rmh@aybabtu.com>
13031
13032 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13033 Do not print a trailing slash (therefore, the root directory is an
13034 empty string).
13035 (convert_system_path_to_grub_path): Do not remove trailing slash
13036 from make_system_path_relative_to_its_root() output.
13037
13038 * util/i386/pc/grub-install.in: Add trailing slash to output from
13039 make_system_path_relative_to_its_root().
13040
6cf12cbd 130412008-05-06 Robert Millan <rmh@aybabtu.com>
13042
13043 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13044 ensures that output lines aren't intermangled with those sent to
13045 stderr (via grub_util_info()).
13046 * util/grub-probe.c (grub_refresh): Likewise.
13047 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13048
0fbb3117 130492008-05-05 Christian Franke <franke@computer.org>
13050
13051 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13052 Add Cygwin device names.
13053 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13054 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13055 (check_device): Return error instead of success on empty name.
13056 (make_device_map): Move label inside linux specific code to
13057 prevent compiler warning.
13058
8124cdb7 130592008-04-30 Robert Millan <rmh@aybabtu.com>
13060
13061 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13062 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13063 first boot option.
13064 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13065
094c01d0 130662008-04-29 Robert Millan <rmh@aybabtu.com>
13067
13068 * docs/grub.cfg: New file (example GRUB configuration).
13069
f4b1fc02 130702008-04-26 Robert Millan <rmh@aybabtu.com>
13071
329ce2a5 13072 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13073 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13074 and `disk/ieee1275/nand.c'.
f4b1fc02 13075
25f16ec1 130762008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13077
25f16ec1 13078 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13079 i386-linuxbios.
13080
13081 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13082 change the buffer size to 4096 for cdrom device.
13083
13084 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13085 and nand.mod.
13086 (_linux_mod_SOURCES): New variable.
13087 (_linux_mod_CFLAGS): Likewise.
13088 (_linux_mod_LDFLAGS): Likewise.
13089 (linux_mod_SOURCES): Likewise.
13090 (linux_mod_CFLAGS): Likewise.
13091 (linux_mod_LDFLAGS): Likewise.
13092 (nand_mod_SOURCES): Likewise.
13093 (nand_mod_CFLAGS): Likewise.
13094 (nand_mod_LDFLAGS): Likewise.
13095
13096 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13097 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13098 type property. (nand device in olpc don't have this property)
13099
13100 * include/grub/disk.h (grub_disk_dev_id): New macro
13101 GRUB_DISK_DEVICE_NAND_ID.
13102
13103 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13104 function prototype.
13105 (grub_rescue_cmd_initrd): Likewise.
13106
13107 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
13108 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
13109 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 13110
25f16ec1 13111 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
13112 GRUB_MACHINE_IEEE1275 is defined.
13113
13114 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
13115 Use NESTED_FUNC_ATTR attribute on the hook parameter.
13116
13117 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
13118 on nested function heap_init.
13119 (grub_upper_mem): New variable for i386-ieee1275.
13120 (grub_get_extended_memory): New function for i386-ieee1275.
13121 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
13122
13123 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
13124 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
13125 property.
f19dbdb7 13126
25f16ec1 13127 * loader/i386/ieee1275/linux.c: New file.
13128
13129 * loader/i386/ieee1275/linux_normal.c: New file.
13130
13131 * disk/ieee1275/nand.c: New file.
13132
e89d61e9 131332008-04-18 Thomas Schwinge <tschwinge@gnu.org>
13134
13135 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
13136 value.
13137 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
13138
602566f6 131392008-04-18 Robert Millan <rmh@aybabtu.com>
13140
13141 Restructures early code path on ieee1275 to unify grub_main() as
13142 the first C function that is executed in every platform.
13143
13144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
13145 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
13146 cmain().
13147 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
13148 * kern/ieee1275/cmain.c (cmain): Rename to ...
13149 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
13150 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
13151 at the beginning.
13152
57490c2b 131532008-04-18 Robert Millan <rmh@aybabtu.com>
13154
13155 * util/update-grub.in: Fix syntax error when setting
13156 `GRUB_PRELOAD_MODULES'.
13157 Reported by Stephane Chazelas <stephane@artesyncp.com>
13158
1977517d 131592008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
13160
13161 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
13162 section into account, newer toolchains generate unique build ids
13163 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 13164 we want build ids to be preserved
1977517d 13165 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
13166 far from other sections don't cause the raw binary images grow
13167 size
13168
bfb1f1a2 131692008-04-15 Robert Millan <rmh@aybabtu.com>
13170
13171 * disk/lvm.c: Update copyright year.
13172 * kern/misc.c: Likewise.
13173
01979850 131742008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13175
13176 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 13177 there is no memory left for physical volume name.
01979850 13178
0a1150e2 131792008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13180
13181 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
13182 volume name mapping to support bigger than 9 character names properly.
13183
82ead3fe 131842008-04-13 Robert Millan <rmh@aybabtu.com>
13185
13186 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
13187 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
13188
e54a72f5 131892008-04-13 Christian Franke <franke@computer.org>
13190
13191 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
13192 to create a floppy emulation boot CD when non emulation mode
13193 does not work.
13194 Enable Joliet CD filesystem extension.
13195
9fe86034 131962008-04-13 Robert Millan <rmh@aybabtu.com>
13197
13198 * kern/misc.c (grub_strncat): Fix off-by-one error.
13199 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
13200
13201 * kern/env.c (grub_env_context_close): Clear current context, not
13202 previous one.
13203 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
13204
13205 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
13206
7ceeee39 132072008-04-13 Robert Millan <rmh@aybabtu.com>
13208
13209 Improve robustness when handling LVM.
13210
13211 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 13212 (and leave `*p' unmodified).
7ceeee39 13213 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
13214 through it.
13215 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
13216 iterating through it.
13217 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
13218 through it.
fe6b695a 13219 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 13220 when due) on each grub_lvm_getvalue() or grub_strstr() call.
13221 Don't assume `vg->pvs != NULL' when iterating through it.
13222
58cd3d85 132232008-04-13 Robert Millan <rmh@aybabtu.com>
13224
13225 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
13226 * genmk.rb (partmap): New variable.
13227 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
13228 (#{partmap}): New target rule.
13229 * genpartmaplist.sh: New file.
13230 * Makefile.in (pkglib_DATA): Add partmap.lst.
13231 (partmap.lst): New target rule.
13232 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
13233 modules (including all partition maps), instead of preloading them.
13234
78b51059 132352007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
13236
13237 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
13238 `linux-boot-prober' (if installed) to detect other operating
13239 systems which are installed on the computer and add them to
13240 the boot menu.
13241 * conf/common.rmk: Build and install 30_os-prober.
13242
a91627b4 132432008-04-12 Robert Millan <rmh@aybabtu.com>
13244
13245 * kern/powerpc/ieee1275/init.c: Move from here ...
13246 * kern/ieee1275/init.c: ... to here. Update all users.
13247
13248 * kern/powerpc/ieee1275/cmain.c: Move from here ...
13249 * kern/ieee1275/cmain.c: ... to here. Update all users.
13250
13251 * kern/powerpc/ieee1275/openfw.c: Move from here ...
13252 * kern/ieee1275/openfw.c: ... to here. Update all users.
13253
13254 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
13255 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
13256
322562ea 132572008-04-10 Pavel Roskin <proski@gnu.org>
13258
13259 * configure.ac: Always use "_cv_" in cache variables for
13260 compatibility with Autoconf 2.62.
13261
a02a73c5 132622008-04-07 Robert Millan <rmh@aybabtu.com>
13263
13264 Revert grub/machine/init.h addition by Pavel (since it breaks on
13265 i386-ieee1275 and others):
13266 * util/i386/pc/misc.c: Remove grub/machine/init.h.
13267 * util/powerpc/ieee1275/misc.c: Likewise.
13268
25c024b1 132692008-04-07 Robert Millan <rmh@aybabtu.com>
13270
13271 * util/grub-probe.c (probe): Improve error message.
13272
3cbd2f98 132732008-04-07 Robert Millan <rmh@aybabtu.com>
13274
13275 * util/biosdisk.c (read_device_map): Skip devices that don't exist
13276 (this prevents the presence of a bogus entry from ruining the whole
13277 thing).
13278
87a297bf 132792008-04-06 Pavel Roskin <proski@gnu.org>
13280
36747a62 13281 * util/biosdisk.c: Include grub/util/biosdisk.h.
13282 * util/grub-fstest.c (execute_command): Make static.
13283 * util/grub-mkdevicemap.c (check_device): Likewise.
13284 * util/i386/pc/misc.c: Include grub/machine/init.h.
13285 * util/powerpc/ieee1275/misc.c: Likewise.
13286 * util/lvm.c: Include grub/util/lvm.h.
13287 * util/misc.c: Include grub/kernel.h, grub/misc.h and
13288 grub/cache.h.
13289 * util/raid.c: Include grub/util/raid.h.
13290 (grub_util_getdiskname): Make static.
13291
87a297bf 13292 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
13293 grub_hostfs_fini(), as they are called from grub_init_all() and
13294 grub_fini_all() respectively. This fixes an infinite loop in
13295 grub-fstest due to double registration of hostfs.
13296 Reported by Christian Franke <Christian.Franke@t-online.de>
13297
f6ce7629 132982008-04-05 Pavel Roskin <proski@gnu.org>
13299
13300 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
13301 all 8 functions. Otherwise, probe function 0 only.
13302
070e49e4 133032008-04-04 Pavel Roskin <proski@gnu.org>
13304
8b088a4c 13305 * commands/lspci.c (grub_lspci_iter): Print the bus number
13306 correctly.
13307
4f657021 13308 * commands/lspci.c (grub_pci_classes): Fix typos.
13309 (grub_lspci_iter): Don't print func twice. Print vendor ID
13310 before device ID, as it's normally done.
13311
070e49e4 13312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13313 Fix signedness warnings.
13314 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
13315 Likewise.
13316 * util/ieee1275/get_disk_name.c: Include config.h so that
13317 _GNU_SOURCE is defined and getline() is declared. Mark an
13318 unused argument as such. Fix a signedness warning.
13319
ba7328dc 133202008-04-02 Pavel Roskin <proski@gnu.org>
13321
26887f22 13322 * genkernsyms.sh.in: Use more robust assignments for CC and
13323 srcdir. Quote srcdir.
13324 * gensymlist.sh.in: Likewise. Assert at the compile time that
13325 the symbol table is not empty.
13326
ba7328dc 13327 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
13328 * fs/cpio.c (grub_cpio_read): Likewise.
13329
0f582c6b 133302008-04-01 Pavel Roskin <proski@gnu.org>
13331
4b6e1995 13332 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
13333 * disk/host.c (grub_host_open): Likewise.
13334 * disk/loopback.c (grub_loopback_open): Likewise.
13335 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
13336 disk->id as in disk/host.c, not a multi-character constant.
13337
828a2768 13338 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
13339 later is obsolete, potentially dangerous and sets a bad example.
13340 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
13341 * util/misc.c (grub_util_get_image_size): Likewise.
13342
2bb4fb47 13343 * disk/loopback.c (options): Improve help for "--partitions".
13344
0f582c6b 13345 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
13346 options to align them with the short options, e.g. "echo -e".
13347
a33224e0 133482008-03-31 Bean <bean123ch@gmail.com>
13349
13350 * video/reader/png.c (grub_png_data): New member is_16bit and
13351 image_data.
13352 (grub_png_decode_image_header): Detect 16 bit png image.
13353 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
13354 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
13355 (grub_video_reader_png): Release memory occupied by image_data.
13356
13357 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
13358 4096 bytes.
13359 (grub_nfs_mount): Skip the test for sector per cluster.
13360
13361 * include/grub/ntfs.h (MAX_SPC): Removed.
13362
86cb4f54 133632008-03-31 Bean <bean123ch@gmail.com>
13364
13365 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
13366 (grub_probe_SOURCES): Add fs/afs.c.
13367 (grub_fstest_SOURCES): Likewise.
13368 (afs_mod_SOURCES): New variable.
13369 (afs_mod_CFLAGS): Likewise.
13370 (afs_mod_LDFLAGS): Likewise.
13371
13372 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
13373 (grub_emu_SOURCES): Likewise.
13374
13375 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13376
13377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13378
13379 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13380
13381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13382
13383 * fs/afs.c: New file.
13384
17c74c21 133852008-03-30 Pavel Roskin <proski@gnu.org>
13386
4cb68e89 13387 * disk/host.c: Include grub/misc.h to fix a warning.
13388 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
13389 warnings about implicit declarations.
13390
8790bb04 13391 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
13392 variable.
13393 * include/grub/i386/loader.h: Change declaration of
13394 grub_linux_boot() to match what grub_loader_set() expects.
13395 * util/getroot.c (grub_guess_root_device): Return const char* to
13396 fix a warning.
13397 * util/grub-probe.c (probe): Fix a warning about uninitialized
13398 abstraction_name variable.
13399 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
13400 second argument as unused to fix a warning.
13401
9a3f3296 13402 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
13403 missing grub_error() call.
13404
0ecef90d 13405 * util/update-grub_lib.in: Define datarootdir, since Autoconf
13406 2.60 and newer uses it to define datadir.
13407
0bf6d401 13408 * commands/sleep.c: Fix warning about implicit declaration.
13409 * disk/memdisk.c: Likewise.
13410 * loader/aout.c: Likewise.
13411 * loader/i386/bsd_normal.c: Likewise.
13412 * util/grub-probe.c: Likewise.
13413
7cdacf97 13414 * commands/i386/cpuid.c (has_longmode): Make static.
13415 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
13416 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
13417
17c74c21 13418 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
13419 GDT. This is more robust, as %ds can change.
13420 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
13421 calling real_to_prot().
13422 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
13423
80a3e68b 134242008-03-28 Pavel Roskin <proski@gnu.org>
13425
13426 * kern/i386/pc/startup.S: Assert that uncompressed functions
13427 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
13428 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
13429 code, as they push parts of the code (error handlers) beyond
13430 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
13431 code as correctness and size.
13432
77bcd272 134332008-03-28 Pavel Roskin <proski@gnu.org>
13434
13435 * kern/i386/pc/startup.S
13436 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
13437 data block address to the real mode, keep offset minimal. This
13438 works around a bug in AWARD BIOS on old Athlon systems, which
13439 makes CD detection hang.
13440
c5dfd43b 134412008-03-26 Pavel Roskin <proski@gnu.org>
13442
13443 * normal/color.c (grub_parse_color_name_pair): Make `name' a
13444 const.
13445 * include/grub/normal.h: Add grub_parse_color_name_pair()
13446 declaration.
13447
bf962df2 134482008-03-24 Bean <bean123ch@gmail.com>
13449
13450 * disk/i386/pc/biosdisk.c (cd_start): Removed.
13451 (cd_count): Removed.
13452 (cd_drive): New variable.
13453 (grub_biosdisk_get_drive): Don't check for (cdN) device.
13454 (grub_biosdisk_call_hook): Likewise.
13455 (grub_biosdisk_iterate): Change cdrom detection method.
13456 (grub_biosdisk_open): Replace cd_start with cd_drive.
13457 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
13458 detect cdrom device.
13459
13460 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
13461 Removed.
13462 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
13463 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
13464 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
13465 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
13466 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
13467 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
13468 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
13469 (grub_biosdisk_cdrp): New structure.
13470 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
13471
13472 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
13473
13474 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
13475 device.
13476
13477 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
13478 New function.
13479
68e7fc7a 134802008-03-20 Robert Millan <rmh@aybabtu.com>
13481
13482 Remove 2 TiB limit in ata.mod.
13483 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
13484 (grub_ata_dumpinfo): Print sector count with 0x%llx.
13485 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
13486 grub_uint64_t instead of grub_uint32_t.
13487
38ad2cf5 134882008-03-05 Bean <bean123ch@gmail.com>
13489
13490 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
13491 (grub_multiboot): Set boot device.
13492
13493 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
13494
2b89344e 134952008-03-02 Bean <bean123ch@gmail.com>
13496
13497 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
13498 symlink_buffer.
13499
87a95d1f 135002008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
13501
13502 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
13503 texinfo.tex.
13504
13505 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
13506 modified.
13507
13508 * docs/fdl.texi: New file.
f19dbdb7 13509
87a95d1f 13510 * docs/mdate-sh: New file. Copied from gnulib.
13511 * docs/texinfo.tex: Likewise.
13512
13513 * config.guess: Updated from gnulib.
13514 * install-sh: Likewise.
13515
7dc15d8e 135162008-02-28 Robert Millan <rmh@aybabtu.com>
13517
13518 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
13519 (aout_mod_SOURCES): New variable.
13520 (aout_mod_CFLAGS): Likewise.
13521 (aout_mod_LDFLAGS): Likewise.
13522
13523 * conf/i386-ieee1275.rmk: Likewise.
13524
b00ab696 135252008-02-28 Robert Millan <rmh@aybabtu.com>
13526
13527 * util/update-grub.in: Reorganise terminal validity check. Accept
13528 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
13529 Based on suggestion by Franklin PIAT.
13530
79ca2d78 135312008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
13532
13533 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
13534 function.
13535 * util/getroot.c (grub_util_check_block_device): New function that
13536 returns the given argument if it is a block device and returns NULL else.
13537 * util/grub-probe.c (argument_is_device): New variable.
13538 (probe): Promote device_name from a variable to an argument. Receive
13539 device_name from grub_util_check_block_device() if path is NULL and from
13540 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 13541 (options): Introduce new parameter '-d, --device'.
79ca2d78 13542 (main): Add description of the new parameter to the help screen.
13543 Rename path variable to argument. Set argument_is_device if the '-d'
13544 option is given. Pass argument to probe() depending on
13545 argument_is_device.
13546
0d16e571 135472008-02-24 Bean <bean123ch@gmail.com>
13548
13549 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
13550 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
13551 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
13552 (GRUB_ISO9660_VOLDESC_PART): Likewise.
13553 (GRUB_ISO9660_VOLDESC_END): Likewise.
13554 (grub_iso9660_primary_voldesc): New member escape.
13555 (grub_iso9660_data): New member joliet.
13556 (grub_iso9660_convert_string): New function.
13557 (grub_iso9660_mount): Detect joliet extension.
13558 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
13559 (grub_iso9660_iso9660_label): Likewise.
13560
13561 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
13562 (grub_setup_SOURCES): Add fs/udf.c.
13563 (grub_fstest_SOURCES): Likewise.
13564 (udf_mod_SOURCES): New variable.
13565 (udf_mod_CFLAGS): Likewise.
13566 (udf_mod_LDFLAGS): Likewise.
13567
13568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
13569 (grub_emu_SOURCES): Likewise.
13570
13571 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13572
13573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13574
13575 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13576
13577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13578
13579 * fs/udf.c: New file.
13580
8a594a17 135812008-02-24 Robert Millan <rmh@aybabtu.com>
13582
13583 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
13584 (normal/lexer.c_DEPENDENCIES): New variables.
13585 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13586 (normal/lexer.c_DEPENDENCIES): Likewise.
13587 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
13588 (normal/lexer.c_DEPENDENCIES): Likewise.
13589 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
13590 (normal/lexer.c_DEPENDENCIES): Likewise.
13591 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13592 (normal/lexer.c_DEPENDENCIES): Likewise.
13593 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13594 (normal/lexer.c_DEPENDENCIES): Likewise.
13595
2dc33c03 135962008-02-23 Robert Millan <rmh@aybabtu.com>
13597
13598 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
13599 since they were intended to be in hex. This didn't break previously
13600 because of a bug in gpt_partition_map_iterate() (see below).
13601
13602 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
13603 when checking the validity of GPT header.
13604 Remove `partno', since it always provides the same information as `i'.
13605
f6f4cfb0 136062008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
13607
13608 * include/grub/efi/time.h: Fix a wrong comment.
13609
79ff665f 136102008-02-19 Pavel Roskin <proski@gnu.org>
13611
13612 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
13613 message.
13614
d38e24c2 136152008-02-19 Bean <bean123ch@gmail.com>
13616
13617 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
13618 (aout_mod_SOURCES): New variable.
13619 (aout_mod_CFLAGS): Likewise.
13620 (aout_mod_LDFLAGS): Likewise.
13621 (_bsd_mod_SOURCES): New variable.
13622 (_bsd_mod_CFLAGS): Likewise.
13623 (_bsd_mod_LDFLAGS): Likewise.
13624 (bsd_mod_SOURCES): New variable.
13625 (bsd_mod_CFLAGS): Likewise.
13626 (bsd_mod_LDFLAGS): Likewise.
13627
13628 * include/grub/aout.h: New file.
13629
13630 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
13631
13632 * include/grub/i386/bsd.h: New file.
13633
13634 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
13635 to make it public.
13636
13637 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
13638 function is called, so that it's possible to change it inside the hook.
13639 (grub_elf64_load): Likewise.
13640 (grub_elf_file): Don't close the file if elf header is not found.
13641 (grub_elf_close): Close the file if grub_elf_file fails (The new
13642 grub_elf_file won't close it).
13643 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
13644 (grub_elf64_size): Likewise.
13645
13646 * kern/i386/loader.S (grub_unix_real_boot): New function.
13647
13648 * loader/aout.c: New file.
13649
13650 * loader/i386/bsd.c: New file.
13651
13652 * loader/i386/bsd_normal.c: New file.
13653
13654 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
13655
13656 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 13657 can test other formats.
d38e24c2 13658
b93bdb0f 136592008-02-19 Robert Millan <rmh@aybabtu.com>
13660
13661 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
13662 (grub_gpt_partition_type_empty): Redefine with macro from
13663 `<grub/gpt_partition.h>'.
13664 (gpt_partition_map_iterate): Adjust partition type comparison.
13665
13666 Export `entry' as partmap-specific `part.data' struct.
13667 (grub_gpt_header, grub_gpt_partentry): Move from here ...
13668
13669 * include/grub/gpt_partition.h (grub_gpt_header)
13670 (grub_gpt_partentry): ... to here (new file).
13671
13672 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
13673
13674 (grub_gpt_partition_type_bios_boot): New const variable, defined
13675 with macro from `<grub/gpt_partition.h>'.
13676
13677 (setup): Replace `first_start' with `embed_region', which keeps
13678 track of the embed region (and is partmap-agnostic).
13679
13680 Replace find_first_partition_start() with find_usable_region(),
13681 which finds a usable region for embedding using partmap-specific
13682 knowledge (supports PC/MSDOS and GPT).
13683
13684 Fix all assumptions that the embed region start at sector 1, using
13685 `embed_region.start' from now on. Similarly, use `embed_region.end'
13686 rather than `first_start' to calculate available size.
13687
13688 In grub_util_info() message, replace "into after the MBR" with an
13689 indication of the specific sector our embed region starts at.
13690
66cb40f6 136912008-02-19 Robert Millan <rmh@aybabtu.com>
13692
13693 * DISTLIST: Replace `commands/ieee1275/halt.c' and
13694 `commands/ieee1275/reboot.c' with `commands/halt.c' and
13695 `commands/reboot.c'.
13696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13697 (halt_mod_SOURCES): Likewise.
13698 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13699 (halt_mod_SOURCES): Likewise.
13700
b7202015 137012008-02-17 Christian Franke <franke@computer.org>
13702
13703 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
13704
32b0fc49 137052008-02-17 Robert Millan <rmh@aybabtu.com>
13706
13707 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13708 set `first_start' to 0 for non-PC/MSDOS partition maps.
13709
aca63502 137102008-02-16 Robert Millan <rmh@aybabtu.com>
13711
13712 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13713 do not assume partition map is PC/MSDOS before performing checks that
13714 are specific to that layout.
13715
0de8be86 137162008-02-13 Robert Millan <rmh@aybabtu.com>
13717
13718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
13719 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
13720 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
13721
c3db8364 137222008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
13723
13724 * configure.ac: Only a cosmetic change on the handling of
13725 -fno-stack-protector.
13726
f714229e 137272008-02-12 Alexandre Boeglin <alex@boeglin.org>
13728
c3db8364 13729 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
13730 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
13731 reboot.c.
f714229e 13732 (grub_install_SOURCES): Add halt.mod and reboot.mod.
13733 (halt_mod_SOURCES): New variable.
13734 (halt_mod_CFLAGS): Likewise.
13735 (halt_mod_LDFLAGS): Likewise.
13736 (reboot_mod_SOURCES): Likewise.
13737 (reboot_mod_CFLAGS): Likewise.
13738 (reboot_mod_LDFLAGS): Likewise.
13739
c3db8364 13740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
13741 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
13742 reboot.c.
f714229e 13743 (halt_mod_SOURCES): Likewise.
13744 (reboot_mod_SOURCES): Likewise.
13745
c3db8364 13746 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
13747 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 13748 (reboot_mod_SOURCES): Likewise.
13749
13750 * commands/i386/pc/reboot.c: merge this file ...
13751
13752 * commands/ieee1275/reboot.c: ... and this file ...
13753
13754 * commands/reboot.c: ... to this file.
c3db8364 13755 Add some precompiler directive to include the correct header for
13756 each machine.
f714229e 13757
13758 * commands/ieee1275/halt.c: move this file ...
13759
13760 * commands/halt.c: ... to here.
c3db8364 13761 Add some precompiler directive to include the correct header for
13762 each machine.
f714229e 13763
13764 * include/grub/efi/efi.h (grub_reboot): New function declaration.
13765 (grub_halt): Likewise.
13766
13767 * kern/efi/efi.c (grub_reboot): New function.
13768 (grub_halt): Likewise.
13769
c74493e0 137702008-02-12 Robert Millan <rmh@aybabtu.com>
13771
13772 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
13773 /dev (like it is done for /dev/mapper). This doesn't provide support
13774 for EVMS, but at least it is now easy to identify the problem when it
13775 arises.
13776
d0db4b04 137772008-02-11 Robert Millan <rmh@aybabtu.com>
13778
13779 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
13780 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
13781 comparing it with -1, not 0.
13782
bf748642 137832008-02-10 Robert Millan <rmh@aybabtu.com>
13784
13785 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
13786 `disk/lvm.c'.
13787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13788 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13789
13790 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
13791 `disk/lvm.c' to the end of the list.
13792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13793 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13794
b5db202a 137952008-02-10 Robert Millan <rmh@aybabtu.com>
13796
13797 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
13798 grub_print_error() instead. This will let user know why we're entering
13799 rescue mode.
13800 Based on suggestions from Sam Morris.
13801
83abee31 138022008-02-10 Alexandre Boeglin <alex@boeglin.org>
13803
13804 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
13805 on remaining N args, instead of "--" arg N times.
13806
78d5a08b 138072008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
13808
13809 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
13810 (fill_with_default_glyph): Changed to use unknown_glyph for fill
13811 pattern for unknown glyphs.
13812
68807e5f 138132008-02-09 Robert Millan <rmh@aybabtu.com>
13814
13815 * configure.ac: Probe for `help2man'.
13816 * Makefile.in (builddir): New variable.
13817 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
13818 or otherwise add a few flags/options to it.
13819 (install-local): For every executable utility or script that is
13820 installed, invoke $(HELP2MAN) to install a manpage based on --help
13821 output.
13822
13823 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
13824 that it doesn't prevent --help from working in build tree.
13825
13826 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
13827 with `bug-grub@gnu.org'.
13828 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
13829 * util/update-grub.in (usage): New function.
13830 Implement proper argument check, with support for --help and --version
13831 (as well as existing -y).
13832
138332008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 13834
13835 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
13836 avoid overwriting previous output.
13837 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
13838
c1962162 138392008-02-09 Robert Millan <rmh@aybabtu.com>
13840
13841 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
13842 drawing the menu.
13843
3dac2e3f 138442008-02-09 Robert Millan <rmh@aybabtu.com>
13845
13846 * commands/sleep.c: New file.
13847 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
13848 (sleep_mod_SOURCES): New variable.
13849 (sleep_mod_CFLAGS): Likewise.
13850 (sleep_mod_LDFLAGS): Likewise.
13851
7a634e08 138522008-02-09 Robert Millan <rmh@aybabtu.com>
13853
13854 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
13855 situations in which we can deduce the RAID size and the superblock
13856 doesn't match it.
13857
b92f0c18 138582008-02-09 Robert Millan <rmh@aybabtu.com>
13859
13860 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
13861 and return a grub_diskmemberlist_t composed of LVM physical volumes.
13862 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
13863
13864 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
13865 and return a grub_diskmemberlist_t composed of physical array members.
13866 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
13867
13868 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
13869 prototype.
13870 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
13871 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
13872 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
13873
13874 * util/grub-probe.c (probe): Move partmap probing code from here ...
13875 (probe_partmap): ... to here.
13876 (probe): Use probe_partmap() once for the disk we're probing, and
13877 additionally, when such disk contains a memberlist() struct member,
13878 once for each disk that is contained in the structure returned by
13879 memberlist().
13880
91a4bf68 138812008-02-09 Robert Millan <rmh@aybabtu.com>
13882
13883 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
13884 environment variable to 'all' in order to obtain debug output from
13885 non-util/ code.
13886 * util/i386/pc/grub-setup.c (main): Likewise.
13887
a96f9caa 138882008-02-08 Robert Millan <rmh@aybabtu.com>
13889
13890 * disk/raid.c (grub_raid_scan_device): Check for
13891 `array->device[sb.this_disk.number]' rather than for
13892 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 13893 guaranteed to be accessible.
a96f9caa 13894
b37a9222 138952008-02-08 Robert Millan <rmh@aybabtu.com>
13896
13897 * disk/raid.c: Update copyright.
13898 * fs/cpio.c: Likewise.
13899 * include/grub/raid.h: Likewise.
13900 * loader/i386/pc/multiboot.c: Likewise.
13901 * util/hostfs.c: Likewise.
13902
5626aee1 139032008-02-08 Robert Millan <rmh@aybabtu.com>
13904
13905 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
13906 to a grub_disk_t array.
13907 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
13908 `device[x]'.
13909 (grub_raid_scan_device): Replace `device[x].name' accesses with
13910 `device[x]->name'. Simplify initialization of `array->device[x]'.
13911
554f0187 139122008-02-08 Robert Millan <rmh@aybabtu.com>
13913
13914 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
13915 grub_dprintf() calls.
13916 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
13917 error message.
13918
1ec8425d 139192008-02-07 Christian Franke <franke@computer.org>
13920
13921 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
13922 instead of fseek and ftell to support large files.
13923 (grub_hostfs_read): Likewise.
13924
f2156fda 139252008-02-07 Robert Millan <rmh@aybabtu.com>
13926
13927 Patch from Jeroen Dekkers.
13928 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 13929 failure, since successfully reading all array members might not be
f2156fda 13930 required.
13931
9216e0e7 139322008-02-06 Robert Millan <rmh@aybabtu.com>
13933
13934 * util/grub-probe.c (probe): Simplify partmap probing (with the
13935 assumption that the first word up to the underscore equals to
13936 the module name).
13937
b0dfd29a 139382008-02-06 Christian Franke <franke@computer.org>
13939
13940 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13941 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13942 last block of a cpio or tar stream.
13943 Check for "TRAILER!!!" instead of any empty data
13944 block to detect last block of a cpio stream.
13945 (grub_cpio_dir): Fix constness of variable np.
13946 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13947 cpio or tar trailer is detected. This fixes a crash
13948 on open of a non existing file.
13949
c32865bf 139502008-02-05 Bean <bean123ch@gmail.com>
13951
13952 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13953 address of entry.
13954 (grub_multiboot_load_elf64): Likewise.
13955 (grub_multiboot): Initialize mbi structure.
13956
13957 * util/grub-fstest.c: Don't include unused header file script.h.
13958
fe6b695a 13959 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13960 of file.
13961 (grub_fstest_SOURCES): Likewise.
13962
409480b7 139632008-02-05 Robert Millan <rmh@aybabtu.com>
13964
13965 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13966 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13967 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13968 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13969
13970 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13971 (translation_table): Replace hardcoded values with macros
13972 provided by `<grub/term.h>'.
13973
13974 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13975 (keyboard_map): Correct/add a few values, with macros provided
13976 by `<grub/term.h>'.
13977 (keyboard_map_shift): Zero values that don't differ from their
13978 `keyboard_map' equivalents.
13979 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13980 Discard the second scan code that is always sent by Caps lock.
13981 Only use `keyboard_map_shift' when it provides a non-zero value,
13982 otherwise fallback to `keyboard_map'.
13983
99fadbaa 139842008-02-04 Bean <bean123ch@gmail.com>
13985
13986 * Makefile.in (enable_grub_fstest): New variable.
13987
13988 * conf/common.rmk (grub_fstest_init.lst): New rule.
13989 (grub_fstest_init.h): Likewise.
13990 (grub_fstest_init.c): Likewise.
13991 (util/grub-fstest.c_DEPENDENCIES): New variable.
13992 (grub_fstest_SOURCES): Likewise.
13993
13994 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13995
13996 * util/grub-fstest.c: New file.
13997
bf567c50 139982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13999
14000 Make grub-setup handle a separate root device.
f19dbdb7 14001
bf567c50 14002 * util/i386/pc/grub-setup.c (setup): Always open the root device,
14003 so that the root device can be compared with the destination
14004 device.
14005 When embedding the core image, if the root and destination devices
14006 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
14007 0xFF.
14008 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 14009
9be6b98b 140102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14011
14012 Add support for having a grub directory in a different drive. This
14013 is still only the data handling part.
f19dbdb7 14014
9be6b98b 14015 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
14016 (codestart): Save %dh in GRUB_ROOT_DRIVE.
14017 (grub_root_drive): New variable.
14018
14019 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
14020 instead of GRUB_BOOT_DRIVE to construct a device name. Set
14021 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14022 as it was.
14023
14024 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14025
14026 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14027 macro.
14028 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14029
14030 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14031 is bogus, because PXE booting does not specify any drive
14032 correctly.
14033
14034 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14035 am not sure if this is really correct.
14036
14037 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14038 is always identical to the boot drive when booting from a CD.
14039
14040 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14041 longer.
14042 (root_drive): New variable.
14043 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14044 (setup_sectors): Push %dx right after popping it, because %dh will
14045 be modified later.
14046 (copy_buffer): Restore %dx.
14047
e0ca0677 140482008-02-03 Robert Millan <rmh@aybabtu.com>
14049
14050 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14051 use `cdboot.img' for cdrom images.
14052
3b3f6629 140532008-02-03 Robert Millan <rmh@aybabtu.com>
14054
14055 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14056 only setup gfxterm when `font' command has succeeded.
14057
d42b3672 140582008-02-03 Robert Millan <rmh@aybabtu.com>
14059
14060 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14061 (grub_rescue_cmd_multiboot_loader)
14062 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14063
fa370ea6 140642008-02-03 Pavel Roskin <proski@gnu.org>
14065
e0c5dacb 14066 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14067 %edx and %esi from stack only after grub_gate_a20() is called.
14068 grub_gate_a20() clobbers %edx.
14069
f2a76e1d 140702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14071
14072 * configure.ac (AC_INIT): Bumped to 1.96.
14073
14074 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14075 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14076 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14077 video/readers/png.c.
14078
90fd32d1 140792008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14080
14081 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14082 (cdboot_img_SOURCES): New variable.
14083 (cdboot_img_ASFLAGS): New variable.
14084 (cdboot_img_LDFLAGS): New variable.
14085
14086 * boot/i386/pc/cdboot.S: New file.
14087
14088 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14089 (cd_count): Likewise.
14090 (grub_biosdisk_get_drive): Add support for cd device.
14091 (grub_biosdisk_call_hook): Likewise.
14092 (grub_biosdisk_iterate): Likewise.
14093 (grub_biosdisk_open): Likewise.
14094 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14095 (grub_biosdisk_rw): Support reading from cd device.
14096 (GRUB_MOD_INIT): Iterate cd devices.
14097
14098 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14099 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14100 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14101
14102 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14103
4020aa53 141042008-02-02 Robert Millan <rmh@aybabtu.com>
14105
14106 * commands/read.c: New file.
14107 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
14108 (read_mod_SOURCES): New variable.
14109 (read_mod_CFLAGS): Likewise.
14110 (read_mod_LDFLAGS): Likewise.
14111
e03a1132 141122008-02-02 Robert Millan <rmh@aybabtu.com>
14113
14114 * normal/main.c (grub_normal_execute): Check for `menu->size' when
14115 determining whether menu has to be displayed.
14116
58c69220 141172008-02-02 Marco Gerards <marco@gnu.org>
14118
14119 * bus/pci.c: New file.
14120
14121 * include/grub/pci.h: Likewise.
14122
14123 * include/grub/i386/pc/pci.h: Likewise.
14124
14125 * commands/lspci.c: Likewise.
14126
14127 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
14128 `lspci.mod'.
14129 (pci_mod_SOURCES): New variable.
14130 (pci_mod_CFLAGS): Likewise.
14131 (pci_mod_LDFLAGS): Likewise.
14132 (lspci_mod_SOURCES): Likewise.
14133 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 14134 (lspci_mod_LDFLAGS): Likewise.
58c69220 14135
c004e1b4 141362008-02-02 Bean <bean123ch@gmail.com>
14137
14138 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
14139 (grub_ufs_get_file_block): Fix indirect block calculation problem.
14140
14141 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
14142 (grub_xfs_btree_node): New structure.
14143 (grub_xfs_btree_root): New structure.
14144 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
14145 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
14146 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14147 (GRUB_XFS_EXTENT_SIZE): Likewise.
14148 (grub_xfs_read_block): Support btree format type.
14149 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
14150 Use directory block as basic unit.
14151
14152 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
14153
14154 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
14155 __attribute__ ((__regparm__ (1))).
14156
f95562bf 141572008-02-01 Robert Millan <rmh@aybabtu.com>
14158
14159 Correct a mistake in previous commit.
14160
14161 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
14162 top.
14163 (normal/command.c_DEPENDENCIES): New variable.
14164
7d31f41f 141652008-02-01 Robert Millan <rmh@aybabtu.com>
14166
14167 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
14168 top.
14169 (normal/command.c_DEPENDENCIES): New variable.
14170 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
14171 * conf/i386-ieee1275.rmk: Likewise.
14172 * conf/i386-linuxbios.rmk: Likewise.
14173 * conf/i386-pc.rmk: Likewise.
14174 * conf/sparc64-ieee1275.rmk: Likewise.
14175 * conf/powerpc-ieee1275.rmk: Likewise.
14176 (grub_emu_SOURCES): Add `fs/fshelp.c'.
14177
14178 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
14179
60b6be74 141802008-02-01 Robert Millan <rmh@aybabtu.com>
14181
14182 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
14183 call at beginning of function.
14184
078522ab 141852008-01-31 Pavel Roskin <proski@gnu.org>
14186
14187 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 14188 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
14189 (grub_mkrescue_SOURCES): Likewise.
078522ab 14190 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
14191
ccaa8a5f 141922008-01-30 Robert Millan <rmh@aybabtu.com>
14193
14194 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
14195 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
14196 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
14197 (grub_probe_SOURCES): ... to here.
14198
14199 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
14200 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
14201 * conf/i386-ieee1275.rmk: Likewise.
14202 * conf/i386-linuxbios.rmk: Likewise.
14203 * conf/powerpc-ieee1275.rmk: Likewise.
14204
ae5a9cd7 142052008-01-30 Tristan Gingold <gingold@free.fr>
14206
14207 * kern/rescue.c: Silently accept empty lines.
14208
70bc2ef2 142092008-01-29 Bean <bean123ch@gmail.com>
14210
14211 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
14212 (real_code_2): Code cleanup and change comment style.
14213 (move_memory): Avoid using 32-bit address mode.
14214
6a4d50ea 142152008-01-29 Bean <bean123ch@gmail.com>
14216
14217 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
14218 (png_mod_SOURCES): New variable.
14219 (png_mod_CFLAGS): Likewise.
14220 (png_mod_LDFLAGS): Likewise.
14221
14222 * video/readers/png.c: New file.
14223
11cc30ac 142242008-01-28 Robert Millan <rmh@aybabtu.com>
14225
14226 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
14227 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
14228 `ifndef GRUB_MOD_GAP' hack.
14229 * util/elf/grub-mkimage.c (add_segments): Likewise.
14230
3abc589f 142312008-01-27 Robert Millan <rmh@aybabtu.com>
14232
14233 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
14234 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 14235 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 14236
e1907778 142372008-01-27 Robert Millan <rmh@aybabtu.com>
14238
14239 Get grub-emu to build again (including parallel builds).
14240
14241 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
14242 Split into ...
14243 (util/grub-emu.c_DEPENDENCIES): ... this, ...
14244 (normal/execute.c_DEPENDENCIES): ... this, ...
14245 (grub-emu_DEPENDENCIES): ... and this.
14246
14247 * conf/i386-efi.rmk: Likewise.
14248 * conf/i386-linuxbios.rmk: Likewise.
14249 * conf/i386-ieee1275.rmk: Likewise.
14250 * conf/powerpc-ieee1275.rmk: Likewise.
14251 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
14252
2216b101 142532008-01-27 Robert Millan <rmh@aybabtu.com>
14254
14255 * NEWS: Add a few items.
14256
f75172d9 142572008-01-27 Robert Millan <rmh@aybabtu.com>
14258
14259 Fix parallel builds with grub-emu. Based on earlier commit for
14260 grub-probe and grub-setup.
14261
14262 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14263 (util/grub-emu.c_DEPENDENCIES): ... this.
14264 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14265 (util/grub-emu.c_DEPENDENCIES): ... this.
14266 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14267 (util/grub-emu.c_DEPENDENCIES): ... this.
14268 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14269 (util/grub-emu.c_DEPENDENCIES): ... this.
14270 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14271 (util/grub-emu.c_DEPENDENCIES): ... this.
14272
3f51de77 142732008-01-27 Pavel Roskin <proski@gnu.org>
14274
14275 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
14276 to create a gap between _end and the modules added to the image
14277 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
14278 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
14279 * util/elf/grub-mkimage.c (add_segments): Likewise.
14280
2033f53e 142812008-01-26 Pavel Roskin <proski@gnu.org>
14282
14283 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
14284 just return an error.
14285
22da1f6f 142862008-01-26 Bean <bean123ch@gmail.com>
14287
14288 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
14289 (grub_reiserfs_get_item): Save offset of the next item.
14290 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
14291
2a9525e6 142922008-01-25 Robert Millan <rmh@aybabtu.com>
14293
14294 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
14295 make all filesystem sources appear together (possibly fixing omissions
14296 while at it).
14297 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14298 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14299 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14301
14302 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
14303 add `kern/file.c'.
14304 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
14305 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14306 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
14307 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14308
14309 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
14310 (probe): Add a sanity check to make sure of our ability to read
14311 requested files when probing for filesystem type.
14312
14313 * genmk.rb: Update copyright year (2007).
14314
14315 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
14316 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
14317 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
14318 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
14319 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
14320 : Remove function prototypes.
14321
b95f71b5 143222008-01-25 Robert Millan <rmh@aybabtu.com>
14323
14324 Revert my previous commits (based on wrong assumption of how grub_errno
14325 works).
14326
fe6b695a 14327 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 14328 * kern/file.c (grub_file_open): Likewise.
14329
d08bbb49 143302008-01-24 Pavel Roskin <proski@gnu.org>
14331
14332 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
14333 that hang if GRUB tries to setup colors.
14334 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
14335 colors for firmwares that don't support it.
14336 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
14337 Recognize Open Hack'Ware, set flags to work around its
14338 limitations.
14339
605e36ed 143402008-01-24 Robert Millan <rmh@aybabtu.com>
14341
14342 * kern/file.c (grub_file_open): Do not account previous failures of
14343 unrelated functions when grub_errno is checked for.
14344 Reported by Oleg Strikov.
14345
bac332a1 143462008-01-24 Bean <bean123ch@gmail.com>
14347
14348 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
14349 (grub_ufs_sblock): New member volume name.
14350 (grub_ufs_find_file): Fix string copy bug.
14351 (grub_ufs_label): Implement this function properly.
14352
14353 * fs/hfs.c (grub_hfs_cnid_type): New enum.
14354 (grub_hfs_iterate_records): Use the correct file number for extents
14355 and catalog file. Fix problem in next index calculation.
14356 (grub_hfs_find_node): Replace recursive function call with loop.
14357 (grub_hfs_iterate_dir): Replace recursive function call with loop.
14358
15c80c09 143592008-01-23 Robert Millan <rmh@aybabtu.com>
14360
14361 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
14362 `<grub/symbol.h>' and `<grub/multiboot.h>'.
14363 (grub_multiboot2_real_boot): New function prototype.
14364
14365 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
14366 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
14367
14368 * kern/i386/ieee1275/init.c (grub_os_area_addr)
14369 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
14370
305338fd 143712008-01-23 Robert Millan <rmh@aybabtu.com>
14372
14373 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
14374 #ifdef'ed out grub_printf().
14375
3ea52685 143762008-01-23 Robert Millan <rmh@aybabtu.com>
14377
14378 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
14379 grub_dprintf calls, since they make "debug=all" mode unusable.
14380 (grub_console_checkkey): Likewise.
14381
5882ae4b 143822008-01-23 Robert Millan <rmh@aybabtu.com>
14383
14384 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14385 `term/i386/pc/at_keyboard.c'.
14386 (pkglib_MODULES): Add `serial.mod'.
14387 (serial_mod_SOURCES): New variable.
14388 (serial_mod_CFLAGS): Likewise.
14389 (serial_mod_LDFLAGS): Likewise.
14390
14391 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
14392 `<grub/powerpc/ieee1275/console.h>'.
14393 (grub_keyboard_controller_init): New function prototype.
14394 (grub_console_checkkey): Likewise.
14395 (grub_console_getkey): Likewise.
14396
14397 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
14398 keyboard on i386.
14399
14400 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
14401 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
14402
06ab5303 144032008-01-23 Robert Millan <rmh@aybabtu.com>
14404
14405 * kern/i386/pc/init.c (make_install_device): When memdisk image is
14406 present, "(memdisk)/boot/grub" becomes the default prefix.
14407
14408 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
14409 a memdisk tarball with all the modules. Add --overlay=DIR option that
14410 allows users to overlay additional files into the image.
14411
dbb475a4 144122008-01-23 Robert Millan <rmh@aybabtu.com>
14413
14414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
14415 and `machine/memory.h'.
14416 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
14417 (_multiboot_mod_SOURCES): New variable.
14418 (_multiboot_mod_CFLAGS): Likewise.
14419 (_multiboot_mod_LDFLAGS): Likewise.
14420 (multiboot_mod_SOURCES): Likewise.
14421 (multiboot_mod_CFLAGS): Likewise.
14422 (multiboot_mod_LDFLAGS): Likewise.
14423
14424 * include/grub/i386/ieee1275/loader.h: New file.
14425
14426 * include/grub/i386/ieee1275/machine.h: Likewise.
14427
14428 * include/grub/i386/ieee1275/memory.h: Likewise.
14429
14430 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
14431 variable declaration.
14432 (grub_os_area_size): Likewise.
14433
14434 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
14435 (grub_lower_mem, grub_upper_mem): New variables.
14436 (grub_stop_floppy): New function (just to make
14437 grub_multiboot2_real_boot() happy).
14438
14439 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
14440 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
14441 (grub_stop): New function.
14442 Include `"../realmode.S"' and `"../loader.S"'.
14443
14444 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
14445 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
14446
14447 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
14448 rely on grub_multiboot2_real_boot() for final boot.
14449
25638629 144502008-01-22 Robert Millan <rmh@aybabtu.com>
14451
14452 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
14453 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
14454 device that doesn't look like an SD card.
14455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14456 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
14457 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
14458 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
14459 found.
14460
9dad816d 144612008-01-22 Robert Millan <rmh@aybabtu.com>
14462
14463 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
14464 avoid claiming over our own code.
14465
34842f2d 144662008-01-22 Bean <bean123ch@gmail.com>
14467
14468 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
14469 (jpeg_mod_SOURCES): New variable.
14470 (jpeg_mod_CFLAGS): Likewise.
14471 (jpeg_mod_LDFLAGS): Likewise.
14472
14473 * video/readers/jpeg.c : New file.
14474
44023a28 144752008-01-22 Bean <bean123ch@gmail.com>
14476
14477 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
14478 there are no more items.
14479
bc2d8ac6 144802008-01-21 Robert Millan <rmh@aybabtu.com>
14481
14482 * kern/mm.c (grub_mm_init_region): Improve debug message.
14483
261bd4bc 144842008-01-21 Robert Millan <rmh@aybabtu.com>
14485
14486 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
14487 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
14488 address.
14489 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
14490 a C macro.
14491 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
14492 Indicates start of upper memory.
14493 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
14494 (generate_image): Abort when image size is big enough to corrupt
14495 upper memory.
14496
14497 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
14498 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
14499 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14500 instead of hardcoding 0xA0000.
14501 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
14502 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14503 instead of hardcoding 0xA0000.
14504
f970b55e 145052008-01-21 Robert Millan <rmh@aybabtu.com>
14506
14507 * disk/memdisk.c (memdisk_size): New variable.
14508 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
14509 `memdisk_size'.
14510 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
14511 image to dynamic memory.
14512 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
14513 `memdisk_size'. Free memdisk block.
14514
1a8b0526 145152008-01-21 Robert Millan <rmh@aybabtu.com>
14516
14517 Fix detection of very small filesystems (like tar).
14518
14519 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
14520 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
14521 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
14522 a problem with this disk).
14523
6e9b4aab 145242008-01-21 Robert Millan <rmh@aybabtu.com>
14525
14526 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
14527 on grub_biosdisk_rw_standard() error.
14528
0d8837b2 145292008-01-21 Robert Millan <rmh@aybabtu.com>
14530
14531 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
14532 recent changes.
14533 * kern/elf.c: Likewise.
14534 * kern/ieee1275/ieee1275.c: Likewise.
14535 * kern/powerpc/ieee1275/openfw.c: Likewise.
14536 * term/ieee1275/ofconsole.c: Likewise.
14537
ffd36e34 145382008-01-21 Robert Millan <rmh@aybabtu.com>
14539
14540 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
14541
3f0093d0 14542 * include/grub/kernel.h (grub_arch_memdisk_addr)
14543 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 14544
3f0093d0 14545 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
14546 (grub_arch_memdisk_size): ... to here.
ffd36e34 14547
6c391b21 145482008-01-21 Robert Millan <rmh@aybabtu.com>
14549
14550 Mostly based on bugfix from Bean.
14551
14552 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
14553 attribute with hook() parameter.
14554 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
14555 declaration.
14556 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
14557 attribute with hook() parameter.
14558 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
14559 declaration.
14560
55a581dc 145612008-01-21 Robert Millan <rmh@aybabtu.com>
14562
14563 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
14564 (pkglib_MODULES): Add `memdisk.mod'.
14565 (memdisk_mod_SOURCES): New variable.
14566 (memdisk_mod_CFLAGS): Likewise.
14567 (memdisk_mod_LDFLAGS): Likewise.
14568
14569 * disk/memdisk.c: New file.
14570
14571 * include/grub/disk.h (grub_disk_dev_id): Add
14572 `GRUB_DISK_DEVICE_MEMDISK_ID'.
14573
14574 * include/grub/i386/pc/kernel.h
14575 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
14576 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
14577 (grub_kernel_image_size): New variable declaration.
14578 (grub_total_module_size): Likewise.
14579 (grub_memdisk_image_size): Likewise.
14580
14581 * include/grub/i386/pc/memory.h
14582 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
14583
14584 * include/grub/kernel.h: Include `<grub/symbol.h>'.
14585 (grub_arch_memdisk_addr): New variable declaration.
14586 (grub_arch_memdisk_size): Likewise.
14587
14588 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
14589 (grub_arch_memdisk_size): Likewise.
14590
14591 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
14592 (codestart): Replace hardcoded `0x100000' with
14593 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
14594
14595 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
14596 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
14597 not NULL, append the contents of the file it refers to, at the end of
14598 the compressed kernel image. Initialize `grub_memdisk_image_size'
14599 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
14600 (options): Add "memdisk"|'m' option.
14601 (main): Parse --memdisk|-m option, and pass user-provided path as
14602 parameter to generate_image().
14603
3d7f54c9 146042008-01-20 Robert Millan <rmh@aybabtu.com>
14605
14606 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
14607 grub_dprintf() calls from here ...
14608 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
14609
0bf74728 146102008-01-20 Robert Millan <rmh@aybabtu.com>
14611
14612 Fix detection of "real mode" when /options/real-mode? doesn't exist.
14613
14614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
14615 declaration.
14616 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
14617 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
14618 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 14619 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 14620 property).
14621 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
14622 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
14623
33bf70a7 146242008-01-19 Robert Millan <rmh@aybabtu.com>
14625
fe6b695a 14626 Get rid of confusing function (superseded by
33bf70a7 14627 `grub_ieee1275_get_integer_property')
14628 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
14629 prototype.
14630 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
14631 function.
14632 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
14633 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 14634 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 14635
e2da7d26 146362008-01-19 Robert Millan <rmh@aybabtu.com>
14637
14638 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
14639 command after "shut-down", since implementations differ on which
14640 the command for halt is.
14641
59f1fd8d 146422008-01-19 Robert Millan <rmh@aybabtu.com>
14643
14644 * include/grub/i386/linuxbios/console.h: Add header protection.
14645 (grub_keyboard_controller_init): New function prototype.
14646 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
14647 (KEYBOARD_COMMAND_READ): Likewise.
14648 (KEYBOARD_COMMAND_WRITE): Likewise.
14649 (KEYBOARD_SCANCODE_SET1): Likewise.
14650 (grub_keyboard_controller_write): New function.
14651 (grub_keyboard_controller_read): Likewise.
14652 (grub_keyboard_controller_init): Likewise.
14653
14654 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
14655 (grub_console_init): On coreboot/LinuxBIOS, call
14656 grub_keyboard_controller_init().
14657
5f5a7c15 146582008-01-19 Robert Millan <rmh@aybabtu.com>
14659
14660 PowerPC changes provided by Pavel Roskin.
14661
14662 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
14663 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
14664 don't rely on cmain() doing it.
14665 * kern/i386/ieee1275/startup.S (_start): Store %eax in
14666 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
14667
1210e168 146682008-01-16 Robert Millan <rmh@aybabtu.com>
14669
14670 * include/grub/i386/linuxbios/memory.h
14671 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
14672 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
14673 receive `table_header' as argument. Instead, probe for it in the
14674 known memory ranges where it can be present.
14675 (grub_available_iterate): Do not pass a fixed `table_header' address
14676 to grub_linuxbios_table_iterate().
14677
3d04eab8 146782008-01-15 Robert Millan <rmh@aybabtu.com>
14679
14680 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
14681 * conf/i386-ieee1275.rmk: New file.
14682 * include/grub/i386/ieee1275/console.h: Likewise.
14683 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
14684 * include/grub/i386/ieee1275/kernel.h: Likewise.
14685 * include/grub/i386/ieee1275/time.h: Likewise.
14686 * kern/i386/ieee1275/init.c: Likewise.
14687 * kern/i386/ieee1275/startup.S: Likewise.
14688
d1bc1b73 146892008-01-15 Robert Millan <rmh@aybabtu.com>
14690
14691 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
14692 when pointers are 32-bit (but still do set it to one when they are
14693 64-bit).
14694
66a65807 146952008-01-15 Robert Millan <rmh@aybabtu.com>
14696
14697 * include/grub/ieee1275/ieee1275.h
14698 (grub_ieee1275_get_integer_property): New function prototype.
14699
14700 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
14701 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 14702 grub_ieee1275_get_property() to handle endianness.
66a65807 14703
14704 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
14705 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 14706 where appropriate.
66a65807 14707 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
14708 (grub_map): Likewise.
14709 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
14710
a83ccafd 147112008-01-15 Bean <bean123ch@gmail.com>
14712
14713 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
14714 (grub_script_execute_cmdline): Reset grub_errno.
14715
14716 * normal/main.c (read_config_file): Reset grub_errno.
14717
14718 * normal/parse.y (script_init): New.
14719 (script): Move function and menuentry here.
14720 (delimiter): New.
14721 (command): Add delimiter at the end of command.
14722 (commands): Adjust to match the new command.
14723 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 14724 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 14725 (if): Use the new commands.
14726
14727 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
14728
df6ecfc6 147292008-01-15 Robert Millan <rmh@aybabtu.com>
14730
14731 * normal/menu.c (run_menu): Move timeout message from here ...
14732 (print_timeout): ... to here.
14733 (run_menu): Use print_timeout() once during initial draw to print
14734 the whole message, and again in every clock tick to update only
14735 the number of seconds.
14736
87ae25eb 147372008-01-15 Robert Millan <rmh@aybabtu.com>
14738
14739 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
14740 actual size of `available' from grub_ieee1275_get_property(), and
14741 restrict parsing to that bound.
14742
47bf09a4 147432008-01-15 Christian Franke <franke@computer.org>
14744
14745 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
14746 (argp_program_version): Remove variable.
14747 (argp_program_bug_address): Likewise.
14748 (options): Convert from struct argp_option to struct option.
14749 (struct arguments): Remove.
14750 (parse_opt): Remove.
14751 (usage): New function.
14752 (main): Replace struct args members by simple variables.
14753 Replace argp_parse() by getopt_long().
14754 Add switch to evaluate options.
14755 Add missing "(...)" around root_dev in prefix string.
14756
c86f1469 147572008-01-14 Robert Millan <rmh@aybabtu.com>
14758
14759 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
14760 for grub_ieee1275_exit(), in order to improve portability.
14761
e622c559 147622008-01-14 Robert Millan <rmh@aybabtu.com>
14763
14764 * util/grub.d/10_linux.in (prefix): Define.
14765 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
14766
44cb1ec8 147672008-01-13 Pavel Roskin <proski@gnu.org>
14768
14769 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
14770 grub_errno if no errors have been detected.
14771
1eb8c802 147722008-01-12 Robert Millan <rmh@aybabtu.com>
14773
14774 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
14775 (grub_util_get_dev_abstraction): New function prototype.
14776
14777 * util/getroot.c: Include `<grub/util/getroot.h>'
14778 (grub_util_get_grub_dev): Move detection of abstraction type to ...
14779 (grub_util_get_dev_abstraction): ... here (new function).
14780
14781 * util/grub-probe.c: Convert PRINT_* to an enum. Add
14782 `PRINT_ABSTRACTION'.
14783 (probe): Probe for abstraction type when requested.
14784 (main): Understand `--target=abstraction'.
14785
14786 * util/i386/efi/grub-install.in: Add abstraction module to core
14787 image when it is found to be necessary.
14788 * util/i386/pc/grub-install.in: Likewise.
14789 * util/powerpc/ieee1275/grub-install.in: Likewise.
14790
14791 * util/update-grub_lib.in (font_path): Return system path without
14792 converting to GRUB path.
14793 * util/update-grub.in: Convert system path returned by font_path()
14794 to a GRUB path. Use `grub-probe -t abstraction' to determine what
14795 abstraction module is needed for loading fonts (if any). Export
14796 that as `GRUB_PRELOAD_MODULES'.
14797 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
14798 insmod commands).
14799
52bd3de9 148002008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
14801
14802 Remove some unused code from reiserfs.
f19dbdb7 14803
52bd3de9 14804 * fs/reiserfs.c (struct grub_reiserfs_key)
14805 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
14806 (struct grub_reiserfs_node_body): Removed.
14807 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14808 Likewise.
14809 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14810 Likewise.
14811 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14812 Likewise.
14813 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14814 Likewise.
14815 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14816 Likewise.
14817 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
14818 Likewise.
14819 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14820 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14821 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14822
2f80039d 148232008-01-10 Robert Millan <rmh@aybabtu.com>
14824
14825 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
14826 Determines if a file is garbage left by packaging systems, etc.
14827 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
14828 for processing /etc/grub.d scripts.
14829 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
14830 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
14831 as a condition for processing Linux images.
14832
87888032 148332008-01-10 Pavel Roskin <proski@gnu.org>
14834
14835 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
14836 to compile reiserfs.c on PowerPC.
14837
7e54fced 148382008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 14839
14840 * kern/device.c (grub_device_iterate): Do not abort device iteration
14841 when one of the devices cannot be opened.
14842 * kern/disk.c (grub_disk_open): Do not account previous failures of
14843 unrelated functions when grub_errno is checked for.
14844
5aa541e6 148452008-01-08 Robert Millan <rmh@aybabtu.com>
14846
14847 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
14848 `! grub_linux_is_bzimage', change order of address comparison to make
14849 it more intuitive, and improve "too big zImage" error message.
14850
7076340d 148512008-01-08 Robert Millan <rmh@aybabtu.com>
14852
14853 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
14854 `$(update-grub_DATA)'.
14855 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
14856 targets.
14857
9ca70333 148582008-01-07 Robert Millan <rmh@aybabtu.com>
14859
14860 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
14861 which instruction is modified by grub-setup during installation
14862 (since it wasn't obvious by only looking at this file).
14863
38ccf575 148642008-01-07 Robert Millan <rmh@aybabtu.com>
14865
14866 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
14867 listing actual TODO items.
14868
f5db4291 148692008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14870
868967cf 14871 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
14872 correctly.
14873 (grub_reiserfs_get_key_offset): Likewise.
14874 (grub_reiserfs_set_key_offset): Likewise.
14875 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 14876 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 14877
14878 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
14879 better to remove the bitfield version completely.
f19dbdb7 14880
868967cf 148812008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14882
f5db4291 14883 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
14884 allocated from the heap, due to the fshelp implementation.
14885 (grub_reiserfs_dir): Free NODE, due to the same reason.
14886
492e6d9d 148872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14888
14889 Mostly from Vincent Pelletier:
f19dbdb7 14890
492e6d9d 14891 * fs/reiserfs.c: New file.
f19dbdb7 14892
492e6d9d 14893 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
14894 (reiserfs_mod_SOURCES): New variable.
14895 (reiserfs_mod_CFLAGS): Likewise.
14896 (reiserfs_mod_LDFLAGS): Likewise.
14897
14898 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
14899 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
14900 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
14901 normal/color.c.
14902
9ce3e7c1 149032008-01-06 Robert Millan <rmh@aybabtu.com>
14904
14905 * normal/color.c: Remove `<grub/env.h>'.
14906
f3b58148 149072008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
14908
14909 * include/grub/normal.h: Include <grub/env.h>.
14910
7ac3bcfa 149112008-01-05 Robert Millan <rmh@aybabtu.com>
14912
14913 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
14914 usage example with `(hd0,1)'.
fb358190 14915 Reported by Samuel Thibault.
7ac3bcfa 14916
c8ee99d7 149172008-01-05 Robert Millan <rmh@aybabtu.com>
14918
14919 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
14920 (grub_linux_boot_zimage): Rename to ...
14921 (grub_linux_boot): ... this.
14922 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
14923 (grub_linux_boot_zimage): Conditionalize zImage copy.
14924
14925 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
14926 (grub_linux_boot_bzimage): Remove prototype.
14927 (grub_linux_boot_zimage): Rename to ...
14928 (grub_linux_boot): ... this.
14929
14930 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
14931 (grub_linux_boot): Remove function.
14932
0ece25b1 149332008-01-05 Robert Millan <rmh@aybabtu.com>
14934
14935 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
14936 (grub_env_write_color_highlight): Likewise.
14937 (grub_wait_after_message): Likewise.
14938
14939 * normal/color.c: New file.
14940
14941 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14942 (normal_mod_DEPENDENCIES): Likewise.
14943
14944 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14945 (normal_mod_DEPENDENCIES): Likewise.
14946
14947 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14948 (normal_mod_DEPENDENCIES): Likewise.
14949
14950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14951 (normal_mod_DEPENDENCIES): Likewise.
14952
14953 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14954 for waiting after a message is printed.
14955 * normal/main.c (read_config_file): Likewise.
14956 (grub_normal_init): Register grub_env_write_color_normal() and
14957 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14958 `color_highlight' variables as global.
14959
14960 * normal/menu.c (grub_wait_after_message): New function.
14961 (grub_color_menu_normal): New variable. Replaces ...
14962 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14963 (grub_color_menu_highlight): New variable. Replaces ...
14964 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14965 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14966 `GRUB_TERM_COLOR_STANDARD'.
14967 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14968 `normal_code' and `highlight_code' to `old_color_normal' and
14969 `old_color_highlight', respectively.
14970 (grub_menu_init_page): Update colors when drawing the menu, based on
14971 `menu_color_normal' and `menu_color_highlight' variables.
14972 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14973 a message is printed.
14974
182dd4e5 149752008-01-05 Robert Millan <rmh@aybabtu.com>
14976
14977 * kern/env.c (grub_env_context_open): Propagate hooks for global
14978 variables to new context.
14979
14980 * kern/main.c (grub_set_root_dev): Export `root' variable.
14981
ddf8f6ad 149822008-01-05 Robert Millan <rmh@aybabtu.com>
14983
14984 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14985 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14986 them.
14987
d8b43d9b 149882008-01-05 Robert Millan <rmh@aybabtu.com>
14989
14990 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14991
2bff2de3 149922008-01-04 Christian Franke <franke@computer.org>
14993
14994 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14995 of eisa_mmap.
14996
97eab917 149972008-01-03 Pavel Roskin <proski@gnu.org>
14998
14999 * kern/i386/linuxbios/init.c: Put "void" to all function
15000 declarations with no arguments.
15001 * kern/powerpc/ieee1275/init.c: Likewise.
15002 * term/i386/pc/at_keyboard.c: Likewise.
15003 * term/i386/pc/vga_text.c: Likewise.
15004 * util/grub-mkdevicemap.c: Likewise.
15005
b9416d00 150062008-01-02 Robert Millan <rmh@aybabtu.com>
15007
15008 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
15009 message when loaded image is out of bounds.
15010 (grub_multiboot_load_elf64): Likewise.
15011
92695df9 150122008-01-02 Pavel Roskin <proski@gnu.org>
15013
15014 * util/grub.d/10_linux.in: Try version without ".old" when
15015 looking for initrd. It's better to use initrd from the newer
15016 kernel of the same version than no initrd at all.
15017
d98d9cad 150182008-01-01 Robert Millan <rmh@aybabtu.com>
15019
15020 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
15021
dbfdce36 150222008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15023
f19dbdb7 15024 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15025 grub_video_get_active_render_target.
15026 (grub_video_adapter): Added unmap_color and get_active_render_target.
15027
f19dbdb7 15028 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15029 grub_video_get_active_render_target.
15030 (grub_video_get_info): Changed method to accept NULL pointer as an
15031 argument to allow detection of active video adapter.
15032
15033 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15034 grub_video_vbe_unmap_color_int.
15035 Added grub_video_vbe_unmap_color and
15036 grub_video_vbe_get_active_render_target.
15037 (grub_video_vbe_adapter): Added unmap_color and
15038 get_active_render_target.
15039
f19dbdb7 15040 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15041 with grub_video_vbe_unmap_color_int.
15042
15043 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15044 (DEFAULT_NORMAL_COLOR): Likewise.
15045 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15046 (DEFAULT_FG_COLOR): Removed.
15047 (DEFAULT_BG_COLOR): Likewise.
15048 (DEFAULT_CURSOR_COLOR): Changed value.
15049 (grub_virtual_screen): Added standard_color_setting,
15050 normal_color_setting, highlight_color_setting and term_color.
15051 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15052 (bitmap_width): Added.
15053 (bitmap_height): Likewise.
15054 (bitmap): Likewise.
15055 (set_term_color): Likewise.
15056 (grub_virtual_screen_setup): Changed to use new terminal coloring
15057 settings.
15058 (grub_gfxterm_init): Added init for bitmap.
15059 (grub_gfxterm_fini): Added destroy for bitmap.
15060 (redraw_screen_rect): Updated to use background bitmap and new
15061 terminal coloring.
15062 (scroll_up): Added optimization for case when there is no bitmap.
15063 (grub_gfxterm_cls): Fixed to use correct background color.
15064 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15065 coloring.
15066 (grub_virtual_screen_setcolor): Likewise.
15067 (grub_virtual_screen_getcolor): Added.
15068 (grub_gfxterm_background_image_cmd): Likewise.
15069 (grub_video_term): Added setcolor and getcolor.
15070 (MOD_INIT): Added registration of background_image command.
15071 (MOD_TERM): Added unregistration for background_image command.
15072
c3c20931 150732007-12-30 Pavel Roskin <proski@gnu.org>
15074
15075 * loader/multiboot_loader.c: Fix multiboot command
15076 unregistration. Fix all typos in the word "multiboot".
15077
df266716 150782007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15079
15080 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15081 support for initrd names used in Fedora.
15082
fc6e896c 150832007-12-26 Bean <bean123ch@gmail.com>
15084
15085 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15086 (cpio_mod_SOURCES): New variable.
15087 (cpio_mod_CFLAGS): Likewise.
15088 (cpio_mod_LDFLAGS): Likewise.
15089
15090 * fs/cpio.c: New file.
15091
15092 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15093
15094 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15095
15096 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15097
15098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15099
533110ad 151002007-12-25 Robert Millan <rmh@aybabtu.com>
15101
15102 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15103 (grub_getcolor): New function.
15104
15105 * kern/term.c (grub_getcolor): New function.
15106 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15107 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
15108 (print_entry): Set normal and highlight colors to
15109 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
15110 respectively, before printing and restore them to old
15111 values afterwards.
15112 (grub_menu_init_page): Likewise. Fill an additional colored space
15113 that would otherwise be left blank.
15114
15115 * term/efi/console.c (grub_console_getcolor): New function.
15116 (struct grub_console_term.getcolor): New variable.
15117 * term/i386/pc/console.c (grub_console_getcolor): New function.
15118 (struct grub_console_term.getcolor): New variable.
15119 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
15120 (struct grub_console_term.getcolor): New variable.
15121
15122 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
15123 (struct grub_console_term.setcolor): Remove variable.
15124 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
15125 (struct grub_console_term.setcolor): Remove variable.
15126 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
15127 (struct grub_console_term.setcolor): Remove variable.
15128 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
15129 (struct grub_console_term.setcolor): Remove variable.
15130
4931827f 151312007-12-25 Robert Millan <rmh@aybabtu.com>
15132
15133 * configure.ac: Search for possible unifont.hex locations, and
15134 define UNIFONT_HEX if found.
15135
15136 * Makefile.in (UNIFONT_HEX): Define variable.
15137 (DATA): Rename to ...
15138 (PKGLIB): ... this. Update all users.
15139 (PKGDATA): New variable.
15140 (pkgdata_IMAGES): Rename to ...
15141 (pkglib_IMAGES): ... this. Update all users.
15142 (pkgdata_MODULES): Rename to ...
15143 (pkglib_MODULES): ... this. Update all users.
15144 (pkgdata_PROGRAMS): Rename to ...
15145 (pkglib_PROGRAMS): ... this. Update all users.
15146 (pkgdata_DATA): Rename to ...
15147 (pkglib_DATA): ... this. Update all users.
15148 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
15149 (unicode.pff, ascii.pff): New rules.
15150 (all-local): Add `$(PKGDATA)' dependency.
15151 (install-local): Process `$(PKGDATA)'.
15152
15153 * util/update-grub_lib.in (font_path): Search for *.pff files in
15154 a few more locations, including `${pkgdata}'.
15155
57e57e31 151562007-12-23 Robert Millan <rmh@aybabtu.com>
15157
15158 Patch from Bean <bean123ch@gmail.com>:
15159 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
15160 `size'.
15161
4bc72aa9 151622007-12-21 Bean <bean123ch@gmail.com>
15163
15164 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
15165 (ntfscomp_mod_SOURCES): New variable.
15166 (ntfscomp_mod_CFLAGS): Likewise.
15167 (ntfscomp_mod_LDFLAGS): Likewise.
15168
15169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
15170 (grub_probe_SOURCES): Likewise.
15171 (grub_emu_SOURCES): Likewise.
15172
15173 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15174 (grub_emu_SOURCES): Likewise.
15175
15176 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15177 (grub_emu_SOURCES): Likewise.
15178
15179 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15180 (grub_emu_SOURCES): Likewise.
15181
15182 * fs/ntfs.c (grub_ntfscomp_func): New variable.
15183 (read_run_list): Renamed to grub_ntfs_read_run_list.
15184 (decomp_nextvcn): Moved to ntfscomp.c.
15185 (decomp_getch): Likewise.
15186 (decomp_get16): Likewise.
15187 (decomp_block): Likewise.
15188 (read_block): Likewise.
15189 (read_data): Partially moved to ntfscomp.c.
15190 (fixup): Change unsigned to grub_uint16_t.
15191 (read_mft): Change unsigned long to grub_uint32_t.
15192 (read_attr): Likewise.
15193 (read_data): Likewise.
15194 (read_run_data): Likewise.
15195 (read_run_list): Likewise.
15196 (read_mft): Likewise.
15197
15198 * fs/ntfscomp.c: New file.
15199
15200 * include/grub/ntfs.h: New file.
15201
af680a87 152022007-12-16 Robert Millan <rmh@aybabtu.com>
15203
15204 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
15205 IDE disk check, since Linux is known to support 20 IDE disks.
15206 Reported by Colin Watson.
15207
84be7599 152082007-12-15 Bean <bean123ch@gmail.com>
15209
15210 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
15211 (lnxboot_img_SOURCES): New variable.
15212 (lnxboot_img_ASFLAGS): Likewise.
15213 (lnxboot_img_LDFLAGS): Likewise.
15214
15215 * boot/i386/pc/lnxboot.S: New file.
15216
6af9db01 152172007-11-24 Pavel Roskin <proski@gnu.org>
15218
15219 * configure.ac: Test if '--build-id=none' is supported by the
15220 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
15221 objcopy to generate incorrect binary files (binutils
15222 2.17.50.0.18-1 as shipped by Fedora 8).
15223 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
15224 linking, so that build ID doesn't break the test.
15225
7361cfe6 152262007-11-24 Pavel Roskin <proski@gnu.org>
15227
15228 * include/grub/i386/time.h: use "void" in the argument list
15229 of grub_cpu_idle().
15230 * include/grub/powerpc/time.h: Likewise.
15231 * include/grub/sparc64/time.h: Likewise.
15232
1593e10c 152332007-11-18 Christian Franke <franke@computer.org>
15234
15235 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
15236 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
15237 This fixes the problem that function keys did not work in grub-emu.
15238
3b8db1a8 152392007-11-18 Christian Franke <franke@computer.org>
15240
15241 * disk/host.c (grub_host_open): Remove attribute unused from
15242 name parameter. Add check for "host". This fixes the problem
15243 that grub-emu does not find partitions.
15244
2e29408d 152452007-11-18 Christian Franke <franke@computer.org>
15246
15247 * util/hostfs.c (is_dir): New function.
15248 (grub_hostfs_dir): Handle missing dirent.d_type case.
15249 (grub_hostfs_read): Add missing fseek().
15250 (grub_hostfs_label): Clear label pointer. This fixes a crash
15251 of grub-emu on "ls (host)".
15252
398cd047 152532007-11-18 Christian Franke <franke@computer.org>
15254
15255 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
15256 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
15257 to 64 bit boundary by default.
15258
c405c391 152592007-11-18 Bean <bean123ch@gmail.com>
15260
15261 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
15262 (hexdump_mod_SOURCES): New variable.
15263 (hexdump_mod_CFLAGS): Likewise.
15264 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 15265
c405c391 15266 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15267
15268 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15269
15270 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15271
15272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15273
15274 * include/grub/hexdump.h: New file.
15275
15276 * commands/hexdump.c: New file.
15277
5cced7fd 152782007-11-10 Robert Millan <rmh@aybabtu.com>
15279
15280 * commands/i386/pc/play.c (beep_off): Switch order of arguments
15281 in grub_outb() calls.
15282 (beep_on): Likewise.
15283
8b714eb0 152842007-11-10 Christian Franke <franke@computer.org>
15285
15286 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
15287 (grub_menu_run): Likewise.
15288
ce0f1839 152892007-11-10 Robert Millan <rmh@aybabtu.com>
15290
15291 * include/grub/i386/efi/machine.h: New file.
15292 * include/grub/i386/linuxbios/machine.h: Likewise.
15293 * include/grub/i386/pc/machine.h: Likewise.
15294 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15295 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15296
15297 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
15298 (serial_hw_io_addr): New variable.
15299 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
15300 instead of `(unsigned short *) 0x400'.
15301
270c237d 153022007-11-10 Bean <bean123ch@gmail.com>
15303
15304 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
15305
a87783bf 153062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15307
15308 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
15309 (vga_mod_SOURCES): Added.
15310 (vga_mod_CFLAGS): Likewise.
15311 (vga_mod_LDFLAGS): Likewise.
15312
15313 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
15314 grub_outb() calls.
15315 (set_map_mask): Likewise.
15316 (set_read_map): Likewise.
15317 (set_read_address): Likewise.
15318 (vga_font): Removed variable.
15319 (get_vga_glyph): Removed function.
15320 (invalidate_char): Likewise.
15321 (write_char): Changed to use grub_font_get_glyph() for font
15322 information.
15323 (grub_vga_putchar): Likewise.
15324 (grub_vga_getcharwidth): Likewise.
15325
6433b448 153262007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15327
15328 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
15329 flags.
15330 (pxeboot_img_LDFLAGS): Likewise.
15331 (diskboot_img_LDFLAGS): Likewise.
15332 (kernel_img_LDFLAGS): Likewise.
15333
49178511 153342007-11-06 Robert Millan <rmh@aybabtu.com>
15335
15336 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
15337 in grub_outb() calls.
15338 (serial_hw_init): Likewise.
15339
53b052de 153402007-11-05 Robert Millan <rmh@aybabtu.com>
15341
15342 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
15343 spaces. Skip non-regular files.
15344
5ab33bba 153452007-11-05 Robert Millan <rmh@aybabtu.com>
15346
15347 * kern/disk.c (grub_disk_firmware_fini)
15348 (grub_disk_firmware_is_tainted): New variables.
15349
15350 * include/grub/disk.h (grub_disk_firmware_fini)
15351 (grub_disk_firmware_is_tainted): Likewise.
15352
15353 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
15354 (grub_disk_biosdisk_fini): ... to here.
15355 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
15356 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
15357 is set. Register grub_disk_biosdisk_fini() in
15358 `grub_disk_firmware_fini'.
15359
15360 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
15361 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
15362 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
15363 to finish existing firmware disk interface.
15364
15365 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
15366 (ata_mod_SOURCES): New variable.
15367 (ata_mod_CFLAGS): Likewise.
15368 (ata_mod_LDFLAGS): Likewise.
15369
0149ab7c 153702007-11-05 Robert Millan <rmh@aybabtu.com>
15371
15372 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
15373 (grub_ata_wait): Reimplement using grub_millisleep().
15374
15375 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
15376 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
15377
be7ac41e 153782007-11-03 Marco Gerards <marco@gnu.org>
15379
15380 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
15381 (CRTC_ADDR_PORT): New macro.
15382 (CRTC_DATA_PORT): Likewise.
15383 (CRTC_CURSOR): Likewise.
15384 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15385 (CRTC_CURSOR_ADDR_LOW): Likewise.
15386 (update_cursor): New function.
15387 (grub_console_real_putchar): Call `update_cursor'.
15388 (grub_console_gotoxy): Likewise.
15389 (grub_console_cls): Set the default color when clearing the
15390 screen.
15391 (grub_console_setcursor): Implemented.
15392
bb06ab2e 153932007-11-03 Marco Gerards <marco@gnu.org>
15394
15395 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
15396 become activate.
15397 (grub_ata_pio_write): Likewise.
15398
15399 (grub_atapi_identify): Wait after issuing an ATA command.
15400 (grub_atapi_packet): Likewise.
15401 (grub_ata_identify): Likewise.
15402 (grub_ata_readwrite): Likewise.
15403
cf8f780b 154042007-11-03 Marco Gerards <marco@gnu.org>
15405
15406 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
15407 (grub_ata_pio_write): Likewise.
15408 (grub_ata_readwrite): Use `grub_error', instead of
15409 returning `grub_errno'.
15410
ed649e54 154112007-11-03 Marco Gerards <marco@gnu.org>
15412
15413 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
15414 grub_ata_pio_write once for every single sector, instead of for
15415 multiple sectors.
15416
ca25d8f0 154172007-10-31 Robert Millan <rmh@aybabtu.com>
15418
15419 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
15420
15421 * conf/i386-linuxbios.rmk: New file.
15422
15423 * kern/i386/pc/hardware.c: Likewise.
15424 * term/i386/pc/at_keyboard.c: Likewise.
15425 * term/i386/pc/vga_text.c: Likewise.
15426
15427 * include/grub/i386/linuxbios/boot.h: Likewise.
15428 * include/grub/i386/linuxbios/console.h: Likewise.
15429 * include/grub/i386/linuxbios/init.h: Likewise.
15430 * include/grub/i386/linuxbios/kernel.h: Likewise.
15431 * include/grub/i386/linuxbios/loader.h: Likewise.
15432 * include/grub/i386/linuxbios/memory.h: Likewise.
15433 * include/grub/i386/linuxbios/serial.h: Likewise.
15434 * include/grub/i386/linuxbios/time.h: Likewise.
15435
15436 * kern/i386/linuxbios/init.c: Likewise.
15437 * kern/i386/linuxbios/startup.S: Likewise.
15438 * kern/i386/linuxbios/table.c: Likewise.
15439
e911ecc1 154402007-10-31 Marco Gerards <marco@gnu.org>
15441
15442 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
15443 (ata_mod_SOURCES): New variable.
15444 (ata_mod_CFLAGS): Likewise.
15445 (ata_mod_LDFLAGS): Likewise.
15446
15447 * disk/ata.c: New file.
15448
15449 * include/grub/disk.h (grub_disk_dev_id): Add
15450 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 15451
7f66d0e0 154522007-10-31 Robert Millan <rmh@aybabtu.com>
15453
15454 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
15455 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
15456
15457 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
15458 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
15459
15460 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
15461 `<grub/types.h>'.
15462
15463 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
15464
5cd7dd46 154652007-10-27 Robert Millan <rmh@aybabtu.com>
15466
3236ca65 15467 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 15468
2ebfc90f 154692007-10-22 Robert Millan <rmh@aybabtu.com>
15470
15471 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
15472 `"../realmode.S"'.
15473 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
15474
73fcb0f3 154752007-10-22 Robert Millan <rmh@aybabtu.com>
15476
15477 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
15478 (pkgdata_MODULES): Add `biosdisk.mod'.
15479 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
15480 variables.
15481
15482 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
15483 (grub_biosdisk_init): Replace with ...
15484 (GRUB_MOD_INIT(biosdisk)): ... this.
15485 (grub_biosdisk_fini): Replace with ...
15486 (GRUB_MOD_FINI(biosdisk)): ... this.
15487
15488 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
15489 (grub_machine_init): Remove call to grub_biosdisk_init().
15490 (grub_machine_fini): Remove call to grub_machine_fini().
15491
15492 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
15493
3381d274 154942007-10-22 Robert Millan <rmh@aybabtu.com>
15495
15496 * include/grub/time.h: New file.
15497 * include/grub/i386/time.h: Likewise.
15498 * include/grub/powerpc/time.h: Likewise.
15499 * include/grub/sparc64/time.h: Likewise.
15500
15501 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
15502 instances to ...
15503 (KERNEL_MACHINE_TIME_HEADER): ... this.
15504 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15505 instances to ...
15506 (KERNEL_MACHINE_TIME_HEADER): ... this.
15507 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15508 instances to ...
15509 (KERNEL_MACHINE_TIME_HEADER): ... this.
15510
15511 * kern/i386/efi/init.c: Include `<grub/time.h>'.
15512 (grub_millisleep): New function.
15513 * kern/i386/pc/init.c: Include `<grub/time.h>'.
15514 (grub_millisleep): New function.
15515 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
15516 Remove `grub/machine/time.h' include.
15517 (grub_millisleep): New function.
15518 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
15519 Remove `grub/machine/time.h' include.
15520 (grub_millisleep): New function.
15521
15522 * include/grub/misc.h (grub_div_roundup): New function.
15523
15524 * kern/misc.c: Include `<grub/time.h>'.
15525 (grub_millisleep_generic): New function.
15526
15527 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
15528 Add `time.h'.
15529 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
15530 Add `time.h'.
15531 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
15532 `machine/time.h'. Add `time.h'.
15533 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15534
a39a0312 155352007-10-21 Robert Millan <rmh@aybabtu.com>
15536
15537 * include/grub/misc.h (grub_max): New function.
15538
2aad70e2 155392007-10-21 Robert Millan <rmh@aybabtu.com>
15540
15541 * util/misc.c (grub_util_info): Call fflush() before returning.
15542
54b71c4b 155432007-10-20 Robert Millan <rmh@aybabtu.com>
15544
15545 * genmk.rb (Image): Copy `extra_flags' from here ...
15546 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
15547
15548 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
15549 to `argc' and `args' arguments.
15550
a979f513 155512007-10-17 Robert Millan <rmh@aybabtu.com>
15552
15553 * kern/i386/loader.S: New file.
15554
15555 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
15556 * kern/i386/loader.S (grub_linux_prot_size)... to here.
15557 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
15558 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
15559 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
15560 * kern/i386/loader.S (grub_linux_real_addr)... to here.
15561 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
15562 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
15563 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
15564 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
15565 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
15566 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
15567 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
15568 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
15569
15570 * kern/i386/realmode.S: New file.
15571
15572 * kern/i386/pc/startup.S (protstack): Moved from here ...
15573 * kern/i386/realmode.S (protstack)... to here.
15574 * kern/i386/pc/startup.S (gdt): Moved from here ...
15575 * kern/i386/realmode.S (gdt)... to here.
15576 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
15577 * kern/i386/realmode.S (prot_to_real)... to here.
15578
15579 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
15580 `kern/i386/realmode.S'.
15581
825fc8fd 155822007-10-17 Robert Millan <rmh@aybabtu.com>
15583
15584 * include/grub/i386/loader.h: New file.
15585
15586 * include/grub/i386/pc/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): Moved from here ...
15591 * include/grub/i386/loader.h (grub_linux_prot_size)
15592 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15593 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15594 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15595 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
15596
15597 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
15598
e179b2f4 155992007-10-15 Robert Millan <rmh@aybabtu.com>
15600
15601 * normal/misc.c (grub_normal_print_device_info): Do not probe for
15602 filesystem when dev->disk is unset.
15603 Do probe for filesystem even when dev->disk->has_partitions is set.
15604 In case a filesystem is found, always report it.
15605 In case it isn't, if dev->disk->has_partitions is set, report that
15606 a partition table was found instead of reporting that no filesystem
15607 could be identified.
15608
5db82af6 156092007-10-12 Robert Millan <rmh@aybabtu.com>
15610
15611 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
15612 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
15613
68f6ac74 15614 * include/grub/types.h (grub_host_to_target16): New macro.
15615 (grub_host_to_target32): Likewise.
15616 (grub_host_to_target64): Likewise.
15617 (grub_target_to_host16): Likewise.
15618 (grub_target_to_host32): Likewise.
15619 (grub_target_to_host64): Likewise.
5db82af6 15620
15621 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15622 Renamed from to ...
15623 (GRUB_MOD_ALIGN): ...this. Update all users.
15624
68f6ac74 15625 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
15626 grub_host_to_target32.
15627 Replace grub_be_to_cpu32 with grub_target_to_host32.
15628 (load_modules): Likewise.
15629 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
15630 Replace grub_be_to_cpu32 with grub_target_to_host32.
15631 Replace grub_cpu_to_be16 with grub_host_to_target16.
15632 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 15633
3cf497cc 156342007-10-12 Robert Millan <rmh@aybabtu.com>
15635
15636 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
15637 * util/elf/grub-mkimage.c: ... here.
15638
15639 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
15640 `util/powerpc/ieee1275/grub-mkimage.c'.
15641
c8cc3692 156422007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 15643
c8cc3692 15644 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
15645 and make it easier to figure out.
15646 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
15647 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
15648 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
15649 leave us with less than HEAP_MIN_SIZE total heap.
15650 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 15651
5c58b791 156522007-10-03 Robert Millan <rmh@aybabtu.com>
15653
15654 * include/grub/i386/io.h: New file.
15655 * commands/i386/pc/play.c (inb): Removed.
15656 (outb): Removed.
15657 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15658 with grub_outb().
afcd2ef8 15659 * term/i386/pc/serial.c (inb): Removed.
15660 (outb): Removed.
15661 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15662 with grub_outb().
15663 * term/i386/pc/vga.c (inb): Removed.
15664 (outb): Removed.
15665 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15666 with grub_outb().
5c58b791 15667
1a477ed6 156682007-10-02 Robert Millan <rmh@aybabtu.com>
15669
15670 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
15671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15672 Reported by Marcin Kurek.
15673
6b5d80fa 156742007-09-07 Robert Millan <rmh@aybabtu.com>
15675
15676 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
15677 SmartFirmware version updates (as released by Sven Luther), and avoid
15678 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
15679 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
15680 known broken.
15681
5618afbf 156822007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15683
15684 From Hitoshi Ozeki:
15685 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
15686 when merging two regions.
15687
6139dcd9 156882007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15689
508e39ee 15690 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
15691 * normal/completion.c (grub_normal_do_completion): Likewise.
15692 Reported by Hitoshi Ozeki.
15693
156942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15695
6139dcd9 15696 Do not use devices at boot in chainloading.
f19dbdb7 15697
6139dcd9 15698 * loader/i386/pc/chainloader.c (boot_drive): New variable.
15699 (boot_part_addr): Likewise.
15700 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
15701 with BOOT_DRIVE and BOOT_PART_ADDR.
15702 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
15703 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
15704
38da6516 157052007-08-29 Robert Millan <rmh@aybabtu.com>
15706
15707 Patch from Simon Peter <dn.tlp@gmx.net>:
15708 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
15709 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
15710 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
15711 util/i386/pc/grub-setup.c_DEPENDENCIES.
15712 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
15713 util/grub-probe.c_DEPENDENCIES.
15714 * conf/powerpc-ieee1275.rmk: Likewise.
15715
29d0928c 157162007-08-28 Robert Millan <rmh@aybabtu.com>
15717
15718 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
15719 to tell grub-mkdevicemap how to name devices.
15720 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
15721 feature).
15722
15723 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
15724 util/i386/get_disk_name.c.
15725 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
15726 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
15727 util/ieee1275/get_disk_name.c.
15728
15729 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
15730
15731 * DISTLIST: Add util/i386/get_disk_name.c and
15732 util/ieee1275/get_disk_name.c.
15733
15734 * util/grub-mkdevicemap.c: Replace device naming logic with
15735 grub_util_get_disk_name() calls.
15736
5a0d3cca 157372007-08-20 Robert Millan <rmh@aybabtu.com>
15738
15739 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
15740 (so that it works for both plural and singular quantities).
15741
8b72db2f 157422007-08-05 Robert Millan <rmh@aybabtu.com>
15743
15744 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
15745 so that [xz] isn't taken into account when determining order.
15746
352466bf 157472007-08-02 Marco Gerards <marco@gnu.org>
15748
15749 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
15750 `include/multiboot2.h', `include/grub/elfload.h',
15751 `include/multiboot.h', `include/grub/multiboot.h',
15752 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
15753 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
15754 `kern/elf.c', `loader/multiboot_loader.c',
15755 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
15756 `loader/i386/pc/multiboot2.c',
15757 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
15758 `util/i386/pc/grub-mkrescue.in'. Remove
15759 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
15760 `include/grub/i386/pc/util/biosdisk.h' and
15761 `include/grub/powerpc/ieee1275/multiboot.h'.
15762
8f096014 157632007-08-02 Bean <bean123ch@gmail.com>
15764
15765 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
15766 (ntfs_mod_SOURCES): New variable.
15767 (ntfs_mod_CFLAGS): Likewise.
15768 (ntfs_mod_LDFLAGS): Likewise.
15769
15770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
15771 (grub_probe_SOURCES): Likewise.
15772 (grub_emu_SOURCES): Likewise.
15773
15774 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15775 (grub_emu_SOURCES): Likewise.
15776
15777 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15778 (grub_emu_SOURCES): Likewise.
f19dbdb7 15779
8f096014 15780 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
15781
15782 * fs/ntfs.c: New file.
15783
9959f7db 157842007-08-02 Bean <bean123ch@gmail.com>
15785
15786 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
15787
15788 * file.h (grub_file): Likewise.
15789
15790 * fshelp.h (grub_fshelp_read_file): Likewise.
15791
15792 * util/i386/pc/grub-setup.c (setup): Likewise.
15793 (save_first_sector): Likewise.
15794 (save_blocklists): Likewise.
f19dbdb7 15795
9959f7db 15796 * fs/affs.c (grub_affs_read_file): Likewise.
15797
15798 * fs/ext2.c (grub_ext2_read_file): Likewise.
15799
15800 * fs/fat.c (grub_fat_read_data): Likewise.
15801
15802 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
15803
15804 * fs/hfs.c (grub_hfs_read_file): Likewise.
15805
15806 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15807
15808 * fs/jfs.c (grub_jfs_read_file): Likewise.
15809
15810 * fs/minix.c (grub_minix_read_file): Likewise.
15811
15812 * fs/sfs.c (grub_sfs_read_file): Likewise.
15813
15814 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 15815
9959f7db 15816 * fs/xfs.c (grub_xfs_read_file): Likewise.
15817
15818 * command/blocklist.c (read_blocklist): Likewise.
15819 (print_blocklist): Likewise.
15820
0a203f83 158212007-08-02 Marco Gerards <marco@gnu.org>
15822
15823 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
15824 `util/hostfs.c'.
15825
15826 * disk/host.c: New file.
15827
15828 * util/hostfs.c: Likewise.
15829
15830 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
15831 return `GRUB_ERR_BAD_FS'.
15832 * fs/sfs.c (grub_sfs_mount): Likewise.
15833 * fs/xfs.c (grub_xfs_mount): Likewise.
15834
15835 * include/grub/disk.h (enum grub_disk_dev_id): Add
15836 `GRUB_DISK_DEVICE_HOST_ID'.
15837
15838 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
15839
e5dfe777 158402007-07-24 Jerone Young <jerone@gmail.com>
15841
f19dbdb7 15842 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 15843 modules for compilation.
15844 * conf/powerpc-ieee1275.rmk: Likewise.
15845
15846 * include/multiboot.h: Move multiboot definitions to one file. Rename
15847 many definitions to not get grub specific.
15848 * include/multiboot2.h: Create header with multiboot 2 definitions.
15849 * include/grub/multiboot.h: Header for grub specific function
15850 prototypes and definitions.
15851 * include/grub/multiboot2.h: Likewise.
15852 * include/grub/multiboot_loader.h: Likewise.
15853 * include/grub/i386/pc/multiboot.h: Removed.
15854 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
15855
15856 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
15857 and 2 to allow for one multiboot and module commands.
15858 * loader/multiboot2.c: Add multiboot2 functionality.
15859 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
15860 and definition names.
15861 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
15862 2 functions.
15863 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
15864 ieee1275 specific multiboot2 code.
15865
15866 * kern/i386/pc/startup.S: Change headers and definition names for
15867 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
15868
daf0f0ba 158692007-07-22 Robert Millan <rmh@aybabtu.com>
15870
15871 * geninitheader.sh: Process file specified in first parameter rather
15872 than hardcoding grub_modules_init.lst.
fe6b695a 15873 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 15874 than hardcoding grub_modules_init.h.
15875
15876 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
15877 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
15878 grub_probe_init.[ch] and grub_setup_init.[ch].
15879
15880 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
15881 grub_modules_init.h with grub_emu_init.h.
15882 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
15883 grub_probe_init.[ch] files.
15884 * conf/i386-efi.rmk: Likewise.
15885 * conf/i386-pc.rmk: Likewise.
15886 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
15887 grub_setup_init.[ch] files.
15888
15889 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
15890 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
15891 to initialize modules rather than a list of hardcoded functions.
15892 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
15893 grub_init_all() to initialize modules rather than a list of hardcoded
15894 functions.
15895
54cdc1cc 158962007-07-22 Robert Millan <rmh@aybabtu.com>
15897
15898 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15899 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
15900
ad0686cc 159012007-07-22 Robert Millan <rmh@aybabtu.com>
15902
15903 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15904 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
15905 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
15906 flag when running on SmartFirmware.
15907 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
15908 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
15909 was set.
15910
15911 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15912 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
15913 rather than decreasing it.
15914
15915 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
15916 there's not enough space to do it, fail in the same way as when it
15917 can't be done because there are no partitions.
15918
15919 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
15920 when nvsetenv failed.
15921
969c02ec 159222007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15923
15924 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
15925 because this rule is automatically generated.
15926 (grub-mkrescue): Removed for the same reason as above.
15927
5a79f472 159282007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15929
15930 Migrate to GNU General Public License Version 3.
f19dbdb7 15931
5a79f472 15932 * COPYING: Replaced with the plain text version of GPLv3.
15933
15934 * config.guess: Updated from gnulib.
15935 * config.sub: Likewise.
15936
15937 * geninit.sh: Output a GPLv3 copyright notice.
15938 * geninitheader.sh: Likewise.
15939 * genmodsrc.sh: Likewise.
15940 * gensymlist.sh.in: Likewise.
15941
15942 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15943 * boot/i386/pc/diskboot.S: Likewise.
15944 * boot/i386/pc/pxeboot.S: Likewise.
15945 * commands/blocklist.c: Likewise.
15946 * commands/boot.c: Likewise.
15947 * commands/cat.c: Likewise.
15948 * commands/cmp.c: Likewise.
15949 * commands/configfile.c: Likewise.
15950 * commands/echo.c: Likewise.
15951 * commands/help.c: Likewise.
15952 * commands/ls.c: Likewise.
15953 * commands/search.c: Likewise.
15954 * commands/terminal.c: Likewise.
15955 * commands/test.c: Likewise.
15956 * commands/videotest.c: Likewise.
15957 * commands/i386/cpuid.c: Likewise.
15958 * commands/i386/pc/halt.c: Likewise.
15959 * commands/i386/pc/play.c: Likewise.
15960 * commands/i386/pc/reboot.c: Likewise.
15961 * commands/i386/pc/vbeinfo.c: Likewise.
15962 * commands/i386/pc/vbetest.c: Likewise.
15963 * commands/ieee1275/halt.c: Likewise.
15964 * commands/ieee1275/reboot.c: Likewise.
15965 * commands/ieee1275/suspend.c: Likewise.
15966 * disk/loopback.c: Likewise.
15967 * disk/lvm.c: Likewise.
15968 * disk/raid.c: Likewise.
15969 * disk/efi/efidisk.c: Likewise.
15970 * disk/i386/pc/biosdisk.c: Likewise.
15971 * disk/ieee1275/ofdisk.c: Likewise.
15972 * font/manager.c: Likewise.
15973 * fs/affs.c: Likewise.
15974 * fs/ext2.c: Likewise.
15975 * fs/fat.c: Likewise.
15976 * fs/fshelp.c: Likewise.
15977 * fs/hfs.c: Likewise.
15978 * fs/hfsplus.c: Likewise.
15979 * fs/iso9660.c: Likewise.
15980 * fs/jfs.c: Likewise.
15981 * fs/minix.c: Likewise.
15982 * fs/sfs.c: Likewise.
15983 * fs/ufs.c: Likewise.
15984 * fs/xfs.c: Likewise.
15985 * hello/hello.c: Likewise.
15986 * include/grub/acorn_filecore.h: Likewise.
15987 * include/grub/arg.h: Likewise.
15988 * include/grub/bitmap.h: Likewise.
15989 * include/grub/boot.h: Likewise.
15990 * include/grub/cache.h: Likewise.
15991 * include/grub/device.h: Likewise.
15992 * include/grub/disk.h: Likewise.
15993 * include/grub/dl.h: Likewise.
15994 * include/grub/elfload.h: Likewise.
15995 * include/grub/env.h: Likewise.
15996 * include/grub/err.h: Likewise.
15997 * include/grub/file.h: Likewise.
15998 * include/grub/font.h: Likewise.
15999 * include/grub/fs.h: Likewise.
16000 * include/grub/fshelp.h: Likewise.
16001 * include/grub/gzio.h: Likewise.
16002 * include/grub/hfs.h: Likewise.
16003 * include/grub/kernel.h: Likewise.
16004 * include/grub/loader.h: Likewise.
16005 * include/grub/lvm.h: Likewise.
16006 * include/grub/misc.h: Likewise.
16007 * include/grub/mm.h: Likewise.
16008 * include/grub/net.h: Likewise.
16009 * include/grub/normal.h: Likewise.
16010 * include/grub/parser.h: Likewise.
16011 * include/grub/partition.h: Likewise.
16012 * include/grub/pc_partition.h: Likewise.
16013 * include/grub/raid.h: Likewise.
16014 * include/grub/rescue.h: Likewise.
16015 * include/grub/script.h: Likewise.
16016 * include/grub/setjmp.h: Likewise.
16017 * include/grub/symbol.h: Likewise.
16018 * include/grub/term.h: Likewise.
16019 * include/grub/terminfo.h: Likewise.
16020 * include/grub/tparm.h: Likewise.
16021 * include/grub/types.h: Likewise.
16022 * include/grub/video.h: Likewise.
16023 * include/grub/efi/api.h: Likewise.
16024 * include/grub/efi/chainloader.h: Likewise.
16025 * include/grub/efi/console.h: Likewise.
16026 * include/grub/efi/console_control.h: Likewise.
16027 * include/grub/efi/disk.h: Likewise.
16028 * include/grub/efi/efi.h: Likewise.
16029 * include/grub/efi/pe32.h: Likewise.
16030 * include/grub/efi/time.h: Likewise.
16031 * include/grub/i386/linux.h: Likewise.
16032 * include/grub/i386/setjmp.h: Likewise.
16033 * include/grub/i386/types.h: Likewise.
16034 * include/grub/i386/efi/kernel.h: Likewise.
16035 * include/grub/i386/efi/loader.h: Likewise.
16036 * include/grub/i386/efi/time.h: Likewise.
16037 * include/grub/i386/pc/biosdisk.h: Likewise.
16038 * include/grub/i386/pc/boot.h: Likewise.
16039 * include/grub/i386/pc/chainloader.h: Likewise.
16040 * include/grub/i386/pc/console.h: Likewise.
16041 * include/grub/i386/pc/init.h: Likewise.
16042 * include/grub/i386/pc/kernel.h: Likewise.
16043 * include/grub/i386/pc/loader.h: Likewise.
16044 * include/grub/i386/pc/memory.h: Likewise.
16045 * include/grub/i386/pc/multiboot.h: Likewise.
16046 * include/grub/i386/pc/serial.h: Likewise.
16047 * include/grub/i386/pc/time.h: Likewise.
16048 * include/grub/i386/pc/vbe.h: Likewise.
16049 * include/grub/i386/pc/vbeblit.h: Likewise.
16050 * include/grub/i386/pc/vbefill.h: Likewise.
16051 * include/grub/i386/pc/vbeutil.h: Likewise.
16052 * include/grub/i386/pc/vga.h: Likewise.
16053 * include/grub/ieee1275/ieee1275.h: Likewise.
16054 * include/grub/ieee1275/ofdisk.h: Likewise.
16055 * include/grub/powerpc/libgcc.h: Likewise.
16056 * include/grub/powerpc/setjmp.h: Likewise.
16057 * include/grub/powerpc/types.h: Likewise.
16058 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16059 * include/grub/powerpc/ieee1275/console.h: Likewise.
16060 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16061 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16062 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16063 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16064 * include/grub/powerpc/ieee1275/time.h: Likewise.
16065 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16066 * include/grub/sparc64/libgcc.h: Likewise.
16067 * include/grub/sparc64/setjmp.h: Likewise.
16068 * include/grub/sparc64/types.h: Likewise.
16069 * include/grub/sparc64/ieee1275/console.h: Likewise.
16070 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16071 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16072 * include/grub/sparc64/ieee1275/time.h: Likewise.
16073 * include/grub/util/biosdisk.h: Likewise.
16074 * include/grub/util/getroot.h: Likewise.
16075 * include/grub/util/lvm.h: Likewise.
16076 * include/grub/util/misc.h: Likewise.
16077 * include/grub/util/raid.h: Likewise.
16078 * include/grub/util/resolve.h: Likewise.
16079 * io/gzio.c: Likewise.
16080 * kern/device.c: Likewise.
16081 * kern/disk.c: Likewise.
16082 * kern/dl.c: Likewise.
16083 * kern/elf.c: Likewise.
16084 * kern/env.c: Likewise.
16085 * kern/err.c: Likewise.
16086 * kern/file.c: Likewise.
16087 * kern/fs.c: Likewise.
16088 * kern/loader.c: Likewise.
16089 * kern/main.c: Likewise.
16090 * kern/misc.c: Likewise.
16091 * kern/mm.c: Likewise.
16092 * kern/parser.c: Likewise.
16093 * kern/partition.c: Likewise.
16094 * kern/rescue.c: Likewise.
16095 * kern/term.c: Likewise.
16096 * kern/efi/efi.c: Likewise.
16097 * kern/efi/init.c: Likewise.
16098 * kern/efi/mm.c: Likewise.
16099 * kern/i386/dl.c: Likewise.
16100 * kern/i386/efi/init.c: Likewise.
16101 * kern/i386/efi/startup.S: Likewise.
16102 * kern/i386/pc/init.c: Likewise.
16103 * kern/i386/pc/lzo1x.S: Likewise.
16104 * kern/i386/pc/startup.S: Likewise.
16105 * kern/ieee1275/ieee1275.c: Likewise.
16106 * kern/powerpc/cache.S: Likewise.
16107 * kern/powerpc/dl.c: Likewise.
16108 * kern/powerpc/ieee1275/cmain.c: Likewise.
16109 * kern/powerpc/ieee1275/crt0.S: Likewise.
16110 * kern/powerpc/ieee1275/init.c: Likewise.
16111 * kern/powerpc/ieee1275/openfw.c: Likewise.
16112 * kern/sparc64/cache.S: Likewise.
16113 * kern/sparc64/dl.c: Likewise.
16114 * kern/sparc64/ieee1275/init.c: Likewise.
16115 * kern/sparc64/ieee1275/openfw.c: Likewise.
16116 * loader/efi/chainloader.c: Likewise.
16117 * loader/efi/chainloader_normal.c: Likewise.
16118 * loader/i386/efi/linux.c: Likewise.
16119 * loader/i386/efi/linux_normal.c: Likewise.
16120 * loader/i386/pc/chainloader.c: Likewise.
16121 * loader/i386/pc/chainloader_normal.c: Likewise.
16122 * loader/i386/pc/linux.c: Likewise.
16123 * loader/i386/pc/linux_normal.c: Likewise.
16124 * loader/i386/pc/multiboot.c: Likewise.
16125 * loader/i386/pc/multiboot_normal.c: Likewise.
16126 * loader/powerpc/ieee1275/linux.c: Likewise.
16127 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16128 * normal/arg.c: Likewise.
16129 * normal/cmdline.c: Likewise.
16130 * normal/command.c: Likewise.
16131 * normal/completion.c: Likewise.
16132 * normal/execute.c: Likewise.
16133 * normal/function.c: Likewise.
16134 * normal/lexer.c: Likewise.
16135 * normal/main.c: Likewise.
16136 * normal/menu.c: Likewise.
16137 * normal/menu_entry.c: Likewise.
16138 * normal/misc.c: Likewise.
16139 * normal/parser.y: Likewise.
16140 * normal/script.c: Likewise.
16141 * normal/i386/setjmp.S: Likewise.
16142 * normal/powerpc/setjmp.S: Likewise.
16143 * normal/sparc64/setjmp.S: Likewise.
16144 * partmap/acorn.c: Likewise.
16145 * partmap/amiga.c: Likewise.
16146 * partmap/apple.c: Likewise.
16147 * partmap/gpt.c: Likewise.
16148 * partmap/pc.c: Likewise.
16149 * partmap/sun.c: Likewise.
16150 * term/gfxterm.c: Likewise.
16151 * term/terminfo.c: Likewise.
16152 * term/efi/console.c: Likewise.
16153 * term/i386/pc/console.c: Likewise.
16154 * term/i386/pc/serial.c: Likewise.
16155 * term/i386/pc/vesafb.c: Likewise.
16156 * term/i386/pc/vga.c: Likewise.
16157 * term/ieee1275/ofconsole.c: Likewise.
16158 * util/biosdisk.c: Likewise.
16159 * util/console.c: Likewise.
16160 * util/genmoddep.c: Likewise.
16161 * util/getroot.c: Likewise.
16162 * util/grub-emu.c: Likewise.
16163 * util/grub-mkdevicemap.c: Likewise.
16164 * util/grub-probe.c: Likewise.
16165 * util/lvm.c: Likewise.
16166 * util/misc.c: Likewise.
16167 * util/raid.c: Likewise.
16168 * util/resolve.c: Likewise.
16169 * util/update-grub.in: Likewise.
16170 * util/update-grub_lib.in: Likewise.
16171 * util/grub.d/00_header.in: Likewise.
16172 * util/grub.d/10_hurd.in: Likewise.
16173 * util/grub.d/10_linux.in: Likewise.
16174 * util/i386/efi/grub-install.in: Likewise.
16175 * util/i386/efi/grub-mkimage.c: Likewise.
16176 * util/i386/pc/grub-install.in: Likewise.
16177 * util/i386/pc/grub-mkimage.c: Likewise.
16178 * util/i386/pc/grub-mkrescue.in: Likewise.
16179 * util/i386/pc/grub-setup.c: Likewise.
16180 * util/i386/pc/misc.c: Likewise.
16181 * util/powerpc/ieee1275/grub-install.in: Likewise.
16182 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
16183 * util/powerpc/ieee1275/misc.c: Likewise.
16184 * video/bitmap.c: Likewise.
16185 * video/video.c: Likewise.
16186 * video/i386/pc/vbe.c: Likewise.
16187 * video/i386/pc/vbeblit.c: Likewise.
16188 * video/i386/pc/vbefill.c: Likewise.
16189 * video/i386/pc/vbeutil.c: Likewise.
16190 * video/readers/tga.c: Likewise.
16191
3572d015 161922007-07-02 Robert Millan <rmh@aybabtu.com>
16193
16194 * conf/i386-efi.rmk: Replace obsolete reference to
16195 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
16196 with util/getroot.c.
16197 * conf/powerpc-ieee1275.rmk: Likewise.
16198 * conf/sparc64-ieee1275.rmk: Likewise.
16199
16200 * util/grub-emu.c (main): Fix unchecked pointer handling.
16201
2c2a681b 162022007-07-02 Robert Millan <rmh@aybabtu.com>
16203
16204 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
16205 invocation to fail, in order to support partition-less media.
16206
16207 * util/i386/pc/grub-install.in: Likewise.
16208
16209 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
16210 which fs or partmap modules are needed (akin to its sister scripts).
16211
16212 Also use grub-probe to get rid of unportable /proc/mounts check.
16213
16214 Print the same informational message that the other scripts do, before
fe6b695a 16215 exiting.
2c2a681b 16216
6193defe 162172007-06-23 Robert Millan <rmh@aybabtu.com>
16218
fe6b695a 16219 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 16220 a font file can be found and, if so, echo the GRUB path to it.
16221
16222 * util/update-grub.in: Handle multiple terminals depending on user
16223 input, platform availability and font file presence. Propagate
16224 variables of our findings to /etc/grub.d/ children.
16225
16226 * util/grub.d/00_header.in: Handle multiple terminals, based on
16227 environment setup by update-grub.
16228
eface1dc 162292007-06-23 Robert Millan <rmh@aybabtu.com>
16230
ba50d28f 16231 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 16232
bf697e28 162332007-06-21 Robert Millan <rmh@aybabtu.com>
16234
16235 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
16236 indicate end of data section in kernel image.
16237 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
16238 GRUB_KERNEL_MACHINE_DATA_END.
16239
16240 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
16241 space for it.
16242 * kern/i386/efi/startup.S: Likewise.
16243
16244 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
16245 during image generation. Implement --prefix option to override this
16246 patch.
16247 * util/i386/efi/grub-mkimage.c: Likewise.
16248
16249 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
16250 code to make path relative to its root into a separate function.
16251
16252 * util/i386/pc/grub-install.in: Use newly provided
16253 make_system_path_relative_to_its_root() to convert ${grubdir}, then
16254 pass the result to grub-install --prefix.
16255
baa574b4 162562007-06-13 Robert Millan <rmh@aybabtu.com>
16257
16258 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
16259 DEFAULT_DEVICE_MAP.
16260 * util/grub-emu.c: Use above definitions from misc.h instead of
16261 defining them.
16262 * util/grub-mkdevicemap.c: Likewise.
16263 * util/i386/pc/grub-setup.c: Likewise.
16264 * util/grub-probe.c: Likewise.
16265 (probe): Abort with grub_util_error() when either
16266 grub_guess_root_device or grub_util_get_grub_dev fails.
16267
0215dcbf 162682007-06-12 Robert Millan <rmh@aybabtu.com>
16269
16270 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
16271 "pager" assignment.
16272 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
16273 "pcdata".
16274 * util/grub-probe.c (probe): Likewise for "drive_name".
16275
8af2ab7b 162762007-06-11 Robert Millan <rmh@aybabtu.com>
16277
16278 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
16279 not just the cdrom one.
16280
59d31694 162812007-06-11 Robert Millan <rmh@aybabtu.com>
16282
16283 * util/i386/pc/grub-mkrescue.in: Add "set -e".
16284 Add --pkglibdir=DIR option to override pkglibdir.
16285 Mention --image-type=TYPE in help output.
16286 Fix --grub-mkimage (it was a no-op).
fe6b695a 16287 Abort gracefully when no parameter is given.
59d31694 16288
7ee367e4 162892007-06-11 Robert Millan <rmh@aybabtu.com>
16290
16291 * util/i386/pc/grub-mkrescue.in: New file.
16292 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
16293 * Makefile.in: Handle bin_SCRIPTS.
16294
29b0ed46 162952007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
16296
16297 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
16298 list of video modes.
16299
c0f90770 163002007-06-06 Robert Millan <rmh@aybabtu.com>
16301
16302 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
16303 file doesn't exist, or if it is in a filesystem grub can't read.
16304
16305 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
16306 not abort if GRUB_DRIVE could not be defined. Rearrange generated
16307 header comment to fit in 80 columns when the variables are resolved.
16308
16309 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
16310 could be identified by update-grub. Remove redundant check for
fe6b695a 16311 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 16312 handles that).
16313
fb36dc26 163142007-06-04 Robert Millan <rmh@aybabtu.com>
16315
16316 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
16317
16318 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
16319
16320 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
16321
0c68c93e 163222007-06-04 Robert Millan <rmh@aybabtu.com>
16323
16324 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
16325
16326 * include/grub/partition.h: Declare grub_apple_partition_map_init and
16327 grub_apple_partition_map_fini.
16328
16329 * util/biosdisk.c
16330 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
16331 to access >2 TiB disks).
16332
16333 Print disk->total_sectors with %llu instead of %lu, since this
16334 variable is always 64-bit (prevents wrong disk size from being displayed
16335 on either >2 TiB disk or big-endian CPU).
16336
16337 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
16338 into a generic case that supports all (sane) partition maps.
16339
16340 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
16341 breaks big-endian.
16342
16343 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
16344 and grub_apple_partition_map_fini() after that.
16345
0f23eb74 163462007-06-01 Robert Millan <rmh@aybabtu.com>
16347
16348 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
16349
16350 * util/grub.d/00_header.in: Only enable gfxterm when
16351 convert_system_path_to_grub_path() succeeds.
16352
42c71976 163532007-05-20 Robert Millan <rmh@aybabtu.com>
16354
16355 * util/update-grub_lib.in: New file.
16356 * DISTLIST: Add update-grub_lib.in.
16357 * conf/common.rmk: Generate update-grub_lib and install it in
16358 $(lib_DATA).
16359 * Makefile.in: Add install routine for $(lib_DATA).
16360
16361 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
16362 function provided by update-grub_lib to support arbitrary paths of
16363 unifont.pff.
16364 * util/update-grub.in: Use convert_system_path_to_grub_path() to
16365 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
16366
5beb2291 163672007-05-19 Robert Millan <rmh@aybabtu.com>
16368
16369 * commands/i386/cpuid.c: New module.
16370 * DISTLIST: Add it.
16371 * conf/i386-efi.rmk: Enable cpuid.mod.
16372 * conf/i386-pc.rmk: Likewise.
16373
7262eca1 163742007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16375
16376 * kern/disk.c (grub_disk_read): Check return value of
16377 grub_realloc().
16378
260ba823 163792007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16380
16381 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
16382 arrays.
16383 * disk/raid.c (grub_raid_open): Likewise.
16384
1ecb6cf2 163852007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16386
16387 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
16388 stack instead of on the heap.
16389
16390 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
16391 before doing a read on it.
16392
16393 * configure.ac: Only use -fno-stack-protector for the target
16394 environment.
f19dbdb7 16395
21c8cbb1 163962007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16397
16398 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
16399 __attribute_ ((unused)) to mode_type argument.
16400
16401 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 16402
21c8cbb1 16403 * kern/misc.c (memcmp): Fix prototype.
16404
16405 * include/grub/partition.h [GRUB_UTIL]
16406 (grub_gpt_partition_map_init): Add prototype.
16407 (grub_gpt_partition_map_fini): Likewise.
16408
16409 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
16410 at the right place.
16411
16412 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
16413 (grub_fat_read_data): Likewise.
16414 (grub_fat_find_dir): Likewise.
16415
16416 * font/manager.c (find_glyph): Make table a const.
16417 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 16418
849d55d3 164192007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
16420
16421 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
16422 code, first search for device in /dev/mapper, then in /dev.
16423 (grub_util_get_grub_dev): New function.
16424 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
16425 prototype.
16426 * util/grub-probe.c (probe): Remove check for RAID, call
16427 grub_util_get_grub_dev() instead of
16428 grub_util_biosdisk_get_grub_dev().
16429 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
16430 grub_util_biosdisk_get_grub_dev().
16431 * util/i386/pc/grub-setup.c (main): Likewise.
16432
8fff7c2f 164332007-05-16 Robert Millan <rmh@aybabtu.com>
16434
16435 * DISTLIST: Update for the latest changes.
16436 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
16437 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
16438 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
16439 grub/util/biosdisk.h.
16440 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
16441 grub/util/biosdisk.h.
16442
48e12b52 164432007-05-16 Robert Millan <rmh@aybabtu.com>
16444
16445 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
16446
46b9d128 164472007-05-16 Robert Millan <rmh@aybabtu.com>
16448
16449 * util/i386/efi/grub-install.in: New.
16450 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
16451 newly added grub-install.
16452 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
16453 include.
16454 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
16455 grub/util/biosdisk.h.
16456 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
16457 grub/util/biosdisk.h.
16458
2d1a40a9 164592007-05-16 Robert Millan <rmh@aybabtu.com>
16460
16461 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
16462 * include/grub/util/biosdisk.h: ... here.
16463 * util/i386/pc/biosdisk.c: Moved to ...
16464 * util/biosdisk.c: ... here.
16465 * util/i386/pc/getroot.c: Moved to ...
16466 * util/getroot.c: ... here.
16467 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
16468 * util/grub-mkdevicemap.c: ... here.
16469 * util/i386/pc/grub-probe.c: Moved to ...
16470 * util/grub-probe.c: ... here.
16471
9e26e3bc 164722007-05-15 Robert Millan <rmh@aybabtu.com>
16473
16474 * util/update-grub.in: Remove duplicated line in grub.cfg header
16475 message.
16476
57f96397 164772007-05-13 Robert Millan <rmh@aybabtu.com>
16478
16479 * util/update-grub.in: Fix a few assumptions about the devices holding
16480 /, /boot and /boot/grub being the same.
16481 * util/grub.d/00_header.in: Likewise.
16482 * util/grub.d/10_hurd.in: Likewise.
16483 * util/grub.d/10_linux.in: Likewise.
16484
16485 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
16486 patterns. Use that to define the `.old' suffix as older than `'.
16487
16488 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
16489
16490 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
16491 the grub.cfg header message.
16492
2e610d62 164932007-05-11 Robert Millan <rmh@aybabtu.com>
16494
16495 * util/update-grub.in: Create device.map if it doesn't already exist,
16496 before attempting to run grub-probe.
16497 Check for grub-probe and grub-mkdevicemap with the same code
16498 grub-install is using.
16499 Remove test mode.
16500
3f6a10ef 165012007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
16502
16503 * Makefile.in: Add the datarootdir autoconf variable.
16504
02e7b75e 165052007-05-09 Robert Millan <rmh@aybabtu.com>
16506
16507 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 16508 fail gracefully if dev->disk->partition == NULL.
02e7b75e 16509
75f396cc 165102007-05-07 Robert Millan <rmh@aybabtu.com>
16511
16512 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
16513 determine partition map module.
16514 * util/i386/pc/grub-install.in: Use this feature to decide which
16515 partition module to load, instead of hardcoding pc and gpt.
16516
da65cb36 165172007-05-07 Robert Millan <rmh@aybabtu.com>
16518
16519 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
16520 source directory differs from build directory.
16521
b57d6a91 165222007-05-05 Robert Millan <rmh@aybabtu.com>
16523
16524 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
16525 initialisation.
16526
509d00f1 165272007-05-05 Robert Millan <rmh@aybabtu.com>
16528
16529 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
16530
c48f23ef 165312007-05-05 Robert Millan <rmh@aybabtu.com>
16532
16533 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
16534 command-line arguments via ${GRUB_CMDLINE_LINUX}.
16535
20b97658 165362007-05-05 Robert Millan <rmh@aybabtu.com>
16537
16538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
16539 (grub_probe_SOURCES): Likewise.
16540 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
16541 GPT and initialize dos_part and bsd_part accordingly.
16542 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
16543 install_bsd_part.
16544 (main): Activate gpt module for use during partition identification,
16545 and deactivate it afterwards.
16546 * util/i386/pc/grub-install.in: Add gpt module to core.img.
16547 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
16548 partition identification, and deactivate it afterwards.
16549
99123174 165502007-05-05 Robert Millan <rmh@aybabtu.com>
16551
16552 * term/i386/pc/console.c (grub_console_fini): Call
16553 grub_term_set_current() before grub_term_unregister().
16554
ebd97f6e 165552007-05-04 Robert Millan <rmh@aybabtu.com>
16556
16557 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
16558 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
16559 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
16560 and update-grub_DATA.
16561 * conf/common.rmk: Build and install update-grub components.
16562 * conf/common.mk: Regenerate.
16563 * util/update-grub.in: New. Core of update-grub.
16564 * util/grub.d/00_header.in: New. Generates grub.cfg header.
16565 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
16566 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
16567 * util/grub.d/README: New. Document grub.d directory layout.
16568
b06a264d 165692007-05-01 Robert Millan <rmh@aybabtu.com>
16570
16571 * util/grub-emu.c: Move initialization functions
16572 grub_util_biosdisk_init() and grub_init_all() before
16573 grub_util_biosdisk_get_grub_dev(), which relies on them.
16574
41f0050e 165752007-04-19 Robert Millan <rmh@aybabtu.com>
16576
16577 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
16578 it is used later.
16579
04582bb3 165802007-04-18 Jerone Young <jerone@gmail.com>
16581
f19dbdb7 16582 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 16583 stanza.
16584
08db4632 165852007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 16586
08db4632 16587 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
16588 continue on and look for device node with real device name.
16589
801b76be 165902007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 16591
fe6b695a 16592 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 16593 ability.
16594 * Makefile.in: Add autoconf package transformation code.
16595 * util/i386/pc/grub-install.in: Likewise.
16596 * util/powerpc/ieee1275/grub-install.in: Likewise.
16597
6795c4e1 165982007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
16599
16600 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
16601 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
16602 (EXT2_REVISION): Likewise.
16603 (EXT2_INODE_SIZE): Likewise.
16604 (struct grub_ext2_block_group): Added a missing member
16605 "used_dirs".
16606 (grub_ext2_read_inode): Divide by the inode size in a superblock
16607 instead of 128 to obtain INODES_PER_BLOCK.
16608 Use the macro EXT2_INODE_SIZE instead of directly using
16609 SBLOCK->INODE_SIZE.
16610
d70af616 166112007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
16612
16613 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
16614 superblock instead of the structure size to compute an
16615 offset. This fixes the problem that GRUB could not read a
16616 filesystem when inode size is different from 128-byte.
16617
3b801603 166182007-03-05 Marco Gerards <marco@gnu.org>
16619
16620 * normal/main.c (read_config_file): When "menu" is not set, create
16621 an initial context.
16622
4785bfe4 166232007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16624
16625 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
16626 (HEAP_LIMIT): New macro.
16627 (grub_claim_heap): Claim memory up to `heaplimit'.
16628
a0cbb023 166292007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16630
16631 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
16632 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
16633 (_start): Likewise.
16634 (grub_arch_modules_addr): Return address after `_end'.
16635 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
16636 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
16637 (add_segments): Calculate `_end' from phdr size and location.
16638 (ALIGN_UP): Moved to ...
16639 * include/grub/misc.h: here.
16640 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16641 New macro.
16642 (GRUB_IEEE1275_MODULE_BASE): Removed.
16643
fd7d8eba 166442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16645
16646 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
16647 loop boundary.
16648
9b09e6fc 166492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16650
16651 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
16652 All users updated.
16653 (grub_elf64_load_hook_t): Likewise.
16654 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
16655 debug output.
16656
3ce27299 166572007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16658
16659 * kern/mm.c: Update copyright.
16660 (grub_mm_debug): Correct syntax error.
16661 (grub_mm_dump_free): New function.
16662 (grub_debug_free): Call `grub_free'.
16663 * include/grub/mm.h: Update copyright.
16664 (grub_mm_dump_free): Add declaration.
16665
077d5fee 166662007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16667
16668 * include/grub/ieee1275/ieee1275.h: Update copyright.
16669 * kern/powerpc/ieee1275/init.c: Likewise.
16670 * kern/powerpc/ieee1275/openfw.c: Likewise.
16671
16672 * loader/powerpc/ieee1275/linux.c: Likewise.
16673 * include/grub/elfload.h: Likewise.
16674 * kern/elf.c: Likewise.
16675 (grub_elf32_load): Pass `base' and `size' parameters. Update all
16676 callers.
16677 (grub_elf64_load): Likewise.
16678 (grub_elf32_load_segment): Move to a nested function.
16679 (grub_elf64_load_segment): Likewise.
16680
dc946850 166812007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16682
16683 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
16684 prototype.
16685 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
16686 (grub_heap_len): Likewise.
16687 (HEAP_SIZE): New macro.
16688 (grub_claim_heap): New function.
16689 (grub_machine_init): Don't claim heap directly. Call
16690 `grub_claim_heap'.
16691 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
16692 (grub_available_iterate): New function.
16693
baa2a121 166942007-02-03 Thomas Schwinge <tschwinge@gnu.org>
16695
16696 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
16697 * configure.ac: Use it for testing the HOST and TARGET compilers.
16698
4fe9862e 166992006-12-13 Thomas Schwinge <tschwinge@gnu.org>
16700
16701 * Makefile.in (enable_grub_emu): New variable.
16702 * configure.ac (--enable-grub-emu): New option.
16703 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
16704 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
16705 * conf/i386-pc.rmk: Likewise.
16706 * conf/powerpc-ieee1275.rmk: Likewise.
16707 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
16708
a8aa5762 167092006-12-12 Marco Gerards <marco@gnu.org>
16710
16711 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
16712
16713 * kern/env.c (grub_env_unset): Don't free the member `value' when
16714 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
16715 pointer.
16716
16717 * normal/main.c (current_menu): Removed.
16718 (free_menu): Unset the `menu' environment variable.
16719 (grub_normal_menu_addentry): Make use of the environment variable
16720 `menu', instead of using the global `current_menu'. Allocate
16721 memory for the sourcecode of this entry.
16722 (read_config_file): New argument `nested', changed all callers.
16723 Only in the case of a new context, initialize a new menu. Set the
16724 `menu' environment variable.
16725 (grub_normal_execute): Don't set and unset the environment
16726 variable `menu' here anymore. Only free the menu when leaving the
16727 context.
16728
16729 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
16730 leak.
16731
957b3a3e 167322006-12-11 Marco Gerards <marco@gnu.org>
16733
16734 * normal/menu_entry.c (run): Fix off by one bug so the last line
16735 is executed. Move the loader check to outside the loop.
16736
ef875714 167372006-12-08 Hollis Blanchard <hollis@penguinppc.org>
16738
16739 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
16740
4e739985 167412006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
16742
16743 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
16744 the number of sectors. Reported by Andrey Shuvikov
16745 <mr_hyro@yahoo.com>.
f19dbdb7 16746
790707f2 167472006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
16748
16749 * kern/disk.c (grub_disk_read): When there is a read error, always
16750 try to read only the necessary data.
f19dbdb7 16751
790707f2 16752 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
16753 disk/raid.c.
16754 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
16755 prototype.
16756 [GRUB_UTIL] (grub_raid_fini): Likewise.
16757 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 16758 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 16759 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
16760 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
16761 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
16762 and grub_raid_fini().
f19dbdb7 16763
03e58196 167642006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
16765
16766 * include/grub/types.h (__unused): Rename to UNUSED.
16767 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
16768 (grub_elf64_size): Likewise.
f19dbdb7 16769
ae4f23bf 167702006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16771
16772 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
16773 grub_error_push and grub_error_pop in the error-handling path.
16774 (grub_elf32_load_segment): Only call grub_file_read with non-zero
16775 length.
16776
2166cc83 167772006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16778
16779 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
16780 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16782 (kernel_elf_SOURCES): Likewise.
16783 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
16784 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
16785 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16786 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16787 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
16788 (elf_mod_SOURCES): New variable.
16789 (elf_mod_CFLAGS): Likewise.
16790 (elf_mod_LDFLAGS): Likewise.
16791 * include/grub/types.h (__unused): New macro.
16792 * include/grub/elfload.h: New file.
16793 * kern/elf.c: Likewise.
16794 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
16795 (ELF32_LOADMASK): New macro.
16796 (ELF64_LOADMASK): Likewise.
16797 (vmlinux): Removed.
16798 (grub_linux_load32): New function.
16799 (grub_linux_load64): Likewise.
16800 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
16801 Use grub_elf_t instead of grub_file_t.
16802
a09d5aa5 168032006-11-02 Hollis Blanchard <hollis@penguinppc.org>
16804
16805 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
16806 `catch_result' to struct set_color_args.
16807
d976fc51 168082006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16809
16810 * normal/menu.c: Include grub/script.h.
16811 * normal/menu_entry.c: Likewise.
16812 * include/grub/normal.h: Do not include grub/script.h.
16813
67507549 168142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16815
16816 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
16817
69203a99 168182006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16819
16820 * kern/disk.c (grub_disk_open): Print debug messages when opening a
16821 disk.
16822 (grub_disk_close): Print debug messages when closing a disk.
16823 (grub_disk_read): Print debug messages when disk read fails.
16824 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
16825 filesystem type.
16826 * kern/partition.c: Include misc.h.
16827 (grub_partition_iterate): Print debug messages when detecting
16828 partition type.
16829
e2b8278c 168302006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16831
16832 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
16833 is negative.
16834 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
16835
97b2f2ff 168362006-10-26 Hollis Blanchard <hollis@penguinppc.org>
16837
16838 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16839 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
16840
6555d655 168412006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
16842
16843 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
16844 instead of sizeof(lv). Patch by Michael Guntsche.
16845
4d42b77f 168462006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
16847
16848 * disk/lvm.c: Rename VGS to VG_LIST.
16849 (grub_lvm_iterate): Change VGS->LV to VG-LV.
16850 (grub_lvm_open): Likewise.
16851 Thanks to Michael Guntsche for finding this bug.
16852
5d74d927 168532006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16854
16855 * configure.ac (AC_INIT): Bumped to 1.95.
16856
a1bb27e4 168572006-10-14 Robert Millan <rmh@aybabtu.com>
16858
16859 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
16860 with "/dev/.static/dev/md".
16861
e0994b8b 168622006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16863
16864 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
16865 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
16866 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
16867 DRIVE_NAME are always freed.
16868
16869 * util/i386/pc/biosdisk.c (make_device_name): Add one into
16870 DOS_PART, as a DOS partition is counted from one instead of zero
16871 now. Reported by Robert Millan.
16872
ddd5cee9 168732006-10-14 Robert Millan <rmh@aybabtu.com>
16874
16875 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
16876 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
16877 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
16878 string returned by grub_guess_root_device.
16879 * util/i386/pc/grub-setup.c: Likewise.
16880 * util/i386/pc/grub-probefs.c: Likewise.
16881
16882 * util/i386/pc/grub-probefs.c: Rename to ...
16883 * util/i386/pc/grub-probe.c: ... this.
16884 * DISTLIST: Remove grub-probefs, add grub-probe.
16885 * conf/i386-efi.rmk: Likewise.
16886 * conf/i386-pc.rmk: Likewise.
16887 * util/i386/pc/grub-install.in: Likewise.
16888
16889 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
16890 choose which information we want to print.
16891
2b002173 168922006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16893
16894 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
16895 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
16896 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
16897 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
16898 video/readers/tga.c and video/i386/pc/vbeutil.c.
16899
169002006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
16901
16902 Added support for RAID and LVM.
f19dbdb7 16903
2b002173 16904 * disk/lvm.c: New file.
16905 * disk/raid.c: Likewise.
16906 * include/grub/lvm.h: Likewise.
f19dbdb7 16907 * include/grub/raid.h: Likewise.
2b002173 16908 * include/grub/util/lvm.h: Likewise.
16909 * include/grub/util/raid.h: Likewise.
16910 * util/lvm.c: Likewise.
16911 * util/raid.c: Likewise.
16912
16913 * include/grub/disk.h (grub_disk_dev_id): Add
16914 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
16915 (grub_disk_get_size): New prototype.
16916 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
16917 returns a partition.
16918 (grub_disk_get_size): New function.
f19dbdb7 16919
2b002173 16920 * kern/i386/pc/init.c (make_install_device): Copy the prefix
16921 verbatim if grub_install_dos_part is -2.
16922
16923 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
16924 and LVM devices.
16925
16926 * util/i386/pc/grub-setup.c (setup): New argument
16927 MUST_EMBED. Force embedding of GRUB when the argument is
16928 true. Close FILE before returning.
16929 (main): Add support for RAID and LVM.
f19dbdb7 16930
2b002173 16931 * conf/common.rmk: Add RAID and LVM modules.
16932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
16933 util/lvm.c.
16934 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
16935
16936 * kern/misc.c (grub_strstr): New function.
16937 * include/grub/misc.h (grub_strstr): New prototype.
16938
050548d0 169392006-10-10 Tristan Gingold <tristan.gingold@bull.net>
16940
16941 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16942
da849d2d 169432006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16944
16945 * kern/misc.c (grub_strtoull): Guess the base only if not
16946 specified.
16947
97b2f2ff 169482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16949
16950 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16951 PowerMac support.
16952
97b2f2ff 169532006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16954
16955 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16956
16957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16958 Remove `flags' argument. All callers changed.
16959 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16960 (IEEE1275_IHANDLE_INVALID): New variable.
16961 (IEEE1275_CELL_INVALID): New variable.
16962 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16963 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16964 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16965 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16966 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16967 codes from Open Firmware. All callers updated.
16968 (grub_ieee1275_next_property): Directly return Open Firmware return
16969 code.
16970 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16971 Standardize error checking from `grub_ieee1275_get_property'.
16972 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16973 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16974
97b2f2ff 169752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16976
16977 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16978 `instance_to_package_args' to `instance_to_path_args'.
16979
16980 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16981 `grub_ieee1275_chosen'.
16982
16983 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16984 `grub_ieee1275_interpret'.
16985
97b2f2ff 169862006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16987
16988 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16989
97b2f2ff 169902006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16991
16992 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16993 (__cmpdi): Likewise.
16994
16995 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16996 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16997 `grub_ssize_t'.
16998
02bb8acc 16999 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 17000
17001 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
17002 to type `grub_ssize_t'.
17003 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
17004
7f9a8531 170052006-09-22 Marco Gerards <marco@gnu.org>
17006
17007 * normal/script.c (grub_script_create_cmdmenu): Skip leading
17008 newlines.
17009
b5ef1102 170102006-09-22 Marco Gerards <marco@gnu.org>
17011
17012 * commands/echo.c: New file.
17013
17014 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
17015
17016 * conf/common.rmk (echo_mod_SOURCES): New variable.
17017 (echo_mod_CFLAGS): Likewise.
17018 (echo_mod_LDFLAGS): Likewise.
17019
2cff3677 170202006-09-22 Marco Gerards <marco@gnu.org>
17021
17022 * normal/main.c (get_line): Malloc memory instead of using
17023 preallocated memory. Removed the arguments `cmdline' and
17024 `max_len'. Updated all callers.
17025
6ba4688b 170262006-09-22 Marco Gerards <marco@gnu.org>
17027
17028 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17029 (normal_mod_DEPENDENCIES): Likewise.
17030
17031 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17032 (normal_mod_DEPENDENCIES): Likewise.
17033
17034 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17035
e02ac02c 170362006-09-22 Johan Rydberg <jrydberg@gnu.org>
17037
17038 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17039 programs.
17040 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17041 (normal_mod_DEPENDENCIES): Likewise.
17042 * conf/i386-pc.mk: Regenerate.
17043 * conf/i386-efi.mk: Likewise
17044 * conf/common.mk: Likewise.
17045 * conf/powerpc-ieee1275.mk: Likewise.
17046 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17047
8d252e44 170482006-09-22 Robert Millan <rmh@aybabtu.com>
17049
17050 Sync with i386 version.
17051 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17052 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17053
209bf7ac 170542006-09-21 Robert Millan <rmh@aybabtu.com>
17055
17056 Import from GRUB Legacy (lib/device.c):
17057 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17058 (init_device_map) [__linux__]: Add support for I2O devices.
17059
6b146090 170602006-09-14 Marco Gerards <marco@gnu.org>
17061
17062 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17063 `-melf_i386'.
17064
e38600a8 170652006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17066
17067 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17068 /boot/grub/*.lst.
78fa1790 17069
2952da5d 17070 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17071
2952da5d 17072 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17073 before adding it to device.map.
17074
01b82a64 170752006-08-15 Johan Rydberg <jrydberg@gnu.org>
17076
fe6b695a 17077 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17078 compiles a file; using the -MD option.
17079 * conf/common.mk: Regenerate.
17080 * conf/i386-pc.mk: Likewise.
17081 * conf/i386-efi.mk: Likewise.
17082 * conf/powerpc-ieee1275.mk: Likewise.
17083 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17084
1064790d 170852006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17086
17087 Move the prototypes of grub_setjmp and grub_longjmp to
17088 cpu/setjmp.h, so that each architecture may specify different
17089 attributes.
f19dbdb7 17090
1064790d 17091 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17092 (grub_longjmp): Likewise.
17093 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17094 (grub_longjmp): Likewise.
17095 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17096 (grub_longjmp): Likewise.
17097
17098 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17099 [!GRUB_UTIL] (grub_longjmp): Removed.
17100
29dda3ed 171012006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17102
17103 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17104 "color!" method does not return any value.
17105
ad2a06ed 171062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17107
17108 * include/grub/bitmap.h: New file.
17109
17110 * include/grub/i386/pc/vbeutil.h: Likewise.
17111
17112 * video/bitmap.c: Likewise.
17113
17114 * video/readers/tga.c: Likewise.
17115
17116 * video/i386/pc/vbeutil.c: Likewise.
17117
17118 * commands/videotest.c: Code cleanup and updated to reflect to new
17119 video API.
17120
17121 * term/gfxterm.c: Likewise.
17122
17123 * video/video.c: Likewise.
17124
17125 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
17126 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
17127 (bitmap_mod_SOURCES): New entry.
17128 (bitmap_mod_CFLAGS): Likewise.
17129 (bitmap_mod_LDFLAGS): Likewise.
17130 (tga_mod_SOURCES): Likewise.
17131 (tga_mod_CFLAGS): Likewise.
17132 (tga_mod_LDFLAGS): Likewise.
17133
17134 * include/grub/video.h (grub_video_blit_operators): New enum type.
17135 (grub_video_render_target): Changed as forward declaration and moved
17136 actual definition to be video driver specific.
17137 (grub_video_adapter.blit_bitmap): Added blitting operator.
17138 (grub_video_adapter.blit_render_target): Likewise.
17139 (grub_video_blit_bitmap): Likewise.
17140 (grub_video_blit_render_target): Likewise.
17141
17142 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
17143 driver specific render target definition.
17144 (grub_video_vbe_map_rgba): Added driver internal helper.
17145 (grub_video_vbe_unmap_color): Updated to use
17146 grub_video_i386_vbeblit_info.
17147 (grub_video_vbe_get_video_ptr): Likewise.
17148
17149 * include/grub/i386/pc/vbeblit.h
17150 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
17151 grub_video_i386_vbeblit_info.
17152 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17153 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17154 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17155 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17156 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17157 (grub_video_i386_vbeblit_index_index): Likewise.
17158 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
17159 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17160 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17161 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
17162 operator.
17163 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
17164 operator.
17165
17166 * video/i386/pc/vbeblit.c: Updated to reflect changes on
17167 include/grub/i386/pc/vbeblit.h.
17168
17169 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
17170 Updated to use grub_video_i386_vbeblit_info.
17171 (grub_video_i386_vbefill_R8G8B8): Likewise.
17172 (grub_video_i386_vbefill_index): Likewise.
17173 (grub_video_i386_vbefill): Added generic filler.
17174
17175 * video/i386/pc/vbefill.c: Updated to reflect changes on
17176 include/grub/i386/pc/vbefill.h.
17177
17178 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
17179 grub_video_i386_vbeblit_info.
17180 (grub_video_vbe_unmap_color): Likewise.
17181 (grub_video_vbe_blit_glyph): Likewise.
17182 (grub_video_vbe_scroll): Likewise.
17183 (grub_video_vbe_draw_pixel): Removed function.
17184 (grub_video_vbe_get_pixel): Likewise.
17185 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
17186 updated code to use it.
17187 (common_blitter): Added common blitter for render target and bitmap.
17188 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
17189 (grub_video_vbe_blit_render_target): Likewise.
17190
bc8c036d 171912006-07-30 Johan Rydberg <jrydberg@gnu.org>
17192
17193 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
17194 is in text mode if there is no console control protocol instance
17195 available.
17196
684a8eff 171972006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17198
17199 * include/grub/video.h: Code cleanup.
17200
17201 * include/grub/i386/pc/vbe.h: Likewise.
17202
17203 * video/i386/pc/vbe.c: Likewise.
17204
17205 * video/i386/pc/vbeblit.c: Likewise.
17206
17207 * video/i386/pc/vbefill.c: Likewise.
17208
17209 * video/video.c: Likewise. Also added more comments.
17210
5915059b 172112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17212
17213 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
17214 (struct grub_biosdisk_dap): Likewise.
17215
17216 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
17217 linkage settings for all functions.
17218
90ce5d56 172192006-07-12 Marco Gerards <marco@gnu.org>
17220
17221 * configure.ac (--enable-mm-debug): Fix typo.
17222
17223 * genkernsyms.sh.in: Use proper quoting for `CC'.
17224
43e7f879 172252006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
17226
17227 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
17228 (normal_mod_ASFLAGS): Remove "-m32".
17229
4889bdec 172302006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
17231
17232 * util/misc.c: Include config.h.
17233 [!HAVE_MEMALIGN]: Do not include malloc.h.
17234 (grub_memalign): Use posix_memalign, if present. Then, use
17235 memalign, if present. Otherwise, emit an error.
17236
17237 * util/grub-emu.c: Do not include malloc.h.
17238
17239 * include/grub/util/misc.h: Include unistd.h. This is required for
17240 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
17241 D. Eades III <hde@foobar-qux.org>.
17242
17243 * configure.ac (AC_GNU_SOURCE): Added.
17244 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
17245 type.
17246
fd39d4da 172472006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
17248
17249 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
17250 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
17251
b786f3b5 172522006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
17253
17254 * include/grub/types.h (grub_host_addr_t): Rename to
17255 grub_target_addr_t.
17256 (grub_host_off_t): Rename to grub_target_off_t.
17257 (grub_host_size_t): Rename to grub_target_size_t.
17258 (grub_host_ssize_t): Rename to grub_target_ssize_t.
17259 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
17260
17261 * include/grub/kernel.h (struct grub_module_header): Change type
17262 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
17263 (grub_module_info): Likewise.
f19dbdb7 17264
051988bb 172652006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17266
17267 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
17268 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
17269 Velazquez <jesus.velazquez@gmail.com>.
17270
deae281b 172712006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17272
17273 Count partitions from 1 instead of 0 in the string representation
17274 of partitions. Still use 0-based internally.
f19dbdb7 17275
deae281b 17276 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
17277 (sun_partition_map_iterate): Use grub_partition_t instead of
17278 struct grub_partition *. Cast DESC->START_CYLINDER to
17279 grub_uint64_t after converting the endian.
17280 (sun_partition_map_probe): Subtract 1 for PARTNUM.
17281 (sun_partition_map_get_name): Add 1 to P->INDEX.
17282
17283 * partmap/pc.c (grub_partition_parse): Subtract 1 for
17284 PCDATA->DOS_PART.
17285 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
17286
17287 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
17288 zero instead of one.
17289 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
17290 (gpt_partition_map_get_name): Add 1 into P->INDEX.
17291
17292 * partmap/apple.c (apple_partition_map_iterate): Change the type
17293 of POS to unsigned.
17294 (apple_partition_map_probe): Subtract 1 for PARTNUM.
17295 (apple_partition_map_get_name): Add 1 into P->INDEX.
17296
17297 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
17298 of POS to unsigned.
17299 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
17300 calculate the offset of a partition.
17301 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
17302 (amiga_partition_map_get_name): Add 1 into P->INDEX.
17303
17304 * partmap/acorn.c (acorn_partition_map_find): Change the type of
17305 SECTOR to grub_disk_addr_t.
17306 (acorn_partition_map_iterate): Likewise.
17307 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
17308 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
17309 top.
17310 (acorn_partition_map_get_name): Add 1 into P->INDEX.
17311
17312 * kern/i386/pc/init.c (make_install_device): Add 1 into
17313 GRUB_INSTALL_DOS_PART.
17314
17315 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
17316 conditional.
17317
524a1e6a 173182006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17319
17320 Clean up the code to support 64-bit addressing in disks and
17321 files. This change is not enough for filesystems yet.
f19dbdb7 17322
524a1e6a 17323 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
17324 type of "start" to grub_uint64_t.
17325 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
17326 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
17327 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
17328 convert addresses.
17329
17330 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
17331 to grub_disk_addr_t.
17332
17333 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
17334 string.
17335
17336 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17337
17338 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
17339 to char *.
17340
17341 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
17342
17343 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
17344
17345 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
17346
17347 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
17348 to grub_off_t, to detect an error from grub_file_seek.
17349 (grub_multiboot_load_elf32): Likewise.
17350
17351 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
17352 maximum unsigned long value when an overflow is detected.
17353 (grub_strtoull): New function.
17354 (grub_divmod64): Likewise.
17355 (grub_lltoa): use grub_divmod64.
17356
17357 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
17358 grub_disk_addr_t.
17359 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
17360 the pointer to next character. Use grub_strtoull instead of
17361 grub_strtoul.
17362 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
17363 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
17364 respectively.
17365
fe6b695a 17366 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 17367 return value is signed.
17368 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
17369 test if OFFSET is less than zero, as OFFSET is unsigned now.
17370
17371 * kern/disk.c (struct grub_disk_cache): Change the type of
17372 "sector" to grub_disk_addr_t.
17373 (grub_disk_cache_get_index): Change the type of SECTOR to
17374 grub_disk_addr_t. Calculate the hash with SECTOR casted to
17375 unsigned after shifting.
17376 (grub_disk_cache_invalidate): Change the type of SECTOR to
17377 grub_disk_addr_t.
17378 (grub_disk_cache_unlock): Likewise.
17379 (grub_disk_cache_store): Likewise.
17380 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
17381 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
17382 grub_disk_addr_t and grub_uint64_t, respectively.
17383 (grub_disk_read): 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 START_SECTOR, LEN and
17386 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
17387 respectively.
17388 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
17389 body, as the value of OFFSET is tweaked by
17390 grub_disk_check_range. Change the types of LEN and N to
17391 grub_size_t.
17392
17393 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
17394 and "saved_offset" to grub_off_t.
17395 (test_header): Cast BUF to char *.
17396 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
17397 to char *.
17398 (grub_gzio_read): Change the types of OFFSET and SIZE to
17399 grub_off_t and grub_size_t, respectively.
17400
17401 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
17402 Removed.
17403 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
17404 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
17405 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
17406 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
17407 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
17408
17409 * include/grub/types.h (grub_off_t): Unconditionally set to
17410 grub_uint64_t.
17411 (grub_disk_addr_t): Changed to grub_uint64_t.
17412
17413 * include/grub/partition.h (struct grub_partition): Change the
17414 types of "start", "len" and "offset" to grub_disk_addr_t,
17415 grub_uint64_t and grub_disk_addr_t, respectively.
17416 (grub_partition_get_start): Return grub_disk_addr_t.
17417 (grub_partition_get_len): Return grub_uint64_t.
17418
17419 * include/grub/misc.h (grub_strtoull): New prototype.
17420 (grub_divmod64): Likewise.
17421
17422 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
17423 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
17424 grub_off_t, respectively.
17425 All callers and references changed.
17426
17427 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
17428 grub_size_t in "read".
17429 All callers and references changed.
17430
17431 * include/grub/file.h (struct grub_file): Change the types of
17432 "offset" and "size" to grub_off_t and grub_off_t,
17433 respectively. Change the type of SECTOR to grub_disk_addr_t in
17434 "read_hook".
17435 (grub_file_read): Change the type of LEN to grub_size_t.
17436 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
17437 grub_off_t.
17438 (grub_file_size): Return grub_off_t.
17439 (grub_file_tell): Likewise.
17440 All callers and references changed.
17441
17442 * include/grub/disk.h (struct grub_disk_dev): Change the types of
17443 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
17444 "write".
17445 (struct grub_disk): Change the type of "total_sectors" to
17446 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 17447 "read_hook".
524a1e6a 17448 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
17449 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
17450 (grub_disk_write): Likewise.
17451 All callers and references changed.
17452
17453 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
17454 char * for grub_strncmp to silence gcc.
17455 (grub_iso9660_mount): Likewise.
17456 (grub_iso9660_mount): Likewise.
17457 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
17458 return statement.
17459 (grub_iso9660_iterate_dir): Likewise.
17460 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
17461
17462 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
17463 LEN to grub_disk_addr_t and grub_size_t, respectively.
17464
17465 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17466
17467 * fs/jfs.c (grub_jfs_read_file): Likewise.
17468
17469 * fs/minix.c (grub_jfs_read_file): Likewise.
17470
17471 * fs/sfs.c (grub_jfs_read_file): Likewise.
17472
17473 * fs/ufs.c (grub_jfs_read_file): Likewise.
17474
17475 * fs/xfs.c (grub_jfs_read_file): Likewise.
17476
17477 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
17478 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
17479 respectively.
17480
17481 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
17482 BLKNR to -1 instead of returning GRUB_ERRNO.
17483 (grub_ext2_read_file): Change the types of SECTOR and
17484 LEN to grub_disk_addr_t and grub_size_t, respectively.
17485
17486 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
17487 LEN to grub_disk_addr_t and grub_size_t, respectively.
17488
17489 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
17490 grub_file_read.
17491
17492 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
17493 string. Do not cast SECTOR explicitly.
17494
17495 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
17496 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
17497 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
17498 grub_disk_addr_t and grub_size_t, respectively. If the sector is
17499 over 2TB and LBA mode is not supported, raise an error.
17500 (get_safe_sectors): New function.
17501 (grub_biosdisk_read): Use get_safe_sectors.
17502 (grub_biosdisk_write): Likewise.
17503
17504 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
17505 (grub_efidisk_write): Likewise.
17506
17507 * disk/loopback.c (delete_loopback): Cosmetic changes.
17508 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
17509 correctly.
17510 (grub_loopback_open): Likewise.
17511 (grub_loopback_read): Likewise. Also, change the type of POS to
17512 grub_off_t, and fix the usage of grub_memset.
17513
17514 * commands/i386/pc/play.c: Include grub/machine/time.h.
17515
17516 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
17517 print FILE->SIZE.
17518
17519 * commands/configfile.c: Include grub/env.h.
17520
17521 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
17522 GRUB_ERRNO directly instead. Change the type of POS to
17523 grub_off_t. Follow the coding standard.
17524
17525 * commands/blocklist.c: Include grub/partition.h.
17526 (grub_cmd_blocklist): Return an error if the underlying device is
17527 not a disk. Take the starting sector of a partition into account,
17528 if a partition is used.
17529
17530 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
17531 a length field.
17532 (lba_mode): Support 64-bit addresses.
17533 (chs_mode): Likewise.
17534 (copy_buffer): Adapted to the new offsets of a length field and a
17535 segment field.
17536 (blocklist_default_start): Allocate 64-bit space.
17537
17538 * boot/i386/pc/boot.S (force_lba): Removed.
17539 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 17540 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 17541 space.
17542 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
17543 is useless.
17544 (lba_mode): Refactored to support a 64-bit address. More size
17545 optimization.
17546 (setup_sectors): Likewise.
17547
53af98ad 175482006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17549
17550 * DISTLIST: Added include/grub/i386/linux.h. Removed
17551 include/grub/i386/pc/linux.h
17552
17553 * configure.ac (AC_INIT): Bumped to 1.94.
17554
17555 * config.guess: Updated from gnulib.
17556 * config.sub: Likewise.
17557 * install-sh: Likewise.
17558 * mkinstalldirs: Likewise.
17559
b4c1940a 175602006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17561
17562 * conf/common.rmk (grub_modules_init.lst): Depended on
17563 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
17564 MODSRCFILES.
17565
17566 * genmk.rb (PModule::rule): Reverted the previous change.
17567
cfca1cfd 175682006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17569
17570 * conf/common.rmk (grub_modules_init.lst): Depends on
17571 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
17572 that the target does not exist before producing.
17573 (grub_modules_init.h): Remove the target before generating.
17574 (grub_emu_init.c): Likewise.
17575
17576 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
17577
aa6d7826 175782006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
17579
17580 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
17581 for the target-specific tests. Make sure that we also have the
17582 up-to-date target variables for those tests.
17583
26c607b9 175842006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17585
17586 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
17587 (PModule::rule): Likewise.
17588
0162321a 175892006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17590
17591 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
17592 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
17593 target-specific flags should be prefixed.
17594 (PModule::rule): Likewise.
17595
6c826348 175962006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
17597
17598 * configure.ac (CMP): Check if cmp is available explicitly.
17599
b977bf01 176002006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
17601
17602 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
17603 (target_cpu): New variable.
17604 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 17605
b977bf01 17606 * util/i386/pc/grub-install.in (host_cpu): Removed.
17607 (target_cpu): New variable.
17608 (pkglibdir): Use target_cpu instead of host_cpu.
17609
17610 * util/genmoddep.c: Removed.
f19dbdb7 17611
b977bf01 17612 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
17613 instead of GRUB_HOST_SIZEOF_VOID_P.
17614 * kern/dl.c: Likewise.
17615
17616 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
17617 ...
17618 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17619 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17620 (GRUB_TARGET_SIZEOF_LONG): ... this.
17621 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17622 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17623 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17624 to ...
17625 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17626 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17627 (GRUB_TARGET_SIZEOF_LONG): ... this.
17628 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17629 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17630 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17631 to ...
17632 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17633 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17634 (GRUB_TARGET_SIZEOF_LONG): ... this.
17635 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17636 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17637
17638 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
17639 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
17640 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
17641 instead of GRUB_HOST_SIZEOF_LONG.
17642 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
17643 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
17644 GRUB_CPU_WORDS_BIGENDIAN.
17645 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
17646 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
17647 grub_host_ssize_t.
17648
17649 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
17650 (genmoddep_SOURCES): Likewise.
17651 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
17652 (genmoddep_SOURCES): Likewise.
17653 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
17654 (genmoddep_SOURCES): Likewise.
17655 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
17656 Likewise.
17657 (genmoddep_SOURCES): Likewise.
17658
17659 * genmoddep.awk: New file.
17660
17661 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
17662 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
17663 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
17664 (PModule::rule): Likewise.
17665 (Program::rule): Likewise.
17666 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
17667 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
17668 respectively.
17669
17670 * configure.ac: Rewritten intensively to use host and target
17671 instead of build and host, respectively.
17672
17673 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
17674 (host_cpu): Removed.
17675 (target_cpu): New variable.
17676 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
17677 (BUILD_CC): Removed.
17678 (BUILD_CFLAGS): Likewise.
17679 (BUILD_CPPFLAGS): Likewise.
17680 (TARGET_CC): New variable.
17681 (TARGET_CFLAGS): Likewise.
17682 (TARGET_CPPFLAGS): Likewise.
17683 (TARGET_LDFLAGS): Likewise.
17684 (AWK): Likewise.
17685 (include): Use target_cpu instead of host_cpu.
17686 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 17687
b977bf01 17688 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
17689
f09771a1 176902006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
17691
17692 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
17693 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
17694 field 'false' to 'exec_on_false'.
17695 (grub_script_create_cmdif): Renamed argument names to reflect above
17696 changes.
17697
17698 * normal/execute.c (grub_script_execute_cmdif): Likewise.
17699
17700 * normal/script.c (grub_script_create_cmdif): Likewise.
17701
118f4fb3 177022006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
17703
17704 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
17705 top.
17706 (grub_hfsplus_btree_recptr): Likewise.
17707 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
17708 FILEBLOCK both to pass a block number and store next block
17709 number.
17710 (grub_hfsplus_read_block): Rewritten heavily to support an extent
17711 overflow file correctly. Specify errors appropriately, because
17712 fshelp expects that GRUB_ERRNO is set when fails. Reuse
17713 grub_hfsplus_btree_recptr to get the pointer to a found key.
17714 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
17715 is found.
17716
17717 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
17718 linux.mod.
17719 (_linux_mod_SOURCES): New variable.
17720 (_linux_mod_CFLAGS): Likewise.
17721 (_linux_mod_LDFLAGS): Likewise.
17722 (linux_mod_SOURCES): Likewise.
17723 (linux_mod_CFLAGS): Likewise.
17724 (linux_mod_LDFLAGS): Likewise.
17725
17726 * DISTLIST: Added loader/i386/efi/linux.c,
17727 loader/i386/efi/linux_normal.c and
17728 include/grub/i386/efi/loader.h.
17729
17730 * loader/i386/efi/linux.c: New file.
17731 * loader/i386/efi/linux_normal.c: Likewise.
17732 * include/grub/i386/efi/loader.h: Likewise.
17733
89a7d726 177342006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
17735
17736 * commands/blocklist.c: New file.
17737
17738 * DISTLIST: Added commands/blocklist.c.
17739
17740 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 17741 color for the background, and a darker color for the foreground.
89a7d726 17742 (grub_console_checkkey): Return READ_KEY.
17743 (grub_console_cls): Set the background to
17744 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
17745
17746 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
17747
17748 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
17749 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
17750
17751 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
17752 prototype.
17753
17754 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
17755 BG. The spec is wrong again.
17756
17757 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
17758 prototype.
17759 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
17760
17761 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
17762 commands/blocklist.c.
17763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 17764
89a7d726 17765 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
17766 (blocklist_mod_SOURCES): New variable.
17767 (blocklist_mod_CFLAGS): Likewise.
17768 (blocklist_mod_LDFLAGS): Likewise.
17769
75c8f258 177702006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
17771
17772 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
17773 duplication.
17774 (lba_mode): Use %eax more intensively to reduce the code size.
17775
da2eb181 177762006-05-20 Marco Gerards <marco@gnu.org>
17777
17778 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
17779
17780 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
17781 for `menuentry'.
17782 (script): Accept leading newlines.
17783 (newlines): New rule to describe 0 or more newlines.
17784 (commands): Accept `command' with trailing newline. Fixed the
17785 order in which arguments were passed to `grub_script_add_cmd'.
17786 Accept commands separated by newlines.
17787 (function): Changed to accept newlines.
17788 (menuentry) Rewritten.
17789
17790 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
17791 front of the list, instead of to the end.
17792
577b4050 177932006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
17794
17795 * util/i386/pc/grub-install.in (bindir): New variable.
17796 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
17797 Shaver <lbgwjl@gmail.com>.
17798
0d6e1189 177992006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
17800
17801 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
17802 grub/machine/linux.h
17803 * loader/i386/pc/linux.c: Likewise.
17804
17805 * include/grub/i386/pc/linux.h: Moved to ...
17806 * include/grub/i386/linux.h: ... here.
17807
17808 * include/grub/i386/linux.h (struct linux_kernel_params): New
17809 struct.
f19dbdb7 17810
31b86e9f 178112006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
17812
17813 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
17814 checking.
17815 (grub_video_vbe_blit_glyph): Likewise.
17816 (grub_video_vbe_blit_bitmap): Likewise.
17817 (grub_video_vbe_blit_render_target): Likewise.
17818
83b984de 178192006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
17820
17821 * configure.ac (--with-platform): Properly quote the square
17822 brackets.
17823
5f0413bd 178242006-05-08 Marco Gerards <marco@gnu.org>
17825
17826 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
17827 this...
17828 (kernel_elf_HEADERS): ...to this. Updated all users.
17829 (grubof_symlist.c): Renamed from this...
17830 (kernel_elf_symlist.c): ...to this. Updated all users.
17831 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17832 (grubof_SOURCES): Renamed from this...
17833 (kernel_elf_SOURCES): ...to this.
17834 (grubof_HEADERS): Renamed from this...
17835 (kernel_elf_HEADERS): ...to this.
17836 (grubof_CFLAGS): Renamed from this...
17837 (kernel_elf_CFLAGS): ...to this.
17838 (grubof_ASFLAGS): Renamed from this...
17839 (kernel_elf_ASFLAGS): ...to this.
17840 (grubof_LDFLAGS): Renamed from this...
17841 (kernel_elf_LDFLAGS): ...to this.
17842
17843 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
17844 this...
17845 (kernel_elf_HEADERS): ...to this. Updated all users.
17846 (grubof_symlist.c): Renamed from this...
17847 (kernel_elf_symlist.c): ...to this. Updated all users.
17848 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17849 (grubof_SOURCES): Renamed from this...
17850 (kernel_elf_SOURCES): ...to this.
17851 (grubof_HEADERS): Renamed from this...
17852 (kernel_elf_HEADERS): ...to this.
17853 (grubof_CFLAGS): Renamed from this...
17854 (kernel_elf_CFLAGS): ...to this.
17855 (grubof_ASFLAGS): Renamed from this...
17856 (kernel_elf_ASFLAGS): ...to this.
17857 (grubof_LDFLAGS): Renamed from this...
17858 (kernel_elf_LDFLAGS): ...to this.
17859
17860 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
17861 `kernel.elf' instead of `grubof'.
17862
05568c2e 178632006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
17864
17865 Add --with-platform to configure. Use pkglibdir instead of
17866 pkgdatadir. This is reported by Roger Leigh.
17867
17868 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
17869 (host_vendor): Likewise.
17870 (host_os): Likewise.
17871 (pkgdatadir): Likewise.
17872 (platform): New variable.
17873 (pkglibdir): Likewise.
17874 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 17875
05568c2e 17876 * util/i386/pc/grub-install.in (datadir): Removed.
17877 (host_vendor): Likewise.
17878 (host_os): Likewise.
17879 (pkgdatadir): Likewise.
17880 (platform): New variable.
17881 (pkglibdir): Likewise.
17882 Use PKGLIBDIR instead of PKGDATADIR.
17883
17884 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
17885 instead of GRUB_DATADIR.
17886 (main): Likewise.
17887 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17888 (main): Likewise.
17889 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17890 (main): Likewise.
17891
17892 * configure.ac (--with-platform): New option.
17893 Use PLATFORM instead of HOST_VENDOR to specify a platform.
17894
17895 * Makefile.in: Include a makefile based on PLATFORM instead of
17896 HOST_VENDOR.
17897 (pkgdatadir): Not appended by the machine type.
17898 (pkglibdir): Appended by the machine type.
17899 (host_vendor): Removed.
17900 (platform): New variable.
17901 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
17902 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
17903 (uninstall): Likewise.
17904
4e93851c 179052006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
17906
17907 Use the environment context in the menu. Remove the commands
17908 "default" and "timeout", and use variables instead.
f19dbdb7 17909
4e93851c 17910 * normal/menu.c: Include grub/env.h.
17911 (print_entry): Cast TITLE to silence gcc.
17912 (get_timeout): New function.
17913 (set_timeout): Likewise.
17914 (get_entry_number): Likewise.
17915 (run_menu): Use a default entry, a fallback entry and a timeout
17916 in the environment variables "default", "fallback" and
17917 "timeout". Also, tweak the default entry if it is not within the
17918 current menu entries.
17919 (grub_menu_run): Use a fallback entry in the environment variable
17920 "fallback".
17921
17922 * normal/main.c (read_config_file): Do not initialize
17923 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
17924 NEWMENU->TIMEOUT.
17925 (grub_normal_execute): Use a data slot to store the menu.
17926
17927 * include/grub/normal.h (struct grub_menu): Removed default_entry,
17928 fallback_entry and timeout.
17929 (struct grub_menu_list): Removed.
17930 (grub_menu_list_t): Likewise.
17931 (struct grub_context): Likewise.
17932 (grub_context_t): Likewise.
17933 (grub_context_get): Likewise.
17934 (grub_context_get_current_menu): Likewise.
17935 (grub_context_push_menu): Likewise.
17936 (grub_context_pop_menu): Likewise.
17937 (grub_default_init): Likewise.
17938 (grub_default_fini): Likewise.
17939 (grub_timeout_init): Likewise.
17940 (grub_timeout_fini): Likewise.
17941
17942 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17943 and timeout.mod.
17944 (normal_mod_SOURCES): Removed normal/context.c.
17945
17946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17947 commands/default.c, commands/timeout.c and normal/context.c.
17948 (normal_mod_SOURCES): Removed normal/context.c.
17949
17950 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17951 commands/timeout.c and normal/context.c.
17952 (normal_mod_SOURCES): Removed normal/context.c.
17953
17954 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17955 commands/default.c, commands/timeout.c and normal/context.c.
17956 (normal_mod_SOURCES): Removed normal/context.c.
17957
17958 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17959 timeout.mod.
17960 (default_mod_SOURCES): Removed.
17961 (default_mod_CFLAGS): Likewise.
17962 (default_mod_LDFLAGS): Likewise.
17963 (timeout_mod_SOURCES): Removed.
17964 (timeout_mod_CFLAGS): Likewise.
17965 (timeout_mod_LDFLAGS): Likewise.
17966
17967 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17968 normal/context.c.
17969
17970 * commands/default.c: Removed.
17971 * commands/timeout.c: Likewise.
17972 * normal/context.c: Likewise.
17973
1eb9cc1d 179742006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17975
17976 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17977
385bd9c1 179782006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17979
17980 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17981 "next" to "prev" for readability.
17982 (struct grub_env_sorted_var): New struct.
17983 (grub_env_context): Renamed to ...
17984 (initial_context): ... this.
17985 (grub_env_var_context): Renamed to ...
17986 (current_context): ... this.
17987 (grub_env_find): Look only at CURRENT_CONTEXT.
17988 (grub_env_context_open): Rewritten to copy exported variables from
17989 previous context.
17990 (grub_env_context_close): Rewritten according to the new
17991 scheme. Also, add an assertion to prevent the initial context from
17992 removed.
17993 (grub_env_insert): Removed the code for the sorted list.
17994 (grub_env_remove): Likewise.
17995 (grub_env_export): Simply mark the variable with
17996 GRUB_ENV_VAR_GLOBAL.
17997 (grub_env_set): A cosmetic change for naming consistency.
17998 (grub_env_get): Likewise.
17999 (grub_env_unset): Likewise.
18000 (grub_env_iterate): Rewritten to sort variables within this
18001 function.
18002 (grub_register_variable_hook): Fixed for naming consistency. Call
18003 grub_env_find again, only if NAME is not found at the first time.
18004 (mangle_data_slot_name): New function.
18005 (grub_env_set_data_slot): Likewise.
18006 (grub_env_get_data_slot): Likewise.
18007 (grub_env_unset_data_slot): Likewise.
18008
18009 * include/grub/env.h (grub_env_var_type): New enum.
18010 (GRUB_ENV_VAR_LOCAL): New constant.
18011 (GRUB_ENV_VAR_GLOBAL): Likewise.
18012 (GRUB_ENV_VAR_DATA): Likewise.
18013 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
18014 "type".
18015 (grub_env_set): Replace VAR with NAME for consistency.
18016 (grub_register_variable_hook): Likewise.
18017 (grub_env_export): Specify the name of the argument.
18018 (grub_env_set_data_slot): New prototype.
18019 (grub_env_get_data_slot): Likewise.
18020 (grub_env_unset_data_slot): Likewise.
18021
7f362539 180222006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18023
18024 Extend the loader so that GRUB can accept a loader which comes
18025 back to GRUB when a loaded image exits. Also, this change adds
18026 support for a chainloader on EFI.
f19dbdb7 18027
7f362539 18028 * term/efi/console.c: Include grub/misc.h.
18029 (grub_console_checkkey): Display a scan code on the top for
18030 debugging. This will be removed once the EFI port gets stable.
18031 Correct the scan code mapping.
18032
18033 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18034 allocate memory from larger regions, in order to reduce the number
18035 of allocated regions. Otherwise, the MacOSX loader panics.
18036 (filter_memory_map): Avoid less than 1MB for compatibility with
18037 other loaders.
18038 (add_memory_regions): Allocate from the tail of a region, if
18039 possible, to avoid allocating a region near to 1MB, for the MacOSX
18040 loader.
18041
18042 * kern/efi/init.c (grub_efi_set_prefix): Specify
18043 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18044
18045 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18046 argument IMAGE_HANDLE and specify it to get a loaded image.
18047 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18048 grub_efi_get_loaded_image.
fe6b695a 18049 (grub_efi_get_filename): Divide the length by the size of
7f362539 18050 grub_efi_char16_t.
18051 (grub_efi_get_device_path): New function.
18052 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18053 the length by the size of grub_efi_char16_t for a file path device
18054 path node.
18055
18056 * kern/loader.c (grub_loader_noreturn): New variable.
18057 (grub_loader_set): Accept a new argument NORETURN. Set
18058 GRUB_LOADER_NORETURN to NORETURN.
18059 All callers changed.
18060 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18061 grub_machine_fini.
18062
18063 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18064 prototype.
18065 (grub_efi_get_loaded_image): Take an argument to specify an image
18066 handle.
18067
18068 * include/grub/loader.h (grub_loader_set): Added one more argument
18069 NORETURN.
18070
18071 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18072 instead of grub_efi_open_protocol.
18073 (grub_efidisk_get_device_name): Likewise.
18074 (grub_efidisk_close): Print a newline.
18075 (grub_efidisk_get_device_handle): Fixed to use
18076 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18077 GRUB_EFI_DEVICE_PATH_TYPE.
18078
18079 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18080 * kern/efi/efi.c (device_path_guid): ... here.
18081
18082 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18083 chain.mod.
18084 (kernel_mod_HEADERS): Added efi/disk.h.
18085 (_chain_mod_SOURCES): New variable.
18086 (_chain_mod_CFLAGS): Likewise.
18087 (_chain_mod_LDFLAGS): Likewise.
18088 (chain_mod_SOURCES): Likewise.
18089 (chain_mod_CFLAGS): Likewise.
18090 (chain_mod_LDFLAGS): Likewise.
18091
18092 * DISTLIST: Added include/grub/efi/chainloader.h,
18093 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18094
18095 * include/grub/efi/chainloader.h: New file.
18096 * loader/efi/chainloader.c: Likewise.
18097 * loader/efi/chainloader_normal.c: Likewise.
18098
c0111d6e 180992006-04-30 Marco Gerards <marco@gnu.org>
18100
18101 * commands/configfile.c (grub_cmd_source): New function.
18102 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18103 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18104
df5341da 181052006-04-30 Marco Gerards <marco@gnu.org>
18106
18107 * normal/execute.c (grub_script_execute_cmd): Change the return
18108 type to `grub_err_t'. Correctly return the error.
18109 (grub_script_execute_cmdline): In case a command line is not a
18110 command or a function, try to interpret it as an assignment.
18111
f85934bd 181122006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18113
18114 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
18115 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
18116 skip a node whose name is obviously invalid as UTF-16,
18117 i.e. contains a NUL character. Stop the iteration when the last
18118 directory entry is found. Instead of using the return value of
18119 grub_hfsplus_btree_iterate_node, store the value in RET and use
18120 it, because the iterator can be stopped by the last directory
18121 entry.
18122
8f8a2cf8 181232006-04-30 Marco Gerards <marco@gnu.org>
18124
18125 * include/grub/env.h (grub_env_export): New prototype. Reported
18126 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
18127
a27e84ce 181282006-04-30 Marco Gerards <marco@gnu.org>
18129
18130 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
18131 size of the extents in a catalog file record.
18132
eaef0553 181332006-04-29 Marco Gerards <marco@gnu.org>
18134
18135 * commands/configfile.c (grub_cmd_configfile): Execute the
18136 configfile within its own context.
18137
18138 * include/grub/env.h (grub_env_context_open): New prototype.
18139 (grub_env_context_close): Likewise.
18140
18141 * kern/env.c (grub_env): Removed.
18142 (grub_env_sorted): Likewise.
18143 (grub_env_context): New variable.
18144 (grub_env_var_context): Likewise.
18145 (grub_env_find): Search both the active context and the global
18146 context.
18147 (grub_env_context_open): New function.
18148 (grub_env_context_close): Likewise.
18149 (grub_env_insert): Likewise.
18150 (grub_env_remove): Likewise.
18151 (grub_env_export): Likewise.
18152 (grub_env_set): Changed to use helper functions to avoid code
18153 duplication.
18154 (grub_env_iterate): Rewritten so both the current context and the
18155 global context are being used.
18156
18157 * normal/command.c (export_command): New function.
18158 (grub_command_init): Register the `export' function.
18159
7b455f4d 181602006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
18161
18162 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
18163 explicitly to suppress gcc's warnings.
18164 * fs/fat.c (grub_fat_find_dir): Likewise.
18165 (grub_fat_label): Likewise.
18166 * fs/xfs.c (grub_xfs_read_inode): Likewise.
18167 (grub_xfs_mount): Likewise.
18168 (grub_xfs_label): Likewise.
18169 * fs/affs.c (grub_affs_mount): Likewise.
18170 (grub_affs_label): Likewise.
18171 (grub_affs_iterate_dir): Likewise.
18172 * fs/sfs.c (grub_sfs_mount): Likewise.
18173 (grub_sfs_iterate_dir): Likewise.
18174 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
18175 * fs/hfs.c (grub_hfs_mount): Likewise.
18176 (grub_hfs_cmp_catkeys): Likewise.
18177 (grub_hfs_find_dir): Likewise.
18178 (grub_hfs_dir): Likewise.
18179 (grub_hfs_label): Likewise.
18180 * fs/jfs.c (grub_jfs_mount): Likewise.
18181 (grub_jfs_opendir): Likewise.
18182 (grub_jfs_getent): Likewise.
18183 (grub_jfs_lookup_symlink): Likewise.
18184 (grub_jfs_label): Likewise.
18185 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
18186 (grub_hfsplus_iterate_dir): Likewise.
18187 (grub_hfsplus_btree_iterate_node): Made static.
18188
18189 * util/grub-emu.c (prefix): New variable.
18190 (grub_machine_set_prefix): New function.
18191 (main): Do not set the environment variable "prefix" here. Only
18192 set PREFIX, which is used later by grub_machine_set_prefix.
18193
18194 * include/grub/video.h: Do not include grub/symbol.h.
18195 (grub_video_register): Not exported. This symbol is not defined in
18196 the kernel.
18197 (grub_video_unregister): Likewise.
18198 (grub_video_iterate): Likewise.
18199 (grub_video_setup): Likewise.
18200 (grub_video_restore): Likewise.
18201 (grub_video_get_info): Likewise.
18202 (grub_video_get_blit_format): Likewise.
18203 (grub_video_set_palette): Likewise.
18204 (grub_video_get_palette): Likewise.
18205 (grub_video_set_viewport): Likewise.
18206 (grub_video_get_viewport): Likewise.
18207 (grub_video_map_color): Likewise.
18208 (grub_video_map_rgb): Likewise.
18209 (grub_video_map_rgba): Likewise.
18210 (grub_video_fill_rect): Likewise.
18211 (grub_video_blit_glyph): Likewise.
18212 (grub_video_blit_bitmap): Likewise.
18213 (grub_video_blit_render_target): Likewise.
18214 (grub_video_scroll): Likewise.
18215 (grub_video_swap_buffers): Likewise.
18216 (grub_video_create_render_target): Likewise.
18217 (grub_video_delete_render_target): Likewise.
18218 (grub_video_set_active_render_target): Likewise.
18219
18220 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
18221 Undefined.
18222 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
18223
18224 * conf/sparc64-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/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
18230 config.h. Use 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-pc.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 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
18240 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18241 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18242 instead of $(srcdir)/genkernsyms.sh.
18243
18244 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
18245 genkernsyms.sh.
18246
18247 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
18248 genkernsyms.sh.
18249 (gensymlist.sh): New target.
18250 (genkernsyms.sh): Likewise.
18251
18252 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
18253 genkernsyms.sh.in and gensymlist.sh.in.
18254
18255 * genkernsyms.sh: Removed.
18256 * gensymlist.sh: Likewise.
f19dbdb7 18257
7b455f4d 18258 * genkernsyms.sh.in: New file.
18259 * gensymlist.sh.in: Likewise.
18260
1885bb27 182612006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18262
18263 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
18264 clobber "prefix", since we may have already set it manually.
18265
71538dff 182662006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18267
18268 * kern/misc.c (abort): New alias for grub_abort.
18269
2965c7cc 182702006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
18271
18272 A new machine-specific function "grub_machine_set_prefix" is
18273 defined. This is called after loading modules, so that a prefix
18274 initialization can use modules. Also, this change adds an
18275 intensive debugging feature for the memory manager via the
18276 configure option "--enable-mm-debug".
f19dbdb7 18277
2965c7cc 18278 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
18279 PART.LEN.
18280
18281 * kern/sparc64/ieee1275/init.c (abort): Removed.
18282 (grub_stop): Likewise.
18283 (grub_exit): New function.
18284 (grub_set_prefix): Renamed to ...
18285 (grub_machine_set_prefix): ... this.
18286 (grub_machine_init): Do not call grub_set_prefix.
18287
18288 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
18289 (grub_machine_set_prefix): ... this.
18290 (grub_machine_init): Do not call grub_set_prefix.
18291
18292 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
18293 (grub_machine_init): Do not set the prefix here.
18294
18295 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
18296
18297 * kern/efi/init.c: Include grub/mm.h.
18298 (grub_efi_set_prefix): New function.
18299
18300 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
18301 (grub_efi_get_filename): New function.
18302 (grub_print_device_path): Renamed to ...
18303 (grub_efi_print_device_path): ... this.
18304
18305 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
18306 [MM_DEBUG] (grub_realloc): Likewise.
18307 [MM_DEBUG] (grub_free): Likewise.
18308 [MM_DEBUG] (grub_memalign): Likewise.
18309 [MM_DEBUG] (grub_mm_debug): New variable.
18310 [MM_DEBUG] (grub_debug_malloc): New function.
18311 [MM_DEBUG] (grub_debug_free): New function.
18312 [MM_DEBUG] (grub_debug_realloc): New function.
18313 [MM_DEBUG] (grub_debug_memalign): New function.
18314
18315 * kern/misc.c (grub_abort): Print a newline to distinguish
18316 the message.
18317
18318 * kern/main.c (grub_main): Call grub_machine_set_prefix and
18319 grub_set_root_dev after loading modules. This is necessary when
18320 setting a prefix depends on modules.
18321
18322 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
18323 (grub_efi_print_device_path): ... this.
18324 (grub_efi_get_filename): New prototype.
18325 (grub_efi_set_prefix): Likewise.
18326
18327 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
18328 and grub/disk.h.
18329 (grub_efidisk_get_device_handle): New prototype.
18330 (grub_efidisk_get_device_name): Likewise.
18331
18332 * include/grub/mm.h: Include config.h.
18333 (MM_DEBUG): Removed.
18334 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
18335 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
18336 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
18337 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
18338 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
18339 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
18340 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
18341 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
18342 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
18343
18344 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
18345
18346 * disk/efi/efidisk.c: Include grub/partition.h.
18347 (iterate_child_devices): New function.
18348 (add_device): First, compare only last device path nodes, so that
18349 devices are sorted by the types.
18350 (grub_efidisk_get_device_handle): New function.
18351 (grub_efidisk_get_device_name): Likewise.
18352
18353 * configure.ac (--enable-mm-debug): New option to enable the
18354 memory manager debugging feature. This makes the binary much
18355 bigger, so is disabled by default.
18356
9cacaa17 183572006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
18358
18359 Use grub_abort instead of grub_stop, and grub_exit must be
18360 define in each architecture now. Also, this change adds support
18361 for EFI disks.
f19dbdb7 18362
9cacaa17 18363 * util/i386/pc/grub-probefs.c: Include grub/term.h.
18364 (grub_getkey): New function.
18365 (grub_term_get_current): Likewise.
18366
18367 * util/i386/pc/grub-setup.c: Include grub/term.h.
18368 (grub_getkey): New function.
18369 (grub_term_get_current): Likewise.
18370
18371 * util/misc.c (grub_stop): Renamed to ...
18372 (grub_exit): ... this.
18373
18374 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
18375 (grub_exit): ... this.
18376 (grub_machine_init): Use grub_abort instead of abort.
18377 (grub_stop): Removed.
18378
18379 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
18380 abort.
18381
18382 * kern/i386/pc/startup.S (grub_exit): New function.
18383 (cold_reboot): New label.
18384
18385 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
18386 (grub_efi_init): Call grub_efidisk_init.
18387 (grub_efi_fini): Call grub_efidisk_fini.
18388
18389 * kern/efi/efi.c: Include grub/mm.h.
18390 (grub_efi_console_control_guid): Renamed to ...
18391 (console_control_guid): ... this.
18392 (grub_efi_loaded_image_guid): Renamed to ...
18393 (loaded_image_guid): ... this.
18394 (grub_efi_locate_handle): New function.
18395 (grub_efi_open_protocol): Likewise.
18396 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
18397 GRUB_EFI_CONSOLE_CONTROL_GUID.
18398 (grub_efi_exit): Removed.
18399 (grub_stop): Likewise.
18400 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
18401 (grub_exit): New function.
18402 (grub_print_device_path): Likewise.
18403
18404 * kern/rescue.c (grub_rescue_cmd_exit): New function.
18405 (grub_enter_rescue_mode): Register "exit".
18406
18407 * kern/misc.c (grub_real_dprintf): A cosmetic change.
18408 (grub_abort): New function.
18409
18410 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
18411
18412 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
18413
18414 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
18415
18416 * include/grub/efi/efi.h (grub_efi_exit): Removed.
18417 (grub_print_device_path): New prototype.
18418 (grub_efi_locate_handle): Likewise.
18419 (grub_efi_open_protocol): Likewise.
18420
18421 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
18422 * disk/efi/efidisk.c: Likewise.
18423
18424 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
18425
18426 * include/grub/efi/console_control.h
18427 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
18428
18429 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
18430 last 8 bytes as an array.
18431 (GRUB_EFI_DISK_IO_GUID): New macro.
18432 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
18433 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
18434 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
18435 grub_uint8_t.
18436 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
18437 (struct grub_efi_device_path): Rename the member "sub_type" to
18438 "subtype".
18439 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
18440 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
18441 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
18442 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
18443 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
18444 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
18445 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
18446 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
18447 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
18448 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
18449 (struct grub_efi_pci_device_path): New structure.
18450 (grub_efi_pci_device_path_t): New type.
18451 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
18452 (struct grub_efi_pccard_device_path): New structure.
18453 (grub_efi_pccard_device_path_t): New type.
18454 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
18455 (struct grub_efi_memory_mapped_device_path): New structure.
18456 (grub_efi_memory_mapped_device_path_t): New type.
18457 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
18458 (struct grub_efi_vendor_device_path): New structure.
18459 (grub_efi_vendor_device_path_t): New type.
18460 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
18461 (struct grub_efi_controller_device_path): New structure.
18462 (grub_efi_controller_device_path_t): New type.
18463 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
18464 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
18465 (struct grub_efi_acpi_device_path): New structure.
18466 (grub_efi_acpi_device_path_t): New type.
18467 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
18468 (struct grub_efi_expanded_acpi_device_path): New structure.
18469 (grub_efi_expanded_acpi_device_path_t): New type.
18470 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
18471 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
18472 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
18473 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
18474 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
18475 (struct grub_efi_atapi_device_path): New structure.
18476 (grub_efi_atapi_device_path_t): New type.
18477 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
18478 (struct grub_efi_fibre_channel_device_path): New structure.
18479 (grub_efi_fibre_channel_device_path_t): New type.
18480 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
18481 (struct grub_efi_1394_device_path): New structure.
18482 (grub_efi_1394_device_path_t): New type.
18483 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
18484 (struct grub_efi_usb_device_path): New structure.
18485 (grub_efi_usb_device_path_t): New type.
18486 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
18487 (struct grub_efi_usb_class_device_path): New structure.
18488 (grub_efi_usb_class_device_path_t): New type.
18489 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
18490 (struct grub_efi_i2o_device_path): New structure.
18491 (grub_efi_i2o_device_path_t): New type.
18492 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
18493 (struct grub_efi_mac_address_device_path): New structure.
18494 (grub_efi_mac_address_device_path_t): New type.
18495 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
18496 (struct grub_efi_ipv4_device_path): New structure.
18497 (grub_efi_ipv4_device_path_t): New type.
18498 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
18499 (struct grub_efi_ipv6_device_path): New structure.
18500 (grub_efi_ipv6_device_path_t): New type.
18501 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
18502 (struct grub_efi_infiniband_device_path): New structure.
18503 (grub_efi_infiniband_device_path_t): New type.
18504 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
18505 (struct grub_efi_uart_device_path): New structure.
18506 (grub_efi_uart_device_path_t): New type.
18507 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
18508 (struct grub_efi_vendor_messaging_device_path): New structure.
18509 (grub_efi_vendor_messaging_device_path_t): New type.
18510 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
18511 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
18512 (struct grub_efi_hard_drive_device_path): New structure.
18513 (grub_efi_hard_drive_device_path_t): New type.
18514 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
18515 (struct grub_efi_cdrom_device_path): New structure.
18516 (grub_efi_cdrom_device_path_t): New type.
18517 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
18518 (struct grub_efi_vendor_media_device_path): New structure.
18519 (grub_efi_vendor_media_device_path_t): New type.
18520 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
18521 (struct grub_efi_file_path_device_path): New structure.
18522 (grub_efi_file_path_device_path_t): New type.
18523 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
18524 (struct grub_efi_protocol_device_path): New structure.
18525 (grub_efi_protocol_device_path_t): New type.
18526 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
18527 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
18528 (struct grub_efi_bios_device_path): New structure.
18529 (grub_efi_bios_device_path_t): New type.
18530 (struct grub_efi_disk_io): New structure.
18531 (grub_efi_disk_io_t): New type.
18532 (struct grub_efi_block_io_media): New structure.
18533 (grub_efi_block_io_media_t): New type.
18534 (struct grub_efi_block_io): New structure.
18535 (grub_efi_block_io_t): New type.
18536
18537 * include/grub/misc.h (grub_stop): Removed.
18538 (grub_exit): New prototype.
18539 (grub_abort): Likewise.
18540
18541 * include/grub/disk.h (enum grub_disk_dev_id): Added
18542 GRUB_DISK_DEVICE_EFIDISK_ID.
18543
18544 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
18545 disk/efi/efidisk.c.
18546 (kernel_syms.lst): Remove the target if an error occurs.
18547
49986a9f 185482006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
18549
18550 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
18551 as it was simply too buggy.
18552
970d3b8a 185532006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
18554
18555 * kern/misc.c (grub_lltoa): New function.
18556 (grub_vsprintf): Added support for the long long suffix,
18557 i.e. "ll".
18558
ff04ec24 185592006-04-20 Hollis Blanchard <hollis@penguinppc.org>
18560
18561 * Makefile.in (LDFLAGS): Add variable.
18562 (LD): Remove variable.
18563 * configure.ac: Add -m32 to LDFLAGS.
18564 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
18565 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
18566 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
18567 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
18568 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
18569 variables.
18570 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
18571 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
18572 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
18573
37e5e1a4 185742006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
18575
18576 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
18577 length for unknown glyph.
18578
c352d8dd 185792006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
18580
2eab1c0d 18581 Add support for pre-loaded modules into the EFI port.
f19dbdb7 18582
2eab1c0d 18583 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
18584 completely. Accept one more argument DIR. The caller has changed.
18585
18586 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
18587
18588 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
18589 (grub_efi_loaded_image_guid): New variable.
18590 (grub_efi_get_loaded_image): New function.
18591 (grub_arch_modules_addr): Likewise.
18592
18593 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
18594 prototype.
18595
18596 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
18597 (struct grub_efi_loaded_image): New structure.
18598 (grub_efi_loaded_image_t): New type.
18599
186002006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18601
c352d8dd 18602 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
18603 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
18604 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
18605
6d01d6b4 186062006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
18607
18608 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
18609
976a4ea0 186102006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
18611
18612 * DISTLIST: Added include/grub/efi/console.h,
18613 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
18614 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18615
18616 * include/grub/efi/console.h: New file.
18617 * include/grub/efi/time.h: Likewise.
18618 * include/grub/i386/efi/kernel.h: Likewise.
18619 * kern/efi/init.c: Likewise.
18620 * kern/efi/mm.c: Likewise.
18621 * term/efi/console.c: Likewise.
f19dbdb7 18622
976a4ea0 18623 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
18624 (grub_stop): Removed.
18625 (grub_get_rtc): Likewise.
18626 (grub_machine_init): Simply call grub_efi_init.
18627 (grub_machine_fini): Call grub_efi_fini.
18628
18629 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
18630 (grub_efi_output_string): Removed.
18631 (grub_efi_stall): New function.
18632 (grub_stop): Likewise.
18633 (grub_get_rtc): Likewise.
18634
18635 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
18636 (grub_efi_stall): New prototype.
18637 (grub_efi_allocate_pages): Likewise.
18638 (grub_efi_free_pages): Likewise.
18639 (grub_efi_get_memory_map): Likewise.
18640 (grub_efi_mm_init): Likewise.
18641 (grub_efi_mm_fini): Likewise.
18642 (grub_efi_init): Likewise.
18643 (grub_efi_fini): Likewise.
18644
18645 * include/grub/i386/efi/time.h: Do not include
18646 grub/symbol.h. Include grub/efi/time.h.
18647 (GRUB_TICKS_PER_SECOND): Removed.
18648 (grub_get_rtc): Likewise.
18649
18650 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
18651 Added padding. The EFI spec is buggy.
18652 (GRUB_EFI_BLACK): New macro.
18653 (GRUB_EFI_BLUE): Likewise.
18654 (GRUB_EFI_GREEN): Likewise.
18655 (GRUB_EFI_CYAN): Likewise.
18656 (GRUB_EFI_RED): Likewise.
18657 (GRUB_EFI_MAGENTA): Likewise.
18658 (GRUB_EFI_BROWN): Likewise.
18659 (GRUB_EFI_LIGHTGRAY): Likewise.
18660 (GRUB_EFI_BRIGHT): Likewise.
18661 (GRUB_EFI_DARKGRAY): Likewise.
18662 (GRUB_EFI_LIGHTBLUE): Likewise.
18663 (GRUB_EFI_LIGHTGREEN): Likewise.
18664 (GRUB_EFI_LIGHTCYAN): Likewise.
18665 (GRUB_EFI_LIGHTRED): Likewise.
18666 (GRUB_EFI_LIGHTMAGENTA): Likewise.
18667 (GRUB_EFI_YELLOW): Likewise.
18668 (GRUB_EFI_WHITE): Likewise.
18669 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
18670 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
18671 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
18672 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
18673 (GRUB_EFI_BACKGROUND_RED): Likewise.
18674 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
18675 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
18676 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
18677 (GRUB_EFI_TEXT_ATTR): Likewise.
18678
18679 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
18680 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18681 (kernel_mod_HEADERS): Added efi/time.h.
18682
83709125 186832006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
18684
18685 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
18686 include/grub/efi/api.h, include/grub/efi/console_control.h,
18687 include/grub/efi/efi.h, include/grub/efi/pe32.h,
18688 include/grub/i386/efi/time.h, kern/efi/efi.c,
18689 kern/i386/efi/init.c, kern/i386/efi/startup.S,
18690 and util/i386/efi/grub-mkimage.c.
18691
18692 * Makefile.in (RMKFILES): Added i386-efi.rmk.
18693
18694 * genmk.rb (PModule#rule): Do not export symbols if
18695 #{prefix}_EXPORTS is set to "no".
18696
18697 * conf/i386-efi.mk: New file.
18698 * conf/i386-efi.rmk: Likewise.
18699 * include/grub/efi/api.h: Likewise.
18700 * include/grub/efi/console_control.h: Likewise.
18701 * include/grub/efi/efi.h: Likewise.
18702 * include/grub/efi/pe32.h: Likewise.
18703 * include/grub/i386/efi/time.h: Likewise.
18704 * kern/efi/efi.c: Likewise.
18705 * kern/i386/efi/init.c: Likewise.
18706 * kern/i386/efi/startup.S: Likewise.
18707 * util/i386/efi/grub-mkimage.c: Likewise.
18708
187092006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 18710
18711 * include/grub/script.h: Include <grub/parser.h> and
18712 "grub_script.tab.h".
18713 (struct grub_lexer_param): New struct.
18714 (struct grub_parser_param): Likewise.
18715 (grub_script_create_arglist): Pass the state in an argument.
18716 (grub_script_add_arglist): Likewise.
18717 (grub_script_create_cmdline): Likewise.
18718 (grub_script_create_cmdblock): Likewise.
18719 (grub_script_create_cmdif): Likewise.
18720 (grub_script_create_cmdmenu): Likewise.
18721 (grub_script_add_cmd): Likewise.
18722 (grub_script_arg_add): Likewise.
18723 (grub_script_lexer_ref): Likewise.
18724 (grub_script_lexer_deref): Likewise.
18725 (grub_script_lexer_record_start): Likewise.
18726 (grub_script_lexer_record_stop): Likewise.
18727 (grub_script_mem_record): Likewise.
18728 (grub_script_mem_record_stop): Likewise.
18729 (grub_script_malloc): Likewise.
18730 (grub_script_yylex): Likewise.
18731 (grub_script_yyparse): Likewise.
18732 (grub_script_yyerror): Likewise.
18733 (grub_script_yylex): Likewise.
18734 (grub_script_lexer_init): Return the state.
18735
18736 * normal/lexer.c (grub_script_lexer_state): Removed variable.
18737 (grub_script_lexer_done): Likewise.
18738 (grub_script_lexer_getline): Likewise.
18739 (grub_script_lexer_refs): Likewise.
18740 (script): Likewise.
18741 (newscript): Likewise.
18742 (record): Likewise.
18743 (recording): Likewise.
18744 (recordpos): Likewise.
18745 (recordlen): Likewise.
18746 (grub_script_lexer_init): Return the state instead of setting
18747 global variables.
18748 (grub_script_lexer_ref): Use the newly added argument for state
18749 instead of globals.
18750 (grub_script_lexer_deref): Likewise.
18751 (grub_script_lexer_record_start): Likewise.
18752 (grub_script_lexer_record_stop): Likewise.
18753 (recordchar): Likewise.
18754 (nextchar): Likewise.
18755 (grub_script_yylex2): Likewise.
18756 (grub_script_yylex): Likewise.
18757 (grub_script_yyerror): Likewise.
18758
18759 * normal/parser.y (func_mem): Removed variable.
18760 (menu_entry): Likewise.
18761 (err): Likewise.
18762 (%lex-param): New parser option.
18763 (%parse-param): Likewise.
18764 (script): Always return the AST.
18765 (argument): Pass the state around.
18766 (arguments): Likewise.
18767 (grubcmd): Likewise.
18768 (commands): Likewise.
18769 (function): Likewise.
18770 (menuentry): Likewise.
18771 (if_statement): Likewise.
18772 (if): Likewise.
18773
18774 * normal/script.c (grub_script_memused): Removed variable.
18775 (grub_script_parsed): Likewise.
18776 (grub_script_malloc): Added a state argument. Use that instead of
18777 global variables.
18778 (grub_script_mem_record): Likewise.
18779 (grub_script_mem_record_stop): Likewise.
18780 (grub_script_arg_add): Likewise.
18781 (grub_script_add_arglist): Likewise.
18782 (grub_script_create_cmdline): Likewise.
18783 (grub_script_create_cmdif): Likewise.
18784 (grub_script_create_cmdmenu): Likewise.
18785 (grub_script_add_cmd): Likewise.
18786 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 18787
e2a8c904 187882006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 18789
18790 * normal/command.c (grub_command_init): Remove the title command.
18791
18792 * normal/lexer.c (grub_script_yylex): Renamed from this...
18793 (grub_script_yylex2): ... to this.
18794 (grub_script_yylex): New function. Temporary
18795 introduced to filter some tokens.
18796 (grub_script_yyerror): Print a newline.
18797
18798 * normal/main.c (read_config_file): Output information about the
18799 lines that contain errors. Wait for a key after all lines have
18800 been processed. Don't return an empty menu.
18801
18802 * normal/parser.y (func_mem): Don't initialize.
18803 (menu_entry): Likewise.
18804 (err): New variable.
18805 (script): Don't return anything when an error was encountered.
18806 (ws, returns): Removed rules.
18807 (argument): Disabled concatenated variable support.
18808 (arguments): Remove explicit separators.
18809 (grubcmd): Likewise.
18810 (function): Likewise.
18811 (menuentry): Likewise.
18812 (if): Likewise.
18813 (commands): Likewise. Add error handling.
18814
18815 * normal/script.c (grub_script_create_cmdline): If
18816 `grub_script_parsed' is 0, assume the parser encountered an error.
18817
c9a86192 188182006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
18819
18820 * configure.ac: Add support for EFI. Fix the typo
18821 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
18822
70f3b243 188232006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18824
18825 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
18826 foreign multibyte characters should be shown correctly.
18827
65f201ad 188282006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18829
18830 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
18831 calculation.
18832 (read_config_file): Made it to close file before returning.
18833
b4b93674 188342006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
18835
18836 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
18837 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
18838 video/i386/pc/vbefill.c.
18839
18840 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
18841 video/i386/pc/vbefill.c.
18842
18843 * include/grub/video.h (grub_video_blit_format): New enum.
18844 (grub_video_mode_info): Added new member blit_format.
18845 (grub_video_get_blit_format): New function prototype.
18846
18847 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
18848 function prototype.
18849 (grub_video_vbe_map_rgb): Likewise.
18850 (grub_video_vbe_unmap_color): Likewise.
18851
18852 * include/grub/i386/pc/vbeblit.h: New file.
18853
18854 * include/grub/i386/pc/vbefill.h: New file.
18855
18856 * video/video.c (grub_video_get_blit_format): New function.
18857 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
18858 (grub_video_vbe_map_rgb): Likewise.
18859 (grub_video_vbe_unmap_color): Likewise.
18860
18861 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
18862 optimized fills.
18863 (grub_video_vbe_blit_render_target): Changed to use more optimized
18864 blits.
18865 (grub_video_vbe_setup): Added detection for optimized settings.
18866 (grub_video_vbe_create_render_target): Likewise.
18867
18868 * video/i386/pc/vbeblit.c: New file.
18869
18870 * video/i386/pc/vbefill.c: New file.
18871
c2379b9c 188722006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
18873
18874 * font/manager.c (grub_font_get_glyph): Removed font fixup from
18875 here...
18876
18877 * util/unifont2pff.rb: ... and moved it to here. Improved argument
18878 parsing to support both hex and dec ranges. If filename was missing
18879 show usage information.
18880
bd0d7896 188812006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
18882
18883 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
18884 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
18885
18886 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
18887 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
18888 (video_mod_SOURCES): Added.
18889 (video_mod_CFLAGS): Likewise.
18890 (video_mod_LDFLAGS): Likewise.
18891 (gfxterm_mod_SOURCES): Likewise.
18892 (gfxterm_mod_CFLAGS): Likewise.
18893 (gfxterm_mod_LDFLAGS): Likewise.
18894 (videotest_mod_SOURCES): Likewise.
18895 (videotest_mod_CFLAGS): Likewise.
18896 (videotest_mod_LDFLAGS): Likewise.
18897 (vesafb_mod_SOURCES): Removed.
18898 (vesafb_mod_CFLAGS): Likewise.
18899 (vesafb_mod_LDFLAGS): Likewise.
18900 (vga_mod_SOURCES): Likewise.
18901 (vga_mod_CFLAGS): Likewise.
18902 (vga_mod_LDFLAGS): Likewise.
18903
18904 * commands/videotest.c: New file.
18905
18906 * font/manager.c (fill_with_default_glyph): Modified to use
18907 grub_font_glyph.
18908 (grub_font_get_glyph): Likewise.
18909 (fontmanager): Renamed from this...
18910 (font_manager): ... to this.
18911
18912 * include/grub/font.h (grub_font_glyph): Added new structure.
18913 (grub_font_get_glyph): Modified to use grub_font_glyph.
18914
18915 * include/grub/misc.h (grub_abs): Added as inline function.
18916
18917 * include/grub/video.h: New file.
18918
18919 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
18920 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
18921 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
18922 (grub_vbe_get_controller_info): Renamed from this...
18923 (grub_vbe_bios_get_controller_info): ... to this.
18924 (grub_vbe_get_mode_info): Renamed from this...
18925 (grub_vbe_bios_get_mode_info): ... to this.
18926 (grub_vbe_set_mode): Renamed from this...
18927 (grub_vbe_bios_set_mode): ... to this.
18928 (grub_vbe_get_mode): Renamed from this...
18929 (grub_vbe_bios_get_mode): ... to this.
18930 (grub_vbe_set_memory_window): Renamed from this...
18931 (grub_vbe_bios_set_memory_window): ... to this.
18932 (grub_vbe_get_memory_window): Renamed from this...
18933 (grub_vbe_bios_get_memory_window): ... to this.
18934 (grub_vbe_set_scanline_length): Renamed from this...
18935 (grub_vbe_set_scanline_length): ... to this.
18936 (grub_vbe_get_scanline_length): Renamed from this...
18937 (grub_vbe_bios_get_scanline_length): ... to this.
18938 (grub_vbe_set_display_start): Renamed from this...
18939 (grub_vbe_bios_set_display_start): ... to this.
18940 (grub_vbe_get_display_start): Renamed from this...
18941 (grub_vbe_bios_get_display_start): ... to this.
18942 (grub_vbe_set_palette_data): Renamed from this...
18943 (grub_vbe_bios_set_palette_data): ... to this.
18944 (grub_vbe_set_pixel_rgb): Removed.
18945 (grub_vbe_set_pixel_index): Likewise.
18946
18947 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18948 from this...
18949 (grub_vbe_bios_get_controller_info): ... to this.
18950 (grub_vbe_get_mode_info): Renamed from this...
18951 (grub_vbe_bios_get_mode_info): ... to this.
18952 (grub_vbe_set_mode): Renamed from this...
18953 (grub_vbe_bios_set_mode): ... to this.
18954 (grub_vbe_get_mode): Renamed from this...
18955 (grub_vbe_bios_get_mode): ... to this.
18956 (grub_vbe_set_memory_window): Renamed from this...
18957 (grub_vbe_bios_set_memory_window): ... to this.
18958 (grub_vbe_get_memory_window): Renamed from this...
18959 (grub_vbe_bios_get_memory_window): ... to this.
18960 (grub_vbe_set_scanline_length): Renamed from this...
18961 (grub_vbe_set_scanline_length): ... to this.
18962 (grub_vbe_get_scanline_length): Renamed from this...
18963 (grub_vbe_bios_get_scanline_length): ... to this.
18964 (grub_vbe_set_display_start): Renamed from this...
18965 (grub_vbe_bios_set_display_start): ... to this.
18966 (grub_vbe_get_display_start): Renamed from this...
18967 (grub_vbe_bios_get_display_start): ... to this.
18968 (grub_vbe_set_palette_data): Renamed from this...
18969 (grub_vbe_bios_set_palette_data): ... to this.
18970 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18971 getting corrupted after calling it. Added more pushes and pops.
18972 (grub_vbe_bios_set_mode): Likewise.
18973 (grub_vbe_bios_get_mode): Likewise.
18974 (grub_vbe_bios_get_memory_window): Likewise.
18975 (grub_vbe_bios_set_scanline_length): Likewise.
18976 (grub_vbe_bios_get_scanline_length): Likewise.
18977 (grub_vbe_bios_get_display_start): Likewise.
18978 (grub_vbe_bios_set_palette_data): Likewise.
18979
18980 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18981 (cl_insert): Likewise.
18982 (cl_delete): Likewise.
18983
18984 * term/gfxterm.c: New file.
18985
18986 * term/i386/pc/vesafb.c: Removed file.
18987
18988 * video/video.c: New file.
18989
18990 * video/i386/pc/vbe.c (real2pm): Added new function.
18991 (grub_video_vbe_draw_pixel): Likewise.
18992 (grub_video_vbe_get_video_ptr): Likewise.
18993 (grub_video_vbe_get_pixel): Likewise
18994 (grub_video_vbe_init): Likewise.
18995 (grub_video_vbe_fini): Likewise.
18996 (grub_video_vbe_setup): Likewise.
18997 (grub_video_vbe_get_info): Likewise.
18998 (grub_video_vbe_set_palette): Likewise.
18999 (grub_video_vbe_get_palette): Likewise.
19000 (grub_video_vbe_set_viewport): Likewise.
19001 (grub_video_vbe_get_viewport): Likewise.
19002 (grub_video_vbe_map_color): Likewise.
19003 (grub_video_vbe_map_rgb): Likewise.
19004 (grub_video_vbe_map_rgba): Likewise.
19005 (grub_video_vbe_unmap_color): Likewise.
19006 (grub_video_vbe_fill_rect): Likewise.
19007 (grub_video_vbe_blit_glyph): Likewise.
19008 (grub_video_vbe_blit_bitmap): Likewise.
19009 (grub_video_vbe_blit_render_target): Likewise.
19010 (grub_video_vbe_scroll): Likewise.
19011 (grub_video_vbe_swap_buffers): Likewise.
19012 (grub_video_vbe_create_render_target): Likewise.
19013 (grub_video_vbe_delete_render_target): Likewise.
19014 (grub_video_vbe_set_active_render_target): Likewise.
19015 (grub_vbe_set_pixel_rgb): Remove function.
19016 (grub_vbe_set_pixel_index): Likewise.
19017 (index_color_mode): Remove static variable.
19018 (active_mode): Likewise.
19019 (framebuffer): Likewise.
19020 (bytes_per_scan_line): Likewise.
19021 (grub_video_vbe_adapter): Added new static variable.
19022 (framebuffer): Likewise.
19023 (render_target): Likewise.
19024 (initial_mode): Likewise.
19025 (mode_in_use): Likewise.
19026 (mode_list): Likewise.
19027
5f97350b 190282006-03-10 Marco Gerards <marco@gnu.org>
19029
19030 * configure.ac (AC_INIT): Bumped to 1.93.
19031
19032 * DISTLIST: Added `include/grub/hfs.h'.
19033
a3c5c6f8 190342006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19035
19036 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19037 18H, which might help the BIOS falling back to next boot media.
19038
6de53d26 190392006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19040
19041 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19042 Poe Chen <poe.poechen@gmail.com>.
19043
77c4a393 190442006-01-17 Marco Gerards <marco@gnu.org>
19045
19046 * include/grub/normal.h: Include <grub/script.h>.
19047 (grub_command_list): Removed struct.
19048 (grub_command_list_t): Removed type.
19049 (grub_menu_entry): Remove members `num' and `command_list'. Add
19050 members `commands' and `sourcecode'.
19051 * include/grub/script.h: Add inclusion guards.
19052 (grub_script_cmd_menuentry): New struct.
19053 (grub_script_execute_menuentry): New prototype.
19054 (grub_script_lexer_record_start): Likewise.
19055 (grub_script_lexer_record_stop): Likewise.
19056 * normal/execute.c (grub_script_execute_menuentry): New function.
19057 * normal/lexer.c (record, recording, recordpos, recordlen): New
19058 variables.
19059 (grub_script_lexer_record_start): New function.
19060 (grub_script_lexer_record_stop): Likewise.
19061 (recordchar): Likewise.
19062 (nextchar): Likewise.
19063 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19064 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19065 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19066 (current_menu): New variable.
19067 (free_menu): Mainly rewritten.
19068 (grub_normal_menu_addentry): New function.
19069 (read_config_file): Rewritten.
19070 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19071 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19072 the menu entry.
19073 (run): Mainly rewritten.
19074 * normal/parser.y (menu_entry): New variable.
19075 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19076 (menuentry): New rule.
19077 (command): Add `menuentry'.
19078 (if_statement): Allow additional returns before `fi'.
19079 * normal/script.c (grub_script_create_cmdmenu): New function.
19080
144f1f98 190812006-01-03 Marco Gerards <marco@gnu.org>
19082
19083 * INSTALL: GNU Bison is required.
19084 * configure.ac: Rewritten the test to detect Bison.
19085 * Makefile.in (YACC): New variable. Reported by Xun Sun
19086 <xun.sun.cn@gmail.com>.
19087
af4b2d89 190882006-01-03 Marco Gerards <marco@gnu.org>
19089
19090 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19091 the HFS+ filesystem to filesystem blocks.
19092 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19093 GCC warning is silenced.
19094
15643b71 190952006-01-03 Marco Gerards <marco@gnu.org>
19096
19097 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19098 read from disk from big endian to host byte order.
19099
00905879 191002006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19101
19102 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19103 documentation.
19104 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19105 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19106 embedded HFS+ filesystem.
19107 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
19108 (grub_hfs_sblock): Move from here...
19109 * include/grub/hfs.h: To here... New file.
19110 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
19111 documentation.
19112 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
19113 New macros.
19114 (grub_hfsplus_volheader): Change type of member `magic' to
19115 `grub_uint16_t'.
19116 (grub_hfsplus_data): Add new member `embedded_offset'.
19117 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
19118 returned block.
19119 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
19120 Calculate the offset.
19121
8899bc3e 191222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19123
19124 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
19125 Removed.
19126 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
19127
ae8c0277 191282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19129
19130 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
19131 ENV->NAME is NULL after allocating ENV->VALUE.
19132
07084456 191332005-12-25 Marco Gerards <marco@gnu.org>
19134
19135 * kern/env.c (grub_env_set): Rewritten the error handling code.
19136
4750f5f1 191372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19138
19139 * geninit.sh: Made more robust, and more portable.
19140
50214199 191412005-12-25 Marco Gerards <marco@gnu.org>
19142
19143 Add support for Apple HFS+ filesystems.
f19dbdb7 19144
50214199 19145 * fs/hfsplus.c: New file.
19146
19147 * DISTLIST: Added `fs/hfsplus.c'.
19148
19149 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
19150 (hfsplus_mod_SOURCES): New variable.
19151 (hfsplus_mod_CFLAGS): Likewise.
19152 (hfsplus_mod_LDFLAGS): Likewise.
19153 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
19154 (grub_setup_SOURCES): Likewise.
19155 (grub_mkdevicemap_SOURCES): Likewise.
19156 (grub_emu_SOURCES): Likewise.
19157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19158
19159 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
19160
19161 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
19162
befaed6c 191632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19164
19165 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
19166 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
19167 include/grub/parser.h, include/grub/script.h, kern/parser.c,
19168 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
19169 normal/lexer.c, normal/parser.y, normal/script.c, and
19170 partmap/gpt.c.
19171 Removed kern/sparc64/cache.c.
19172
19173 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
19174 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
19175 grub_emu_init.c.
19176
19177 * configure.ac (AC_INIT): Bumped to 1.92.
19178
6a124103 191792005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
19180
19181 * kern/err.c (grub_error_push): Added new function to support error
19182 stacks.
19183 (grub_error_pop): Likewise.
19184 (grub_error_stack_items): New local variable to support error stacks.
19185 (grub_error_stack_pos): Likewise.
19186 (grub_error_stack_assert): Likewise.
19187 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
19188 stack depth.
19189 (grub_print_error): Added support to print errors from error stack.
19190
19191 * include/grub/err.h (grub_error_push): Added function prototype.
19192 (grub_error_pop): Likewise.
19193
be973c1b 191942005-12-09 Hollis Blanchard <hollis@penguinppc.org>
19195
19196 * configure.ac: Accept `powerpc64' as host_cpu.
19197 (amd64): Rename to `biarch32'.
19198
19199 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
19200 non-cacheline-aligned addresses.
19201
19202 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
19203 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
19204 if `size' is non-zero.
19205
b04216ab 192062005-12-03 Marco Gerards <mgerards@xs4all.nl>
19207
19208 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
19209 and `cd' to make sure the filename is not prefixed with a
19210 directory name.
19211 (pkgdata_MODULES): Add `gpt.mod'.
19212 (gpt_mod_SOURCES): New variable.
19213 (gpt_mod_CFLAGS): Likewise.
19214 (gpt_mod_LDFLAGS): Likewise.
19215
19216 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
19217
19218 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
19219 New macro.
19220
19221 * partmap/gpt.c: New file.
19222
19223 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
19224 GPT partition map is detected.
19225
41730ed9 192262005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
19227
19228 * commands/i386/pc/play.c: New file.
19229 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
19230 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
19231 macros.
f19dbdb7 19232
95dc3643 192332005-11-27 Marco Gerards <mgerards@xs4all.nl>
19234
19235 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
19236 ((unused))' to silence gcc warning.
19237
1569ec51 192382005-11-26 Hollis Blanchard <hollis@penguinppc.org>
19239
19240 * configure.ac: Correct `AC_PROG_YACC' test.
19241
9abde152 192422005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19243
19244 * util/powerpc/ieee1275/grub-install.in: Run the mount point
19245 check before installing files.
19246
44b83271 192472005-11-22 Mike Small <smallm@panix.com>
19248
19249 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
19250 number regex so multidigit numbers are recognized correctly.
19251
192522005-11-22 Mike Small <smallm@panix.com>
19253
19254 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
19255 debugging message before attempting to claim memory.
19256 (grub_rescue_cmd_initrd): Add a claim debugging message and try
19257 multiple addresses in case of failure.
19258
9c12956b 192592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19260
19261 * term/tparm.c (get_space): Remove empty `if' statement.
19262
19263 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
19264
19265 * kern/parser.c (check_varstate): Rename `state' to 's'.
19266
aeaf81d9 192672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19268
19269 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
19270 variable definitions to the beginning of each function. Sort stack
19271 variables by size.
19272 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
19273 `buf' argument to `char *'.
19274
79bbb63f 192752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19276
19277 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
19278 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19279 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 19280 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19281 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19282 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19283 configfile.mod, search.mod, gzio.mod and test.mod.
19284 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19285 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19286 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19287 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19288 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19289 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19290 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19291 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19292 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19293 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19294 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19295 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19296 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19297 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19298 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19299 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19300 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19301 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19302 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19303 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19304 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19305 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19306 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
19307
19308 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
19309 `grep --include'.
19310 (pkgdata_MODULES): Add test.mod.
19311
233b1628 193122005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19313
19314 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
19315 appending to variables with "+=".
19316 (PModule): Use full pathname to generate *.lst filenames.
19317
19318 * Makefile.in: Fixed list rules moved from genmk.rb.
19319 (.DELETE_ON_ERROR): New special target.
19320 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
19321
19322 * conf/i386-pc.rmk: Include conf/common.mk.
19323 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19324 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 19325 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19326 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19327 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19328 configfile.mod, search.mod, gzio.mod and test.mod.
19329 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19330 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19331 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19332 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19333 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19334 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19335 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19336 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19337 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19338 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19339 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19340 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19341 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19342 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19343 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19344 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19345 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19346 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19347 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19348 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19349 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19350 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19351 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
19352 here...
19353 * conf/common.rmk: ... to here. New file.
19354
19355 * conf/common.mk: New file.
19356
16f820c8 193572005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
19358
19359 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
19360 (grub_script.tab.c): ... here.
19361
19362 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
19363 (grub_script.tab.c): ... here.
19364
19365 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
19366 (grub_script.tab.c): ... here.
19367
19368 * normal/command.c (grub_command_find): Fixed a memory leak of
19369 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
19370
63ba1554 193712005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19372
19373 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
19374 "@" which marks the start of a comment on ARM.
19375 (VARIABLE): Likewise.
19376
7f67dc13 193772005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19378
79bbb63f 19379 Add support for Linux/ADFS partition tables.
7f67dc13 19380
19381 * partmap/acorn.c: New file.
19382
19383 * include/grub/acorn_filecore.h: Likewise.
19384
19385 * DISTLIST: Added `partmap/acorn.c' and
19386 `include/grub/acorn_filecore.h'.
f19dbdb7 19387
7f67dc13 19388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19389 `partmap/acorn.c'.
19390 (pkgdata_MODULES): Add `acorn.mod'.
19391 (acorn_mod_SOURCES): New variable.
19392 (acorn_mod_CFLAGS): Likewise.
19393
19394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19395 `partmap/acorn.c'.
19396 (pkgdata_MODULES): Add `acorn.mod'.
19397 (acorn_mod_SOURCES): New variable.
19398 (acorn_mod_CFLAGS): Likewise.
19399
19400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
19401 (pkgdata_MODULES): Add `acorn.mod'.
19402 (acorn_mod_SOURCES): New variable.
19403 (acorn_mod_CFLAGS): Likewise.
19404 (acorn_mod_LDFLAGS): Likewise.
19405
19406 * include/types.h (grub_disk_addr_t): New typedef.
19407
6d099807 194082005-11-13 Marco Gerards <mgerards@xs4all.nl>
19409
19410 * geninit.sh: New file.
19411
19412 * geninitheader.sh: Likewise.
19413
19414 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
19415 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
19416 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
19417 * commands/configfile.c (grub_configfile_init)
19418 (grub_configfile_fini): Likewise.
19419 * commands/default.c (grub_default_init, grub_default_fini):
19420 Likewise.
19421 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
19422 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
19423 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
19424 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
19425 Likewise.
19426 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
19427 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
19428 Likewise.
19429 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 19430 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 19431 Likewise.
19432 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
19433 Likewise.
fe6b695a 19434 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 19435 Likewise.
19436 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
19437 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
19438 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
19439 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
19440 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
19441 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
19442 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
19443 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
19444 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
19445 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
19446 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
19447 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
19448 * partmap/amiga.c (grub_amiga_partition_map_init)
19449 (grub_amiga_partition_map_fini): Likewise.
19450 * partmap/apple.c (grub_apple_partition_map_init)
19451 (grub_apple_partition_map_fini): Likewise.
19452 * partmap/pc.c (grub_pc_partition_map_init)
19453 (grub_pc_partition_map_fini): Likewise.
19454 * partmap/sun.c (grub_sun_partition_map_init,
19455 grub_sun_partition_map_fini): Likewise.
19456 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
19457 Likewise.
19458
19459 * util/grub-emu.c: Include <grub_modules_init.h>.
19460 (main): Don't initialize and de-initialize any modules directly,
19461 use `grub_init_all' and `grub_fini_all' instead.
19462
19463 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
19464 `grub_vesafb_mod_init'.
19465 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
19466 all users.
19467 * term/i386/pc/vga.c (grub_vga_init): Renamed to
19468 `grub_vga_mod_init'. Updated all users.
19469 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 19470
6d099807 19471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
19472 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
19473 rules.
19474
19475 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
19476 Generate a function to initialize the module in utilities.
19477 Updated all callers.
19478 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
19479 initialize the module in utilities. Updated all callers.
19480
9046bcf0 194812005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19482
19483 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
19484 escape sequence and a literal ^L to clear the screen.
19485
19486 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
19487 when returning from Open Firmware.
19488
d13ea639 194892005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19490
19491 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
19492 (grub_ofconsole_height): Likewise.
19493 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
19494 manually insert a '\n'.
19495 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
19496 `grub_ofconsole_height'. Return early if these are already set.
19497
a8fcf206 194982005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
19499
19500 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19501 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
19502 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
19503 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
19504 and `normal/script.c'.
19505 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19506 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19507 (test_mod_SOURCES): New variable.
19508 (test_mod_CFLAGS): Likewise.
19509 (test_mod_LDFLAGS): Likewise.
19510 (pkgdata_MODULES): Add `test.mod'.
19511 (grub_script.tab.c): New rule.
19512 (grub_script.tab.h): Likewise.
19513
b6b32745 195142005-11-07 Marco Gerards <mgerards@xs4all.nl>
19515
19516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19517 `commands/test.c', `normal/execute.c', `normal/lexer.c',
19518 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19519 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19520 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19521 (test_mod_SOURCES): New variable.
19522 (test_mod_CFLAGS): Likewise.
19523 (pkgdata_MODULES): Add `test.mod'.
19524 (grub_script.tab.c): New rule.
19525 (grub_script.tab.h): Likewise.
19526
daac212a 195272005-11-06 Marco Gerards <mgerards@xs4all.nl>
19528
19529 Add initial scripting support.
19530
19531 * commands/test.c: New file.
19532 * include/grub/script.h: Likewise.
19533 * normal/execute.c: Likewise.
19534 * normal/function.c: Likewise.
19535 * normal/lexer.c: Likewise.
19536 * normal/parser.y: Likewise.
19537 * normal/script.c: Likewise.
19538
19539 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 19540
daac212a 19541 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
19542 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
19543 `normal/function.c' and `normal/script.c'.
19544 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19545 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 19546 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
19547 variables.
daac212a 19548 (pkgdata_MODULES): Add `test.mod'.
19549 (grub_script.tab.c): New rule.
19550 (grub_script.tab.h): Likewise.
19551
19552 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
19553
19554 * include/grub/normal.h (grub_test_init): New prototype.
19555 (grub_test_fini): Likewise.
f19dbdb7 19556
daac212a 19557 * normal/command.c: Include <grub/script.h>.
19558 (grub_command_execute): Rewritten.
f19dbdb7 19559
daac212a 19560 * util/grub-emu.c (main): Call `grub_test_init' and
19561 `grub_test_fini'.
19562
77500b2b 195632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19564
19565 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
19566 to 0.
19567 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
19568 there are no pending characters.
19569
e45deb9e 195702005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19571
19572 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
19573 `grub_strndup' to drop device arguments. Replace unnecessary
19574 `grub_strndup' with `grub_strdup'.
19575
4ce32619 195762005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19577
19578 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
19579 `debug' environment variable has been set.
19580
195812005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19582
4ce32619 19583 * Makefile.in (install-local): Use $(DATA).
19584 (uninstall): Likewise.
19585 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
19586 (sbin_UTILITIES): ... to here.
19587 (sbin_SCRIPTS): New variable.
19588 (grub_install_SOURCES): New variable.
19589 * util/powerpc/ieee1275/grub-install.in: New file.
19590 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
19591 variable.
19592 (add_segments): Call `grub_util_get_path'.
19593
25fe6f03 195942005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19595
19596 From Timothy Baldwin:
19597 * commands/ls.c (grub_ls_list_files): Close FILE with
19598 grub_file_close.
19599 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
19600
04ccf3ec 196012005-10-24 Marco Gerards <mgerards@xs4all.nl>
19602
19603 * include/grub/parser.h: New file.
19604
19605 * kern/parser.c: Likewise.
19606
19607 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
19608 (grub_setup_SOURCES): Likewise.
19609 (grub_probefs_SOURCES): Likewise.
19610 (grub_emu_SOURCES): Likewise.
19611 (kernel_img_HEADERS): Add `parser.h'.
19612
19613 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19614 (grub_emu_SOURCES): Add `kern/parser.c'.
19615 (grubof_SOURCES): Likewise.
19616
19617 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19618 (grubof_SOURCES): Add `kern/parser.c'.
19619
19620 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
19621
19622 * kern/misc.c (grub_split_cmdline): Removed function.
19623
19624 * kern/rescue.c: Include <grub/parser.h>.
19625 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
19626 of `grub_split_cmdline'.
19627
19628 * normal/command.c: Include <grub/parser.h>.
19629 (grub_command_execute): Use `grub_parser_split_cmdline' instead
19630 of `grub_split_cmdline'.
19631
19632 * normal/completion.c: Include <grub/parser.h>.
19633 (cmdline_state): New variable.
19634 (iterate_dir): End the filename with a quote depending on the
19635 command line state.
19636 (get_state): new function.
19637 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
19638 split the arguments and determine the current argument. When the
19639 argument string is not quoted, escape all spaces.
19640
6d8f4b0e 196412005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19642
19643 * normal/sparc64/setjmp.S: New file.
19644
15cf03ed 196452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19646
19647 * include/grub/sparc64/libgcc.h: New file.
19648 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
19649 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
19650 normal/sparc64/setjmp.c.
19651
03e8661a 196522005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19653
19654 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
19655 * kern/sparc64/cache.S: New file.
19656 * kern/sparc64/cache.c: Removed.
19657 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
19658 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
19659 -mtune=ultrasparc.
19660 (COMMON_LDFLAGS): Add -melf64_sparc.
19661 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
19662 (grubof_SOURCES): Use cache.S instead of cache.c.
19663 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
19664 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
19665 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
19666 commented though.
19667 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
19668 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
19669 (linux_mod_CFLAGS): Commented out.
19670 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
19671 out because module isn't built.
19672 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
19673 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
19674 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
19675 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
19676 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
19677 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19678 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19679 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
19680 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
19681 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
19682 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19683 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19684 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
19685 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
19686
34eeec8a 196872005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
19688
19689 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
19690 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
19691 longer, because HFS should not be used on PC.
19692
708367a3 196932005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19694
19695 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
19696 consistently within the loop.
19697
6fa1251a 196982005-10-15 Marco Gerards <mgerards@xs4all.nl>
19699
19700 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
19701 directory can not be read.
19702
4801580b 197032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19704
19705 * configure.ac (AC_INIT): Increase the version number to 1.91.
19706
19707 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
19708 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
19709 term/i386/pc/serial.c.
19710
219ad426 197112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19712
19713 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
19714 file size must be permitted.
19715
19716 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
19717 between %ah and %al.
19718
688e5699 197192005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19720
19721 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
19722 grub_uint64_t.
19723 Call the hook with a NUL-terminated filename.
19724 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
19725 grub_cpu_to_be32.
19726
19727 * kern/term.c (cursor_state): New variable.
19728 (grub_term_set_current): Reset the cursor state on a new
19729 terminal.
19730 (grub_setcursor): Rewritten to use CURSOR_STATE.
19731 (grub_getcursor): New function.
19732
19733 * include/grub/term.h (grub_getcursor): New prototype.
19734
19735 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
19736 integers on ARM. Reported by Timothy Baldwin
19737 <T.E.Baldwin99@members.leeds.ac.uk>.
19738
bb34586c 197392005-10-11 Marco Gerards <mgerards@xs4all.nl>
19740
19741 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
19742 allocated.
19743 (grub_sfs_dir): Likewise.
19744
9a909877 197452005-10-09 Marco Gerards <mgerards@xs4all.nl>
19746
19747 Add support for the SFS filesystem.
19748
19749 * fs/sfs.c: New file.
19750
19751 * DISTLIST: Added `fs/sfs.c'.
19752
19753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
19754 (grub_probefs_SOURCES): Likewise.
19755 (grub_emu_SOURCES): Likewise.
19756 (pkgdata_MODULES): Add `sfs.mod'.
19757 (sfs_mod_SOURCES): New variable.
19758 (sfs_mod_CFLAGS): Likewise.
19759 (sfs_mod_LDFLAGS): Likewise.
19760
19761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
19762 (pkgdata_MODULES): Add `sfs.mod'.
19763 (sfs_mod_SOURCES): New variable.
19764 (sfs_mod_CFLAGS): Likewise.
19765
19766 * util/grub-emu.c (main): Call `grub_sfs_init' and
19767 `grub_sfs_fini'.
19768
19769 * include/grub/fs.h (grub_sfs_init): New prototype.
19770 (grub_sfs_fini): Likewise.
19771
57bdbde3 197722005-10-07 Marco Gerards <mgerards@xs4all.nl>
19773
19774 Add support for the AFFS filesystem.
19775
19776 * fs/affs.c: New file.
19777
19778 * DISTLIST: Added `fs/affs.c'.
19779
19780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
19781 (grub_probefs_SOURCES): Likewise.
19782 (grub_emu_SOURCES): Likewise.
19783 (pkgdata_MODULES): Add `affs.mod'.
19784 (affs_mod_SOURCES): New variable.
19785 (affs_mod_CFLAGS): Likewise.
19786 (affs_mod_LDFLAGS): Likewise.
19787
19788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
19789 (pkgdata_MODULES): Add `affs.mod'.
19790 (affs_mod_SOURCES): New variable.
19791 (affs_mod_CFLAGS): Likewise.
19792
19793 * util/grub-emu.c (main): Call `grub_affs_init' and
19794 `grub_affs_fini'.
19795
19796 * include/grub/fs.h (grub_affs_init): New prototype.
19797 (grub_affs_fini): Likewise.
19798
047b67e0 197992005-10-01 Marco Gerards <mgerards@xs4all.nl>
19800
19801 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
19802
59b8208a 198032005-10-01 Marco Gerards <mgerards@xs4all.nl>
19804
19805 * configure.ac: Accept `x86_64' as host_cpu. In that case add
19806 `-m32' to CFLAGS.
19807
19808 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
19809 linking.
f19dbdb7 19810
59b8208a 19811 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
19812 (COMMON_LDFLAGS): New variable.
19813 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
19814 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
19815 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
19816 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
19817 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
19818 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
19819 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
19820 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
19821 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
19822 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
19823 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19824 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19825 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
19826 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
19827 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
19828 variables.
19829 (normal_mod_ASFLAGS): Add `-m32'.
19830
19831 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
19832 (grub_host_size_t, grub_host_ssize_t): New types.
19833 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 19834 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 19835 `GRUB_HOST_SIZEOF_VOID_P'.
19836
19837 * include/grub/kernel.h (struct grub_module_header): Type of
19838 member offset changed to `grub_host_off_t'. Type of member size
19839 changed to `grub_host_size_t'.
19840 (struct grub_module_info): Type of member offset changed to
19841 `grub_host_off_t'. Type of member size changed to
19842 `grub_host_size_t'.
19843
b4093103 198442005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
19845
19846 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 19847
b4093103 19848 * kern/i386/pc/startup.S (multiboot_header): New label.
19849 (multiboot_entry): Likewise.
19850 (multiboot_trampoline): Likewise.
19851
19852 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19853 Increased to 0x4A0.
19854
19855 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
19856 put parentheses after a question mark.
19857 [!GRUB_UTIL] (my_mod): New variable.
19858
19859 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
19860
b2499b29 198612005-09-28 Marco Gerards <mgerards@xs4all.nl>
19862
19863 Adds support for the XFS filesystem. Btrees are not supported
19864 yet.
19865
19866 * fs/xfs.c: New file.
19867
19868 * DISTLIST: Added `fs/xfs.c'.
19869
19870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
19871 (grub_probefs_SOURCES): Likewise.
19872 (grub_emu_SOURCES): Likewise.
19873 (pkgdata_MODULES): Add `xfs.mod'.
19874 (xfs_mod_SOURCES): New variable.
19875 (xfs_mod_CFLAGS): Likewise.
19876
19877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
19878 (pkgdata_MODULES): Add `xfs.mod'.
19879 (xfs_mod_SOURCES): New variable.
19880 (xfs_mod_CFLAGS): Likewise.
19881
19882 * util/grub-emu.c (main): Call `grub_xfs_init' and
19883 `grub_xfs_fini'.
19884
19885 * include/grub/fs.h (grub_xfs_init): New prototype.
19886 (grub_xfs_fini): Likewise.
19887
f19dbdb7 19888
83d37a62 198892005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
19890
19891 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
19892 color modes, allow greater than 16 colors to be configured as
19893 a default palette.
19894
47d2d65e 198952005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19896
19897 * normal/completion.c (complete_arguments): Add the qualifier
19898 const into OPTIONS.
19899
19900 From Omniflux <omniflux+lists@omniflux.com>:
19901 * include/grub/terminfo.h: New file.
19902 * include/grub/tparm.h: Likewise.
19903 * include/grub/i386/pc/serial.h: Likewise.
19904 * term/terminfo.c: Likewise.
19905 * term/tparm.c: Likewise.
19906 * term/i386/pc/serial.c: Likewise.
19907 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
19908 serial.mod.
19909 (terminfo_mod_SOURCES): New variable.
19910 (terminfo_mod_CFLAGS): Likewise.
19911 (serial_mod_SOURCES): Likewise.
19912 (serial_mod_CFLAGS): Likewise.
19913
48b671ff 199142005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
19915
19916 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
19917 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
19918 and kern/powerpc/ieee1275/cmain.c, respectively.
19919
19920 * boot/powerpc/ieee1275/crt0.S: Moved to ...
19921 * kern/powerpc/ieee1275/crt0.S: ... here.
19922
19923 * boot/powerpc/ieee1275/cmain.c: Moved to ...
19924 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 19925
48b671ff 19926 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
19927 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
19928 instead of boot/powerpc/ieee1275/crt0.S and
19929 boot/powerpc/ieee1275/cmain.c, respectively.
19930
19931 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
19932 sectors. It was not used anyway.
19933
09fc77a7 199342005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19935
19936 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
19937 `unused parameter' warning.
19938
003789c7 199392005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19940
19941 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19942 function.
19943 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19944 getcharwidth.
19945
67f44c86 199462005-08-28 Marco Gerards <metgerards@student.han.nl>
19947
19948 * include/grub/normal.h (enum grub_completion_type): Added
19949 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19950
19951 * normal/cmdline.c (print_completion): Handle
19952 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19953 * normal/menu_entry.c (store_completion): Likewise.
19954
19955 * normal/completion.c (complete_arguments): New function.
19956 (grub_normal_do_completion): Call `complete_arguments' when the
19957 current words start with a dash.
19958
0b5abe02 199592005-08-27 Marco Gerards <metgerards@student.han.nl>
19960
19961 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19962 `gzio.mod' instead of `io.mod').
19963
d9864ee1 199642005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19965
19966 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19967 (DISTDIRS): Added io and video.
19968 Rewrite the search routine to make an output consistently.
19969
19970 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19971 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19972 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19973 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19974 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19975 util/powerpc/ieee1275/misc.c.
f19dbdb7 19976
d9864ee1 19977 * include/grub/gzio.h: New file.
19978 * io/gzio.c: Likewise.
f19dbdb7 19979
d9864ee1 19980 * kern/file.c (grub_file_close): Call grub_device_close only if
19981 FILE->DEVICE is not NULL.
19982
19983 * include/grub/mm.h [!NULL] (NULL): New macro.
19984
19985 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19986
19987 * conf/powerpc-ieee1275.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 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19993 (pkgdata_MODULES): Added gzio.mod.
19994 (gzio_mod_SOURCES): New variable.
19995 (gzio_mod_CFLAGS): Likewise.
19996
19997 * commands/cat.c: Include grub/gzio.h.
19998 (grub_cmd_cat): Use grub_gzfile_open instead of
19999 grub_file_open.
f19dbdb7 20000
d9864ee1 20001 * commands/cmp.c: Include grub/gzio.h.
20002 (grub_cmd_cmp): Use grub_gzfile_open instead of
20003 grub_file_open.
20004
20005 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
20006 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
20007 grub_file_open.
20008 (grub_rescue_cmd_module): Likewise.
20009
fa46f4b5 200102005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20011
20012 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
20013 kern/sparc64/ieee1275/init.c because it contains _start.
20014 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
20015
e9211b5d 200162005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20017
20018 * configure.ac: Add support for sparc64 host with ieee1275
20019 firmware.
20020 * configure: Generated from configure.ac.
20021 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20022 instead of int.
20023 (grub_ofdisk_read): Likewise.
20024 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20025 pointers as (void *) to remove a warning.
20026 (grub_ofdisk_close): Likewise.
20027 (grub_ofdisk_read): Likewise.
20028 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20029 returns, so make it return void to remove a warning.
20030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20031 Corresponding prototype change.
20032 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20033 values, and cast the pointers as (void *) to remove a warning.
20034 (grub_mm_dump): Likewise.
20035 * conf/sparc64-ieee1275.mk: New file.
20036 * conf/sparc64-ieee1275.rmk: Likewise.
20037 * include/grub/sparc64/setjmp.h: Likewise.
20038 * include/grub/sparc64/types.h: Likewise.
20039 * include/grub/sparc64/ieee1275/console.h: Likewise.
20040 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20041 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20042 * include/grub/sparc64/ieee1275/time.h: Likewise.
20043 * kern/sparc64/cache.c: Likewise.
20044 * kern/sparc64/dl.c: Likewise.
20045 * kern/sparc64/ieee1275/init.c: Likewise.
20046 * kern/sparc64/ieee1275/openfw.c: Likewise.
20047
385c6a92 200482005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20049
20050 * util/console.c (grub_ncurses_putchar): If C is greater than
20051 0x7f, set C to a question mark.
20052 (grub_ncurses_getcharwidth): New function.
20053 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20054 getcharwidth.
20055
20056 * normal/menu.c (print_entry): Made aware of Unicode. First,
20057 convert TITLE to UCS-4, and predict the cursor position by
20058 grub_getcharwidth.
20059
20060 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20061 const to SRC.
20062 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20063
16ccb8b1 200642005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20065
20066 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20067 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20068 grub_strcat.
20069
20070 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20071 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20072 grub_strcpy and grub_strlen. Take it into account that a space
20073 character is inserted as a delimiter.
20074
6a85ce79 200752005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20076
20077 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20078 invalid magic in the error.
6a85ce79 20079
20080 * commands/search.c: New file.
f19dbdb7 20081
6a85ce79 20082 * util/grub-emu.c (main): Call grub_search_init and
20083 grub_search_fini.
20084
20085 * kern/rescue.c (grub_rescue_print_disks): Removed.
20086 (grub_rescue_print_devices): New function.
20087 (grub_rescue_cmd_ls): Use grub_device_iterate with
20088 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20089 grub_rescue_print_disks.
20090
20091 * kern/partition.c (grub_partition_iterate): Return the result of
20092 PARTMAP->ITERATE instead of GRUB_ERRNO.
20093
20094 * kern/device.c: Include grub/partition.h.
20095 (grub_device_iterate): New function.
20096
20097 * include/grub/partition.h (grub_partition_iterate): Return int
20098 instead of grub_err_t.
20099
20100 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20101 prototype.
20102 [GRUB_UTIL] (grub_search_fini): Likewise.
20103
20104 * include/grub/device.h (grub_device_iterate): New prototype.
20105
20106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20107 commands/search.c.
20108 (pkgdata_MODULES): Added search.mod.
20109 (search_mod_SOURCES): New variable.
20110 (search_mod_CFLAGS): Likewise.
20111
20112 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
20113 (pkgdata_MODULES): Added search.mod.
20114 (search_mod_SOURCES): New variable.
20115 (search_mod_CFLAGS): Likewise.
20116
20117 * commands/ls.c (grub_ls_list_disks): Renamed to ...
20118 (grub_ls_list_devices): ... this, and use grub_device_iterate.
20119 All callers changed.
20120
20121 * DISTLIST: Added commands/search.c.
20122
ef095434 201232005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20124
20125 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
20126 conversion.
20127 (grub_getcharwidth): New function.
20128
20129 * kern/misc.c (grub_utf8_to_ucs4): New function.
20130
20131 * include/grub/term.h (struct grub_term): Added a new member
20132 "getcharwidth".
20133 (grub_getcharwidth): New prototype.
20134
20135 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
20136
20137 * term/i386/pc/console.c (map_char): New function. Segregated from
20138 grub_console_putchar.
20139 (grub_console_putchar): Use map_char.
20140 (grub_console_getcharwidth): New function.
20141 (grub_console_term): Specified grub_console_getcharwidth as
20142 getcharwidth.
20143
20144 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
20145 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
20146
20147 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
20148 GRUB_ERRNO.
20149 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
20150 on grub_strtoul completely.
20151 (write_char): Declare local variables in the beginning of the
20152 function.
20153 (grub_vesafb_getcharwidth): New function.
20154 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
20155 getcharwidth.
20156
1f0a95e4 201572005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
20158
20159 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
20160 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
20161 commands/i386/pc/vbetest.c.
20162
20163 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
20164 call grub_vbe_get_controller_info again, because the returned
20165 information is volatile.
20166 (grub_vbe_set_video_mode): Mostly rewritten.
20167 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
20168 grub_vbe_status_t correctly.
20169 (grub_vbe_get_video_mode_info): Likewise.
20170 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
20171 several if statements.
20172
20173 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
20174 * commands/i386/pc/vbeinfo.c: ... this.
20175
20176 * commands/i386/pc/vbe_test.c: Renamed to ...
20177 * commands/i386/pc/vbetest.c: ... this.
20178
20179 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
20180 ...
20181 (grub_cmd_vbeinfo): ... this. Save video modes before
20182 iterating. Skip a video mode, if it is not available, not enough
20183 information is given or it is monochrome. Show the memory
20184 model. Leave the interpretation of MODEVAR to grub_strtoul
20185 completely.
20186 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
20187 (GRUB_MOD_FINI): Likewise.
20188
20189 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
20190 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
20191 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
20192 duplicated grub_env_get. Leave the interpretation of MODEVAR to
20193 grub_strtoul completely.
20194 (real2pm): Removed.
20195 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
20196 (GRUB_MOD_FINI): Likewise.
20197
20198 * normal/misc.c: Include grub/mm.h.
20199
20200 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
20201 vbe_list_modes with vbetest.mod and vbeinfo.mod.
20202 (vbe_list_modes_mod_SOURCES): Removed.
20203 (vbe_list_modes_mod_CFLAGS): Likewise.
20204 (vbe_test_mod_SOURCES): Likewise.
20205 (vbe_test_mod_CFLAGS): Likewise.
20206 (vbeinfo_mod_SOURCES): New variable.
20207 (vbeinfo_mod_CFLAGS): Likewise.
20208 (vbetest_mod_SOURCES): Likewise.
20209 (vbetest_mod_CFLAGS): Likewise.
20210
992ffbbe 202112005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
20212
20213 * normal/misc.c: New file.
20214
20215 * DISTLIST: Added normal/misc.c.
f19dbdb7 20216
992ffbbe 20217 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
20218 DISK to HOOK. Call HOOK with DISK.
20219 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20220 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20221 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20222
20223 * normal/menu_entry.c (struct screen): Added a new member
20224 "completion_shown".
20225 (completion_buffer): New global variable.
20226 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
20227 (store_completion): New function.
20228 (complete): Likewise.
20229 (clear_completions): Likewise.
20230 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
20231 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
20232 a tab, call complete.
20233
20234 * normal/completion.c (disk_dev): Removed.
20235 (print_simple_completion): Likewise.
20236 (print_partition_completion): Likewise.
20237 (print_func): New global variable.
20238 (add_completion): Do not take the arguments WHAT or PRINT any
20239 longer. Added a new argument TYPE. Instead of printing directly,
20240 call PRINT_FUNC if not NULL.
20241 All callers changed.
20242 (complete_device): Use a local variable DEV instead of
20243 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
20244 (grub_normal_do_completion): Take a new argument HOOK. Do not
20245 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
20246 empty string, return NULL instead.
20247 All callers changed.
20248
20249 * normal/cmdline.c (print_completion): New function.
20250
20251 * kern/partition.c (grub_partition_iterate): Add an argument DISK
20252 to HOOK.
20253 All callers changed.
20254
20255 * kern/disk.c (grub_print_partinfo): Removed.
20256
20257 * include/grub/partition.h (struct grub_partition_map): Add a new
20258 argument DISK into HOOK of ITERATE.
20259 (grub_partition_iterate): Add a new argument DISK to HOOK.
20260
20261 * include/grub/normal.h (enum grub_completion_type): New enum.
20262 (grub_completion_type_t): New type.
20263 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
20264 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
20265 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
20266 (GRUB_COMPLETION_TYPE_FILE): Likewise.
20267 (grub_normal_do_completion): Added a new argument HOOK.
20268 (grub_normal_print_device_info): New prototype.
20269
20270 * include/grub/disk.h (grub_print_partinfo): Removed.
20271
20272 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
20273 (normal_mod_SOURCES): Likewise.
20274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20275 (normal_mod_SOURCES): Likewise.
20276
20277 * commands/ls.c (grub_ls_list_disks): Use
20278 grub_normal_print_device_info instead of grub_print_partinfo. Free
20279 PNAME.
20280 (grub_ls_list_files): Use grub_normal_print_device_info instead of
20281 duplicating the code.
20282
0bd41162 202832005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20284
20285 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 20286 follow GCS more precisely.
20287 * commands/i386/pc/vbe_test.c: Likewise.
20288 * include/grub/i386/pc/vbe.h: Likewise.
20289 * term/i386/pc/vesafb.c: Likewise.
20290 * video/i386/pc/vbe.c: Likewise.
0bd41162 20291
6323696a 202922005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20293
20294 * DISTLIST: Added term/i386/pc/vesafb.c
20295 DISTLIST: Added video/i386/pc/vbe.c
20296 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
20297 DISTLIST: Added commands/i386/pc/vbe_test.c.
20298 * commands/i386/pc/vbe_list_modes.c: New file.
20299 * commands/i386/pc/vbe_test.c: Likewise.
20300 * term/i386/pc/vesafb.c: Likewise.
20301 * video/i386/pc/vbe.c: Likewise.
20302 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
20303 (grub_vbe_probe) Added prototype.
20304 (grub_vbe_set_video_mode) Likewise.
20305 (grub_vbe_get_video_mode) Likewise.
20306 (grub_vbe_get_video_mode_info) Likewise.
20307 (grub_vbe_set_pixel_rgb) Likewise.
20308 (grub_vbe_set_pixel_index) Likewise.
20309 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
20310 (pkgdata_MODULES): Added vesafb.mod.
20311 (pkgdata_MODULES): Added vbe_list_modes.mod.
20312 (pkgdata_MODULES): Added vbe_test.mod.
20313 (vbe_mod_SOURCES): Added.
20314 (vbe_mod_CFLAGS): Likewise.
20315 (vesafb_mod_SOURCES): Likewise.
20316 (vesafb_mod_CFLAGS): Likewise.
20317 (vbe_list_modes_mod_SOURCES): Likewise.
20318 (vbe_list_modes_mod_CFLAGS): Likewise.
20319 (vbe_test_mod_SOURCES): Likewise.
20320 (vbe_test_mod_CFLAGS): Likewise.
20321
0a74e62f 203222005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
20323
0a74e62f 20324 * normal/command.c (grub_command_execute): If INTERACTIVE is
20325 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
20326 CMDLINE. Disable the pager if INTERACTIVE is true.
20327 All callers are changed.
20328
20329 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
20330 before reading a config file.
20331 * normal/main.c (read_config_file): Even if a command is not
20332 found, register it if it is within an entry.
20333
20334 * util/grub-emu.c: Include sys/types.h and unistd.h.
20335 (options): Added --hold.
20336 (struct arguments): Added a new member "hold".
20337 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
20338 missing.
20339 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
20340 cleared by a debugger, if it is not zero.
20341
20342 * include/grub/normal.h (grub_command_execute): Add an argument
20343 INTERACTIVE.
20344
e51f85ae 203452005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
20346
20347 * DISTLIST: Added include/grub/i386/pc/vbe.h.
20348
e9c6f39b 203492005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
20350
20351 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
20352 program with another one, because the old one didn't detect a bug
20353 in gcc-3.4. Always use regparm 2, because the new test is still
20354 not enough for gcc-4.0. Someone must investigate a simple test
20355 case which detects a bug in gcc-4.0.
20356
8de3495c 203572005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
20358
20359 * DISTLIST: Added normal/completion.c.
20360
20361 * normal/completion.c: New file.
f19dbdb7 20362
8de3495c 20363 * term/i386/pc/console.c (grub_console_getwh): New function.
20364 (grub_console_term): Assign grub_console_getwh to getwh.
20365
20366 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
20367 function is defined in normal/completion.c as
20368 grub_normal_do_completion.
20369 (grub_cmdline_get): Use grub_normal_do_completion instead of
20370 grub_tab_complete.
20371
20372 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
20373 returns non-zero, otherwise return 0.
20374 (grub_partition_iterate): First, probe the partition map. Then,
20375 call ITERATE only for this partition map.
20376
20377 * kern/misc.c (grub_strncmp): Rewritten.
20378
20379 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
20380 returns non-zero. Otherwise return 0.
20381
20382 * include/grub/partition.h (grub_partition_map_iterate): Return
20383 int instead of void.
20384
20385 * include/grub/normal.h (grub_normal_do_completion): New prototype.
20386
20387 * include/grub/misc.h (grub_strncmp): Change the type of N to
20388 grub_size_t.
20389
20390 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
20391 of void.
20392
20393 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 20394 unsigned explicitly before comparing it with I.
8de3495c 20395
20396 * kern/main.c (grub_env_write_root): Add the attribute unused into
20397 VAR.
20398
20399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20400 normal/completion.c.
20401 (normal_mod_SOURCES): Likewise.
20402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20403 (normal_mod_SOURCES): Likewise.
20404
20405 * normal/command.c (grub_iterate_commands): If ITERATE returns
20406 non-zero, return one immediately.
20407
e85e144b 204082005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
20409
20410 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
20411 * kern/i386/pc/startup.S: Updated Global Descriptor table's
20412 descriptions.
20413 (grub_vbe_get_controller_info): New function.
20414 (grub_vbe_get_mode_info): Likewise.
20415 (grub_vbe_set_mode): Likewise.
20416 (grub_vbe_get_mode): Likewise.
20417 (grub_vbe_set_memory_window): Likewise.
20418 (grub_vbe_get_memory_window): Likewise.
20419 (grub_vbe_set_scanline_length): Likewise.
20420 (grub_vbe_get_scanline_length): Likewise.
20421 (grub_vbe_set_display_start): Likewise.
20422 (grub_vbe_get_display_start): Likewise.
20423 (grub_vbe_set_palette_data): Likewise.
20424 * include/grub/i386/pc/vbe.h: New file.
20425
c46153d2 204262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20427
20428 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20429 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
20430 * DISTLIST: Likewise.
20431 * kern/ieee1275/of.c: Moved to ...
20432 * kern/ieee1275/ieee1275.c: ... here.
20433
0cb90c45 204342005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20435
20436 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
20437 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
20438 Pass 0 as `end' parameter to grub_strtoul().
20439
a19fb360 204402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20441
20442 * include/grub/powerpc/ieee1275/console.h: Do not include
20443 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
20444 ifdef.
20445 (grub_console_cur_color): Remove i386-specific prototype.
20446 (grub_console_real_putchar): Likewise.
20447 (grub_console_checkkey): Likewise.
20448 (grub_console_getkey): Likewise.
20449 (grub_console_getxy): Likewise.
20450 (grub_console_gotoxy): Likewise.
20451 (grub_console_cls): Likewise.
20452 (grub_console_setcursor): Likewise.
20453 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
20454 Include <grub/machine/console.h>.
20455 * term/ieee1275/ofconsole.c: Likewise.
20456
4ac9bd04 204572005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
20458
20459 * Makefile.in (LIBLZO): New variable.
20460
20461 * configure.ac: Check for LZO version 2.
20462
20463 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
20464 lzo/lzo1x.h instead of lzo1x.h.
20465
20466 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
20467 of -llzo.
20468
20469 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
20470 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
20471
20472 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
20473 copying the data from PARTITION to P.
20474
f4917dfd 204752005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20476
20477 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
20478 negative, unload the module.
20479
20480 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
20481 map is "pc_partition_map" but not "pc".
20482 (usage): Fix the description. The options are --boot-image and
20483 --core-image but not --boot-file or --core-file.
20484 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
20485 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
20486 DEFAULT_DIRECTORY.
20487
20488 * util/i386/pc/grub-install.in: Do not specify --boot-file or
20489 --core-file. Specify INSTALL_DEVICE as an argument.
20490
20491 * util/console.c: Include config.h.
20492 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
20493 [HAVE_NCURSES_H]: Include ncurses.h.
20494 [HAVE_CURSES_H]: Include curses.h.
20495 [!A_NORMAL] (A_NORMAL): Defined as zero.
20496 [!A_STANDOUT] (A_STANDOUT): Likewise.
20497
20498 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
20499 -lncurses.
20500 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
20501
20502 * configure.ac: Check for curses libraries and headers.
20503
20504 * Makefile.in (LIBCURSES): New variable.
20505
20506 * genmk.rb (Script::rule): Set the executable bits.
20507
20508 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
20509 name of the PC partition map is "pc_partition_map" but not "pc".
20510
0e143073 205112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20512
20513 * util/i386/pc/grub-install.in (grub_probefs): New variable.
20514 (modules): Likewise.
20515 (usage): Added descriptions for --modules and --grub-probefs.
20516 Handle --modules and --grub-probefs. Save the arguments in MODULES
20517 and GRUB_PROBEFS, respectively.
20518 Auto-detect a filesystem module against GRUBDIR. If the result is
20519 empty and modules are not specified explicitly, abort the
20520 installation. Add the result to MODULES.
20521
20522 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
20523 disk/powerpc/ieee1275/ofdisk.c,
20524 include/grub/powerpc/ieee1275/init.h and
20525 term/powerpc/ieee1275/ofconsole.c.
20526 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
20527 term/ieee1275/ofconsole.c.
20528
20529 * include/grub/powerpc/ieee1275/console.h: Resurrected.
20530
20531 * COPYING: Upgraded to the latest version. Only the address of the
20532 FSF office has changed.
f19dbdb7 20533
efd6e6d5 205342005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20535
20536 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20537 kern/ieee1275.c with kern/ieee1275/of.c.
20538
20539 * kern/ieee1275.c: Moved to ...
20540 * kern/ieee1275/of.c: ... here.
20541
8ceafda2 205422005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
20543
20544 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 20545 readability.
8ceafda2 20546
20547 * config.guess: Updated to the latest version from gnulib.
20548 * config.sub: Likewise.
20549 * install.sh: Likewise.
20550 * mkinstalldirs: Likewise.
20551
20552 * include/grub/console.h: Removed. This file is arch-specific. Do
20553 not put this in include/grub.
20554
20555 * include/grub/i386/pc/console.h: Resurrected.
20556
20557 * util/console.c: Include grub/machine/console.h instead of
20558 grub/console.h.
20559 * util/grub-emu.c: Likewise.
20560
267f6cd9 205612005-08-04 Marco Gerards <metgerards@student.han.nl>
20562
20563 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
20564 hardcoded value.
f19dbdb7 20565
267f6cd9 20566 From Vincent Pelletier <subdino2004@yahoo.fr>
20567 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
20568 Redefined to use grub_getwh.
20569 (grub_term): New member named getwh.
20570 (grub_getwh): New prototype.
20571 * kern/term.c (grub_getwh): New function.
20572 * term/i386/pc/console.c (grub_console_getwh): New function.
20573 (grub_console_term): New member `getwh'.
20574 * term/i386/pc/vga.c (grub_vga_getwh): New function.
20575 (grub_vga_term): New member `getwh'.
0b5abe02 20576 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 20577 grub_ssize_t.
20578 (grub_ofconsole_getw): New function.
20579 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
20580 (grub_ofconsole_term): New field named getwh and new initial
20581 value.
20582
3be7266d 205832005-08-03 Hollis Blanchard <hollis@penguinppc.org>
20584
20585 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
20586 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
20587 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
20588 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
20589 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
20590 of <grub/machine/ieee1275.h>.
20591 * commands/ieee1275/reboot.c: Likewise.
20592 * boot/powerpc/ieee1275/ieee1275.c: Move ...
20593 * kern/ieee1275.c: ... to here. All users updated. Change all
20594 parameter structs to use new type `grub_ieee1275_cell_t'.
20595 * term/powerpc/ieee1275/ofconsole.c: Move ...
20596 * term/ieee1275/ofconsole.c: ... to here. All users updated.
20597 * disk/powerpc/ieee1275/ofdisk.c: Move ...
20598 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
20599 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
20600 to return int.
20601 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
20602 Remove unused prototypes. All users updated.
20603 * include/grub/powerpc/ieee1275/console.h: Removed.
20604 * include/grub/powerpc/ieee1275/ieee1275.h: Define
20605 `grub_ieee1275_cell_t'.
20606 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
20607 Cast comparisons with -1 to the correct type.
20608 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
20609 type to match `grub_ieee1275_entry_fn'.
20610
8b5f3938 206112005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
20612
20613 * DISTLIST: Added util/i386/pc/grub-probefs.c.
20614
20615 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
20616 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
20617 partmap/sun.c.
20618 (grub_probefs_SOURCES): New variable.
20619
20620 * util/i386/pc/grub-probefs.c: New file.
20621
20622 * util/i386/pc/grub-setup.c (main): Call
20623 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
20624 grub_hfs_init and grub_jfs_init to initialize the system. Call
20625 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
20626 grub_pc_partition_map_fini to finish the system.
20627
ea409713 206282005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
20629
20630 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
20631 function.
20632 (grub_multiboot_load_elf32): Likewise.
20633 (grub_multiboot_is_elf64): Likewise.
20634 (grub_multiboot_load_elf64): Likewise.
20635 (grub_multiboot_load_elf): Likewise.
20636 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
20637 an ELF32 or ELF64 file.
20638 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
20639
20640 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
20641 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
20642 NULL before calling FS->LABEL.
20643 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
20644 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
20645 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
20646 before calling FS->LABEL.
20647
141a288b 206482005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
20649
20650 * util/i386/pc/grub-install.in (datadir): New variable.
20651 (libdir): Removed.
20652 (pkgdatadir): New variable.
20653 (pkglibdir): Removed.
20654
0d5f8a54 206552005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
20656
20657 * DISTLIST: Added util/i386/pc/grub-install.in.
20658
20659 * util/i386/pc/grub-install.in: New file.
20660
20661 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
20662 (grub_install_SOURCES): Likewise.
20663
20664 * genmk.rb: Added support for scripts.
20665 (Script): New class.
20666 (scripts): New variable.
20667
20668 * Makefile.in (install-local): Install sbin_SCRIPTS by
20669 INSTALL_SCRIPT.
20670 (uninstall): Remove sbin_SCRIPTS.
20671
20672 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
20673 device, try to get a GRUB device by
20674 grub_util_biosdisk_get_grub_dev.
20675 Free DEST_DEV.
20676
20677 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
20678 description for --device-map.
20679
5f968e1e 206802005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20681
20682 Change the semantics of variable hooks. They now return strings
20683 instead of error values.
f19dbdb7 20684
5f968e1e 20685 * util/i386/pc/grub-setup.c: Include grub/env.h.
20686 (setup): Use grub_device_set_root instead of grub_env_set.
20687
20688 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
20689 grub_env_get instead of grub_device_set_root and
20690 grub_device_get_root, respectively.
20691
20692 * kern/main.c (grub_env_write_root): New function.
20693 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
20694 grub_env_set instead of grub_device_set_root.
20695
20696 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
20697 many variables.
20698 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
20699 rather than calling ENV->WRITE_HOOK afterwards.
20700 (grub_env_get): Return the result of ENV->READ_HOOK rather than
20701 passing a pointer of a pointer.
20702 (grub_register_variable_hook): Change the types of "read_hook" and
20703 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
20704 respectively.
20705 Allocate the default empty string on the heap, because this string
20706 may be freed later.
20707
20708 * kern/device.c: Include grub/env.h.
20709 (grub_device_set_root): Removed.
20710 (grub_device_get_root): Likewise.
20711 (grub_device_open): Use grub_env_get instead of
20712 grub_device_get_root.
20713
20714 * include/grub/env.h (grub_env_read_hook_t): New type.
20715 (grub_env_write_hook_t): Likewise.
20716 (grub_env_var): Change the types of "read_hook" and "write_hook"
20717 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
20718 (grub_register_variable_hook): Likewise.
20719
20720 * include/grub/device.h (grub_device_set_root): Removed.
20721 (grub_device_set_root): Likewise.
20722
20723 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
20724 make sure that DIRNAME terminates with '/', so that
20725 grub_fat_find_dir will fail if PATH is not a directory.
20726
20727 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
20728 from DIRNAME.
20729 Use the qualifier auto for print_files and print_files_long.
20730 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
20731 as a regular file.
20732 Put a newline only if there is no error.
20733 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
20734 used.
20735
896f0afd 207362005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20737
20738 * kern/partition.c (grub_partition_probe): Initialize PART to
20739 NULL. Otherwise, when no partition map is registered, this returns
20740 a garbage.
20741
b28b81b2 207422005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
20743
20744 * partmap/apple.c (apple_partition_map_iterate): Check if POS
20745 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
20746 valid.
20747
5f3607e0 207482005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
20749
20750 * commands/ls.c (grub_ls_list_disks): Print the filesystem
20751 information on each device, if it does not have partitions. Print
20752 "Device" instead of "Disk", because this function is not specific
20753 to disk devices.
20754
20755 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
20756 static to ensure that it is put on the memory rather than a
20757 register.
20758
502c87e8 207592005-07-17 Yoshinori Okuji <okuji@enbug.org>
20760
20761 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
20762 (grub_cat_init): Likewise.
20763 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
20764 (options): Likewise.
20765 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20766 (grub_configfile_init): Likewise.
20767 * font/manager.c (GRUB_MOD_INIT): Likewise.
20768 * commands/help.c (GRUB_MOD_INIT): Likewise.
20769 (grub_help_init): Likewise.
20770 * normal/command.c (grub_command_init): Likewise.
20771 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
20772 * disk/loopback.c (grub_loop_init): Likewise.
20773 (GRUB_MOD_INIT): Likewise.
20774 * commands/ls.c (grub_ls_init): Likewise.
20775 (GRUB_MOD_INIT): Likewise.
20776 (options): Likewise.
20777 * commands/boot.c (grub_boot_init): Likewise.
20778 (GRUB_MOD_INIT): Likewise.
20779 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
20780 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
20781 (GRUB_MOD_INIT): Likewise.
20782 * commands/cmp.c (grub_cmp_init): Likewise.
20783 (GRUB_MOD_INIT): Likewise.
20784
20785 * normal/arg.c: Use <> instead of "" to include header files.
20786 (SHORT_ARG_HELP): New macro.
20787 (SHORT_ARG_USAGE): Likewise.
20788 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
20789 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
20790 descriptions.
20791 (find_short): Check if C is 'h' or 'u' explicitly.
20792 (grub_arg_show_help): Use space characters instead of tabs. Treat
20793 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
20794 are shown with --help and --usage only if they are not used for
20795 the command itself.
20796 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
20797 'h' and 'u'.
20798
20799 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
20800 const into "longarg". Change the type of "shortarg" to int.
20801
f806d18e 208022005-07-17 Yoshinori Okuji <okuji@enbug.org>
20803
20804 * boot/i386/pc/boot.S (boot_drive_check): New label.
20805
20806 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
20807 macro.
20808
20809 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
20810 which do not pass a boot drive correctly. Copied from GRUB Legacy.
20811
e293232b 208122005-07-17 Yoshinori Okuji <okuji@enbug.org>
20813
20814 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
20815 When turning off Gate A20, skip the check and return immediately,
20816 because this is not fatal usually.
20817
ebedfd00 208182005-07-17 Yoshinori Okuji <okuji@enbug.org>
20819
20820 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
20821 be 0x7C00 instead of 0x8000.
20822
20823 * boot/i386/pc/pxeboot.S: Rewritten.
20824
20825 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
20826 EXT_C.
20827 (gate_a20_check_state): Read a byte from 0x108000. Invert the
20828 result.
20829
654fc59f 208302005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
20831
20832 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
20833 robustness. This routine now supports a BIOS call and System
20834 Control Port A to modify the gate A20.
20835
20836 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20837 Increased to 0x440.
20838
09f9923f 208392005-07-12 Hollis Blanchard <hollis@penguinppc.org>
20840
20841 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
20842 device path and resulting ihandle.
20843 (grub_ofdisk_close): dprintf the ihandle being closed.
20844 (grub_ofdisk_read): dprintf function parameters.
20845 * kern/mm.c (grub_mm_init_region): Likewise.
20846 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
20847 (grub_linux_boot): dprintf the Linux entry point, initrd address and
20848 size, and boot arguments.
20849 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
20850 before loading into memory.
20851 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
20852 before loading into memory.
20853
7ef504d8 208542005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
20855
20856 * kern/mm.c: Added much documentation.
20857 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
20858 8, set to 5 instead of 8.
20859
e0f050c2 208602005-07-10 Yoshinori Okuji <okuji@enbug.org>
20861
20862 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
20863
20864 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
20865 (grub_mkdevicemap_SOURCES): New variable.
20866
20867 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
20868 lib/device.c of GRUB Legacy.
20869
7224189a 208702005-07-10 Yoshinori Okuji <okuji@enbug.org>
20871
20872 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
20873 instead of PATH is NULL.
20874
68c864eb 208752005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
20876
20877 * commands/cmp.c (BUFFER_SIZE): New macro.
20878 (grub_cmd_cmp): Close the right file at the right time. Compare
20879 only data just read. Don't report files of different size as
20880 identical. Dynamically allocate buffers. Move variable
20881 declarations at the beginning of function.
20882
e6f3e614 208832005-07-09 Yoshinori Okuji <okuji@enbug.org>
20884
20885 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
20886 reverse.
20887
f8f1559a 208882004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
20889
20890 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
20891 when backspace is pressed at beginning of line.
20892
39c9d41d 208932005-07-03 Yoshinori Okuji <okuji@enbug.org>
20894
20895 * DISTLIST: Added genfslist.sh.
20896
20897 * normal/main.c (fs_module_list): New variable.
20898 (autoload_fs_module): New function.
20899 (read_fs_list): Likewise.
20900 (grub_normal_execute): Call read_fs_list.
20901
20902 * kern/fs.c (grub_fs_autoload_hook): New variable.
20903 (grub_fs_probe): Added support for auto-loading.
20904
20905 * include/grub/normal.h (struct grub_fs_module_list): New struct.
20906 (grub_fs_module_list_t): New type.
20907
20908 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
20909 (grub_fs_autoload_hook): New prototype.
20910
20911 * genfslist.sh: New file.
f19dbdb7 20912
39c9d41d 20913 * genmk.rb: Added a rule to generate a filesystem list.
20914
121c1d83 209152005-06-30 Marco Gerards <metgerards@student.han.nl>
20916
20917 * configure.ac: Fix the test for cross-compiling.
20918
20919 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
20920 define GRUB_UTIL anymore.
20921
20922 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
20923 so this function works on other systems than just big endian.
20924 (load_modules): Likewise.
20925 (add_segments): Likewise.
20926
e75d76e1 209272005-06-23 Hollis Blanchard <hollis@penguinppc.org>
20928
20929 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
20930 contains `l' modifier, get a long from va_arg().
20931
50b5a0a7 209322005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
20933
20934 * kern/mm.c (grub_free): If the next free block which is being
20935 merged is the first free block, set the first block to the block
20936 being freed.
20937 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
20938
89371b20 209392005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20940
20941 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20942 `grub_ieee1275_chosen'.
20943
168d6e58 209442005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20945
20946 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20947 (grub_ieee1275_chosen): New variable.
20948 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20949 `chosen'.
20950 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20951 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20952 Rename first argument to `phandle' for consistency.
20953 (grub_ieee1275_get_property_length): Likewise.
20954 (grub_ieee1275_next_property): Likewise. Change type of first argument
20955 to grub_ieee1275_phandle_t.
20956 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20957 Move export next to declaration.
20958 (grub_ieee1275_chosen): New variable.
20959 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20960 Correct cosmetic typo.
20961 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20962 `grub_ieee1275_chosen'.
20963 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20964 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20965 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20966 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20967 `grub_ieee1275_chosen'.
20968
ca5baa3f 209692005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20970
20971 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20972 /chosen/bootargs.
20973 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20974 /chosen/bootargs as "variable=value" pairs.
20975
708b345f 209762005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20977
20978 * include/grub/misc.h (grub_dprintf): New macro.
20979 (grub_real_dprintf): New prototype.
20980 (grub_strword): Likewise.
20981 (grub_iswordseparator): Likewise.
20982 * kern/misc.c (grub_real_dprintf): New function.
20983 (grub_strword): Likewise.
20984 (grub_iswordseparator): Likewise.
20985
f4c5e67c 209862005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20987
20988 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20989 (roundup): Remove macro.
20990 (grub_ieee1275_flags): Make static.
20991 (grub_ieee1275_realmode): Remove.
20992 (grub_ieee1275_test_flag): New function.
20993 (grub_ieee1275_set_flag): Likewise.
20994 (find_options): Rename to `grub_ieee1275_find_options'; update
20995 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20996 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20997 (cmain): New prototype.
20998 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20999 `grub_ieee1275_flags' directly.
21000 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
21001 machine/biosdisk.h.
21002 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
21003 Don't include grub/machine/init.h.
21004 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
21005 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21006 Remove prototype.
21007 (grub_ieee1275_realmode): Likewise.
21008 (grub_ieee1275_flag): New enum.
21009 (grub_ieee1275_test_flag): New prototype.
21010 (grub_ieee1275_set_flag): New prototype.
21011 * include/grub/powerpc/ieee1275/init.h: Remove file.
21012 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
21013 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
21014 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
21015 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
21016 comment.
21017 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
21018 `grub_ieee1275_test_flag'.
21019 (grub_ieee1275_encode_devname): Likewise.
21020
ed16607e 210212005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21022
21023 * include/grub/powerpc/ieee1275/ieee1275.h
21024 (grub_ieee1275_encode_devname): New prototype.
21025 (grub_ieee1275_get_filename): Likewise.
21026 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21027 function.
21028 (grub_set_prefix): Likewise.
21029 (grub_machine_init): Call grub_set_prefix.
21030 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21031 (grub_parse_type): New enum.
21032 (grub_ieee1275_get_devargs): New function.
21033 (grub_ieee1275_get_devname): Likewise.
21034 (grub_ieee1275_parse_args): Likewise.
21035 (grub_ieee1275_get_filename): Likewise.
21036 (grub_ieee1275_encode_devname): Likewise.
21037
be369920 210382005-03-30 Marco Gerards <metgerards@student.han.nl>
21039
21040 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21041 `grub_loader_unset'.
21042
a5ce3a4a 210432005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21044
21045 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21046 instead of grub_ieee1275_interpret.
21047 (grub_halt_init): New function.
21048 (grub_halt_fini): Likewise.
21049 (GRUB_MOD_INIT): Correct message grammar.
21050 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21051 instead of grub_ieee1275_interpret.
21052 (grub_reboot_init): New function.
21053 (grub_reboot_fini): Likewise.
21054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21055 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21056 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21057 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21058 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21059 function.
21060 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21061 Add prototype.
21062 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21063 prototype.
21064 (grub_halt): Likewise.
21065 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21066 (cmain): Remove __attribute__((unused)).
21067 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21068 (grub_heap_len): Likewise.
21069 (grub_machine_fini): New function.
21070 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21071 (grub_halt): Likewise.
21072 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21073 function.
21074 * util/powerpc/ieee1275/misc.c: New file.
21075
0058f771 210762005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21077
21078 * DISTLIST: New file.
21079 * gendistlist.sh: Likewise.
f19dbdb7 21080
0058f771 21081 * Makefile.in (COMMON_DISTFILES): Removed.
21082 (BOOT_DISTFILES): Likewise.
21083 (CONF_DISTFILES): Likewise.
21084 (DISK_DISTFILES): Likewise.
21085 (FS_DISTFILES): Likewise.
21086 (INCLUDE_DISTFILES): Likewise.
21087 (KERN_DISTFILES): Likewise.
21088 (LOADER_DISTFILES): Likewise.
21089 (TERM_DISTFILES): Likewise.
21090 (UTIL_DISTFILES): Likewise.
21091 (DISTFILES): Likewise.
21092 (uninstall): Uninstall files in $(pkgdata_DATA).
21093 (DISTLIST): New target.
21094 (distdir): Use the contents of the file DISTLIST to get a list of
21095 distributed files.
21096
46b3b8a5 210972005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21098
21099 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21100 descriptor. This is ported from GRUB Legacy.
21101
21102 * gencmdlist.sh: Added an extra semicolon to make it work with
21103 old sed versions. Reported by Robert Bihlmeyer
21104 <robbe@orcus.priv.at>.
21105
5822ff87 211062005-03-08 Yoshinori Okuji <okuji@enbug.org>
21107
21108 Automatic loading of commands is supported.
f19dbdb7 21109
5822ff87 21110 * normal/main.c (read_command_list): New function.
21111 (grub_normal_execute): Call read_command_list.
21112
21113 * normal/command.c (grub_register_command): Return zero or CMD.
21114 Allocate CMD->NAME from the heap.
21115 Initialize CMD->MODULE_NAME to zero.
21116 Find the same name as well. If the same command is found and it is
21117 a dummy command, overwrite members. If it is not a dummy command,
21118 return zero.
21119 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
21120 (grub_command_find): If a dummy command is found, load a module
21121 and retry to find a command only once.
21122
21123 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
21124 make sure that each command is loaded.
21125
21126 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
21127 macro.
21128 (struct grub_command): Remove const from the member `name'.
21129 Add a new member `module_name'.
21130 (grub_register_command): Return grub_command_t.
21131
21132 * commands/help.c (grub_cmd_help): Call grub_command_find to make
21133 sure that each command is loaded.
21134
21135 * genmk.rb (PModule::rule): Specify a module name without the
21136 suffix ".mod" to gencmdlist.sh.
21137
7b1f4b57 211382005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21139
21140 * gencmdlist.sh: New file.
f19dbdb7 21141
7b1f4b57 21142 * genmk.rb (PModule::rule): Generate a rule for a command list.
21143 Clean command.lst.
21144 Generate command.lst from $(COMMANDFILES).
21145
21146 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
21147 (DATA): Added $(pkgdata_DATA).
21148 (install-local): Install files in $(pkgdata_DATA).
21149
062aaf39 211502005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21151
21152 * term/i386/pc/vga.c (debug_command): Removed.
21153 (GRUB_MOD_INIT): Do not register the command "debug".
21154
21155 From Hollis Blanchard:
21156 * commands/configfile.c: New file.
21157 * conf/i386-pc.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 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21163 commands/configfile.c.
21164 (pkgdata_MODULES): Added configfile.mod.
21165 (configfile_mod_SOURCES): New variable.
21166 (configfile_mod_CFLAGS): Likewise.
21167 * util/grub-emu.c (main): Call grub_configfile_init and
21168 grub_configfile_fini.
21169 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
21170 prototype.
21171 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 21172
cee01aa6 211732005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21174
21175 * normal/arg.c (grub_arg_show_help): Do not show the bug report
21176 address.
21177
21178 * commands/help.c (grub_cmd_help): Do not print newlines after
21179 the last command in print_command_help.
21180
93f3a1d8 211812005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21182
21183 * commands/default.h: New file.
21184 * commands/timeout.h: Likewise.
21185 * normal/context.c: Likewise.
f19dbdb7 21186
93f3a1d8 21187 * util/misc.c: Do not include sys/times.h.
21188 Include sys/time.h and grub/machine/time.h.
21189 (grub_get_rtc): Rewritten with gettimeofday.
21190
21191 * util/grub-emu.c (main): Call grub_default_init and
21192 grub_timeout_init before grub_normal_init, and call
21193 grub_timeout_fini and grub_default_fini after grub_main.
21194
21195 * util/console.c (grub_ncurses_checkkey): Return the read
21196 character or -1.
21197
21198 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
21199 timeouts.
21200
21201 * normal/main.c (read_config_file): Push MENU. If this fails,
21202 print an error and wait for a user input.
21203 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
21204 If a menu is empty or an error occurs, pop MENU.
21205 (grub_normal_execute): Pop and free MENU after grub_menu_run
21206 returns.
21207
21208 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
21209
21210 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
21211 include time.h.
21212 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21213 without GRUB_UTIL.
21214 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
21215 time.h.
21216 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21217 without GRUB_UTIL.
21218
21219 * include/grub/normal.h (struct grub_menu_list): New struct.
21220 (grub_menu_list_t): New type.
21221 (struct grub_context): New struct.
21222 (grub_context_t): New type.
21223 (grub_register_command): Got rid of EXPORT_FUNC.
21224 (grub_unregister_command): Likewise.
21225 (grub_context_get): New prototype.
21226 (grub_context_get_current_menu): Likewise.
21227 (grub_context_push_menu): Likewise.
21228 (grub_context_pop_menu): Likewise.
21229 [GRUB_UTIL] (grub_default_init): Likewise.
21230 [GRUB_UTIL] (grub_default_fini): Likewise.
21231 [GRUB_UTIL] (grub_timeout_init): Likewise.
21232 [GRUB_UTIL] (grub_timeout_fini): Likewise.
21233
21234 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
21235 commands/timeout.c and normal/context.c.
21236 (pkgdata_MODULES): Added default.mod and timeout.mod.
21237 (normal_mod_SOURCES): Added normal/context.c.
21238 (default_mod_SOURCES): New variable.
21239 (default_mod_CFLAGS): Likewise.
21240 (timeout_mod_SOURCES): Likewise.
21241 (timeout_mod_CFLAGS): Likewise.
21242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
21243 conf/i386-pc.rmk.
21244 (pkgdata_MODULES): Added default.mod and timeout.mod.
21245 (normal_mod_SOURCES): Added normal/context.c.
21246 (default_mod_SOURCES): New variable.
21247 (default_mod_CFLAGS): Likewise.
21248 (timeout_mod_SOURCES): Likewise.
21249 (timeout_mod_CFLAGS): Likewise.
21250
21251 * Makefile.in (all-local): Added $(MKFILES).
21252
4ed2e1dd 212532005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
21254
21255 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
21256 (grub_emu_SOURCES): Likewise.
21257 (pkgdata_MODULES): Add `sun.mod'.
21258 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21260 `partmap/sun.c'.
21261 (pkgdata_MODULES): Add `sun.mod'.
21262 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21263 * include/grub/partition.h (grub_sun_partition_map_init): New
21264 prototype.
21265 (grub_sun_partition_map_fini): Likewise.
21266 * partmap/sun.c: New file.
21267 * util/grub-emu.c (main): Initialize and de-initialize the sun
21268 partitionmap support.
21269
4d4e372e 212702005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
21271
21272 This implements an Emacs-like menu entry editor.
f19dbdb7 21273
4d4e372e 21274 * normal/menu_entry.c: New file.
f19dbdb7 21275
4d4e372e 21276 * util/console.c (grub_ncurses_putchar): Translate some Unicode
21277 characters to ASCII.
21278 (saved_char): New variable.
21279 (grub_ncurses_checkkey): Rewritten completely.
21280 (grub_ncurses_getkey): Likewise.
21281 (grub_ncurses_init): Call raw instead of cbreak.
21282
21283 * normal/menu.c (print_entry): Do not put a space.
21284 (init_page): Renamed to ...
21285 (grub_menu_init_page): ... this. All callers changed.
21286 (edit_menu_entry): Removed.
21287 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
21288
21289 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
21290
21291 * kern/misc.c (grub_vprintf): Call grub_refresh.
21292
21293 * normal/menu.c (DISP_LEFT): Renamed to ...
21294 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
21295 * normal/menu.c (DISP_UP): Renamed to ...
21296 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
21297 * normal/menu.c (DISP_RIGHT): Renamed to ...
21298 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
21299 * normal/menu.c (DISP_DOWN): Renamed to ...
21300 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
21301 * normal/menu.c (DISP_HLINE): Renamed to ...
21302 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
21303 * normal/menu.c (DISP_VLINE): Renamed to ...
21304 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
21305 * normal/menu.c (DISP_UL): Renamed to ...
21306 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
21307 * normal/menu.c (DISP_UR): Renamed to ...
21308 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
21309 * normal/menu.c (DISP_LL): Renamed to ...
21310 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
21311 * normal/menu.c (DISP_LR): Renamed to ...
21312 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
21313 * normal/menu.c (TERM_WIDTH): Renamed to ...
21314 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
21315 * normal/menu.c (TERM_HEIGHT): Renamed to ...
21316 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
21317 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
21318 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
21319 * normal/menu.c (TERM_MARGIN): Renamed to ...
21320 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
21321 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
21322 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
21323 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
21324 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
21325 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
21326 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
21327 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
21328 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
21329 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
21330 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
21331 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
21332 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
21333 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
21334 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
21335 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
21336 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
21337 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
21338 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
21339 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
21340 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
21341 All callers changed.
21342
21343 * include/grub/normal.h: New prototype.
21344
21345 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21346 normal/menu_entry.c.
21347 (normal_mod_SOURCES): Likewise.
21348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21349 (normal_mod_SOURCES): Likewise.
21350
e6b92c8a 213512005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
21352
21353 * include/grub/normal.h (grub_halt_init): New prototype.
21354 (grub_halt_fini): Likewise.
21355 (grub_reboot_init): Likewise.
21356 (grub_reboot_fini): Likewise.
21357
21358 * util/grub-emu.c: Include signal.h.
21359 (main_env): New global variable.
21360 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
21361 catch C-c.
21362 (grub_machine_fini): New function.
21363 (main): Call grub_halt_init and grub_reboot_init before
21364 grub_main, and grub_reboot_fini and grub_halt_fini after it.
21365 Call setjmp with MAIN_ENV to go back afterwards.
21366 Call grub_machine_fini right before return.
21367
21368 * include/grub/util/misc.h: Include setjmp.h.
21369 (main_env): New prototype.
21370
21371 * include/grub/kernel.h (grub_machine_fini): New prototype.
21372 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
21373 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
21374
21375 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
21376 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
21377 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 21378
e6b92c8a 21379 * util/i386/pc/misc.c: New file.
f19dbdb7 21380
e6b92c8a 21381 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21382 util/i386/pc/misc.c, commands/i386/pc/halt.c and
21383 commands/i386/pc/reboot.c.
21384
c642636f 213852005-02-14 Guillem Jover <guillem@hadrons.org>
21386
21387 * include/grub/dl.h (grub_dl_check_header): New prototype.
21388 (grub_arch_dl_check_header): Change return type to grub_err_t,
21389 remove size parameter and export function. Update all callers.
21390 * kern/dl.c (grub_dl_check_header): New function.
21391 (grub_dl_load_core): Use `grub_dl_check_header' instead of
21392 `grub_arch_dl_check_header'. Check ELF type. Check if sections
21393 are inside the core.
21394 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
21395 independent ELF header checks.
21396 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21397 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
21398 `grub_dl_check_header' instead of explicit checks. Check for the
21399 ELF type.
21400 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
21401 `grub_dl_check_header' instead of explicit checks. Remove arch
21402 specific ELF header checks.
21403
e6b92c8a 21404 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
21405 argument SIZE.
21406
5eabe94b 214072005-02-13 Hollis Blanchard <hollis@penguinppc.org>
21408
21409 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
21410 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
21411
1b14a681 214122005-02-12 Hollis Blanchard <hollis@penguinppc.org>
21413
21414 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 21415 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 21416 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 21417 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 21418 * partmap/amiga.c (amiga_partition_map_iterate): Return
21419 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
21420 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21421
aca108aa 214222005-02-01 Guillem Jover <guillem@hadrons.org>
21423
21424 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
21425 help info.
21426
c9f9c556 214272005-01-31 Marco Gerards <metgerards@student.han.nl>
21428
21429 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
21430 Removed prototype.
21431 (grub_rescue_cmd_linux): New prototype.
21432 (grub_rescue_cmd_initrd): Likewise.
21433 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
21434 `bi_rec'.
21435 (grub_linux_release_mem): Release the memory for the initrd.
21436 (grub_load_linux): Renamed from this...
21437 (grub_rescue_cmd_linux): ...To this. Changed all callers.
21438 Changed `entry' not to be static. Loop over memory regions to
21439 find another one when the default fails.
21440 (grub_rescue_cmd_initrd): New function.
21441 (grub_linux_init): Remove function.
21442 (grub_linux_fini): Likewise.
21443 (GRUB_MOD_INIT): Register `initrd'.
21444 (GRUB_MOD_FINI): Unregister `initrd'.
21445 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
21446 Function removed.
21447 (grub_linux_normal_fini): Likewise.
21448 (GRUB_MOD_INIT): Register `initrd'.
21449 (GRUB_MOD_FINI): Unregister `initrd'.
21450
990cf3aa 214512005-01-31 Marco Gerards <metgerards@student.han.nl>
21452
21453 * commands/help.c: New file.
21454 * normal/arg.c (show_help): Renamed to...
21455 (grub_arg_show_help): ... this.
21456 * commands/i386/pc/halt.c: New file.
21457 * commands/i386/pc/reboot.c: Likewise.
21458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
21459 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
21460 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
21461 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
21462 variables.
21463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21464 `commands/help.c'.
21465 (pkgdata_MODULES): Add `help.mod'.
21466 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
21467 * grub/i386/pc/init.h (grub_reboot): New prototype.
21468 (grub_halt): Likewise.
21469 * include/grub/normal.h (grub_arg_show_help): New prototype.
21470 (grub_help_init): Likewise.
21471 (grub_help_fini): Likewise.
21472 * util/grub-emu.c (main): Initialize and deinitialize the help
21473 command.
21474
21475 * normal/cmdline.c (grub_cmdline_get): Doc fix.
21476
21477 * normal/command.c (grub_command_init): Fixed the description of
21478 the `set' and `unset' commands.
21479
214802005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 21481
21482 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
21483 function.
21484 * commands/ieee1275/halt.c: New file.
21485 * commands/ieee1275/reboot.c: Likewise.
21486 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
21487 `__attribute__ ((unused))'. Some GCS related fixed.
21488 (grub_suspend_init) [GRUB_UTIL]: Function removed.
21489 (grub_suspend_fini): Likewise.
21490 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
21491 and `halt.mod'.
21492 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
21493 (halt_mod_CFLAGS): New variables.
21494 * include/grub/powerpc/ieee1275/ieee1275.h
21495 (grub_ieee1275_interpret): New prototype.
21496
1ab09cc7 214972005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
21498
21499 * include/grub/misc.h (memmove): New prototype.
21500 (memcpy): Likewise.
21501
8b8cbdb2 215022005-01-22 Hollis Blanchard <hollis@penguinppc.org>
21503
21504 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
21505 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
21506
e3741a27 215072005-01-22 Marco Gerards <metgerards@student.han.nl>
21508
21509 * kern/misc.c (grub_strndup): Function rewritten.
21510
776bd780 215112005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
21512
21513 * normal/menu.c (TERM_WIDTH): Macro redefined.
21514 (TERM_TOP_BORDER_Y): Likewise.
21515 (draw_border): Replaced while-loop by a for-loop. Make the number
21516 of lines consistent with the number of lines displayed in
21517 print_entries. Added a margin below the rectangle.
21518 (print_entry): Make the entry fit in the rectangle.
21519 (print_entries): Display the scroll arrows next to the right
21520 border.
21521
78026bce 215222005-01-21 Marco Gerards <metgerards@student.han.nl>
21523
21524 * fs/minix.c (grub_minix_find_file): Reserve more space for
21525 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
21526 `grub_strncpy' to copy `path' into it.
21527
67bbaf0f 215282005-01-21 Marco Gerards <metgerards@student.han.nl>
21529
21530 Add the loopback device, a device via which files can be accessed
21531 as devices.
f19dbdb7 21532
67bbaf0f 21533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
21534 (pkgdata_MODULES): Add loopback.mod.
21535 (loopback_mod_SOURCES): New variable.
21536 (loopback_mod_CFLAGS): Likewise.
21537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21538 `disk/loopback.c'.
21539 (pkgdata_MODULES): Add loopback.mod.
21540 (loopback_mod_SOURCES): New variable.
21541 (loopback_mod_CFLAGS): Likewise.
21542 * disk/loopback.c: new file.
21543 * include/grub/normal.h (grub_loop_init): New prototype.
21544 (grub_loop_fini): New prototype.
21545 * util/grub-emu.c (main): Initialize and de-initialize loopback
21546 support.
21547 * include/grub/disk.h (grub_disk_dev_id): Add
21548 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
21549
6f1c18bd 215502005-01-20 Hollis Blanchard <hollis@penguinppc.org>
21551
21552 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
21553 function.
21554 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
21555 (suspend_mod_SOURCES): New variable.
21556 (suspend_mod_CFLAGS): Likewise.
21557 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
21558 New prototype.
21559 * commands/ieee1275/suspend.c: New file.
21560
b38551da 215612005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21562
21563 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 21564 ((unused))' to `__attribute__ ((used))'.
b38551da 21565 (GRUB_MOD_FINI): Likewise.
21566 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
21567 * genmk.rb (PModule): Assign space to common symbols when linking
21568 modules.
21569
777aff39 215702005-01-20 Marco Gerards <metgerards@student.han.nl>
21571
21572 * include/grub/mm.h (grub_mm_init_region): Change the type of the
21573 `unsigned' arguments to `grub_size_t'.
21574 (grub_malloc): Likewise.
21575 (grub_realloc): Likewise.
21576 (grub_memalign): Likewise.
21577 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
21578 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21579 * util/misc.c (grub_malloc): Likewise.
21580 (grub_realloc): Likewise.
21581 * kern/mm.c (get_header_from_pointer): Change the casts to
21582 `unsigned' into a cast to `grub_size_t'.
21583
21584 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
21585 point to `currnode' when `currnode' is changed.
21586
21587 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
21588 Schottelius <nico-linux@schottelius.org>.
21589
d0ff18e1 215902005-01-09 Hollis Blanchard <hollis@penguinppc.org>
21591
21592 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
21593 (note_path): Remove variable.
21594 (GRUB_IEEE1275_NOTE_NAME): New macro.
21595 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
21596 (grub_ieee1275_note_hdr): New structure.
21597 (grub_ieee1275_note_desc): Likewise.
21598 (grub_ieee1275_note): Likewise.
21599 (load_note): Remove `dir' argument. All callers updated. Remove
21600 `note_img' and `path'. Do not load a file from `note_path'.
21601 Initialize a struct grub_ieee1275_note and write that to `out'.
21602 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
21603
4ca7004c 216042005-01-05 Marco Gerards <metgerards@student.han.nl>
21605
21606 * util/misc.c (grub_util_read_image): Revert last change. It
21607 called `grub_util_read_at', which seeks from the beginning of the
21608 file.
21609
0b412211 216102005-01-04 Hollis Blanchard <hollis@penguinppc.org>
21611
21612 * TODO: Add note about endianness in grub-mkimage.
21613 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
21614 section.
21615 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
21616 (grub_mkimage_SOURCES): New target.
21617 * include/grub/kernel.h (grub_start_addr): Remove variable.
21618 (grub_end_addr): Likewise.
21619 (grub_total_module_size): Likewise.
21620 (grub_kernel_image_size): Likewise.
21621 (GRUB_MODULE_MAGIC): New constant.
21622 (grub_module_info): New structure.
21623 (grub_arch_modules_addr): New prototype.
21624 (grub_get_end_addr): Remove prototype.
21625 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
21626 * include/grub/powerpc/ieee1275/kernel.h: New file.
21627 * include/grub/util/misc.h (grub_util_get_fp_size): New
21628 prototype.
21629 (grub_util_read_at): Likewise.
21630 (grub_util_write_image_at): Likewise.
21631 * kern/main.c (grub_get_end_addr): Remove function.
21632 (grub_load_modules): Call grub_arch_modules_addr instead of using
21633 grub_end_addr. Look for a grub_module_info struct in memory. Use
21634 the grub_module_info fields instead of calling grub_get_end_addr
21635 as loop conditions. Move grub_add_unused_region code here.
21636 (grub_add_unused_region): Remove function.
21637 * kern/i386/pc/init.c: Include grub/cache.h.
21638 (grub_machine_init): Remove call to grub_get_end_addr. Remove
21639 one call to add_mem_region.
21640 (grub_arch_modules_addr): New function.
21641 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
21642 (grub_total_module_size): Likewise.
21643 Include grub/machine/kernel.h.
21644 (grub_arch_modules_addr): New function.
21645 * util/grub-emu.c (grub_end_addr): Remove variable.
21646 (grub_total_module_size): Likewise.
21647 (grub_arch_modules_addr): New function.
21648 * util/misc.c: Include unistd.h.
21649 (grub_util_get_fp_size): New function.
21650 (grub_util_read_at): Likewise.
21651 (grub_util_write_image_at): Likewise.
21652 (grub_util_read_image): Call grub_util_read_at.
21653 (grub_util_write_image): Call grub_util_write_image_at.
21654 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
21655 additional memory in kernel_img for a struct grub_module_info.
21656 Fill in that grub_module_info.
21657 * util/powerpc/ieee1275/grub-mkimage.c: New file.
21658
458786f8 216592005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21660
21661 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
21662 New function.
21663 * include/grub/powerpc/ieee1275/ieee1275.h
21664 (grub_ieee1275_milliseconds): New prototype.
21665 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
21666 Change to 1000.
21667 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
21668 grub_ieee1275_milliseconds.
21669
ac507d1b 216702005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21671
21672 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
21673 variable.
21674 (find_options): New function.
21675 (cmain): Call find_options.
21676 * include/grub/powerpc/ieee1275/ieee1275.h
21677 (grub_ieee1275_realmode): New extern variable.
21678 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
21679 grub_map if grub_ieee1275_realmode is false.
21680
6b8fd1c4 216812004-12-29 Marco Gerards <metgerards@student.han.nl>
21682
21683 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
21684 lines are inserted and make it work like readline. Reported by
21685 Vincent Pelletier <subdino2004@yahoo.fr>.
21686
8514a1e0 216872004-12-28 Marco Gerards <metgerards@student.han.nl>
21688
21689 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
21690
21691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
21692 `kern/powerpc/cache.S'.
21693
924b6140 216942004-12-27 Marco Gerards <metgerards@student.han.nl>
21695
21696 * genmk.rb: Handle the `Program' class in the main loop. Written
21697 by Johan Rydberg <jrydberg@gnu.org>.
21698 (Program): New class.
21699 (programs): New variable.
21700 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
21701 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
21702 instead of "grub/kernel.h". Include <grub/machine/init.h>.
21703 (help_arch): Function removed.
21704 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
21705 `powerpc/libgcc.h' and `loader.h'.
21706 (pkgdata_PROGRAMS): New variable.
21707 (sbin_UTILITIES): Variable removed.
21708 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
21709 (grubof_SOURCES): Variable re-defined so it only includes the
21710 core functionality.
21711 (grubof_CFLAGS): Remove `-DGRUBOF'.
21712 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
21713 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
21714 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
21715 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
21716 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
21717 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
21718 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
21719 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
21720 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
21721 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
21722 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21723 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
21724 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
21725 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
21726 (pc_mod_CFLAGS): New variables.
21727 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
21728 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
21729 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
21730 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
21731 Moved from here...
21732 * include/grub/i386/pc/init.h (grub_os_area_addr)
21733 (rub_os_area_size): ... to here.
21734 * include/grub/powerpc/ieee1275/ieee1275.h
21735 (grub_ieee1275_entry_fn): Export symbol.
21736 * include/grub/powerpc/ieee1275/init.h: New file.
21737 * include/grub/powerpc/libgcc.h: Likewise.
21738 * include/grub/cache.h: Likewise.
21739 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
21740 <hollis@penguinppc.org>.
21741 * kern/dl.c: Include <grub/cache.h>.
21742 (grub_dl_flush_cache): New function.
21743 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
21744 for this module.
21745 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
21746 (grub_console_init): Removed prototypes.
21747 (grub_machine_init): Don't initialize the modules anymore.
21748 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
21749 static.
21750 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
21751 Macro undef removed.
21752 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
21753 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
21754 relocation `R_PPC_REL32'. Return an error when the relocation is
21755 unknown.
21756 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
21757 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
21758 * util/misc.c (grub_arch_sync_caches): Likewise.
21759
e4b47e0c 217602004-12-19 Marco Gerards <metgerards@student.han.nl>
21761
21762 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
21763 `symlist.c', add `grubof_symlist.c'.
21764 (symlist.c): Variable removed.
21765 (grubof_HEADERS): Variable added.
21766 (grubof_symlist.c): New target.
21767 (kernel_syms.lst): Use `grubof_HEADERS' instead of
21768 `kernel_img_HEADERS'.
21769 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
21770 * kern/powerpc/dl.c: New file.
21771 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
21772 Function removed.
21773 (grub_arch_dl_relocate_symbols): Likewise.
21774 (grub_register_exported_symbols): Likewise.
21775
4ceb3636 217762004-12-13 Marco Gerards <metgerards@student.han.nl>
21777
21778 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
21779 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
21780 to fail instead. Reported by Vincent Pelletier
21781 <subdino2004@yahoo.fr>.
21782
21783 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
21784 it is not allocated. Reported by Vincent Pelletier
21785 <subdino2004@yahoo.fr>.
21786
21787 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
21788 output so the output looks better.
f19dbdb7 21789
3f1578fe 217902004-12-04 Marco Gerards <metgerards@student.han.nl>
21791
21792 Modulize the partition map support and add support for the amiga
21793 partition map.
f19dbdb7 21794
3f1578fe 21795 * commands/ls.c: Include <grub/partition.h> instead of
21796 <grub/machine/partition.h>.
21797 * kern/disk.c: Likewise.
21798 * kern/rescue.c: Likewise.
21799 * loader/i386/pc/chainloader.c: Likewise.
21800 * normal/cmdline.c: Likewise.
21801 * kern/powerpc/ieee1275/init.c: Likewise.
21802 (grub_machine_init): Call `grub_pc_partition_map_init',
21803 `grub_amiga_partition_map_init' and
21804 `grub_apple_partition_map_init'.
21805 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
21806 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
21807 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
21808 `partition.h' and `pc_partition.h'.
21809 (grub_setup_SOURCES): Remove
21810 `disk/i386/pc/partition.c'. Add `kern/partition.c',
21811 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21812 (grub_emu_SOURCES): Likewise.
21813 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
21814 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
21815 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
21816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21817 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
21818 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21819 (grubof_SOURCES): Likewise.
21820 * disk/i386/pc/partition.c: File removed.
21821 * disk/powerpc/ieee1275/partition.c: Likewise.
21822 * include/grub/powerpc/ieee1275/partition.h: Likewise.
21823 * include/grub/i386/pc/partition.h: Likewise.
21824 * kern/partition.c: New file.
21825 * partmap/amiga.c: Likewise.
21826 * partmap/apple.c: Likewise.
21827 * partmap/pc.c: Likewise.
21828 * include/grub/partition.h: Likewise..
21829 * include/grub/pc_partition.h: Likewise.
21830 * util/grub-emu.c: Include <grub/partition.h> instead of
21831 <grub/machine/partition.h>.
21832 (main): Call `grub_pc_partition_map_init',
21833 `grub_amiga_partition_map_init' and
21834 `grub_apple_partition_map_init' and deinitialize afterwards.
21835 * util/i386/pc/biosdisk.c: Include `#include
21836 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21837 `<grub/machine/partition.h>'.
21838 * util/i386/pc/grub-setup.c: Likewise.
21839 * util/i386/pc/biosdisk.c: Likewise.
21840 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
21841 partition information in case of a PC partition.
21842 * util/i386/pc/grub-setup.c: Include `#include
21843 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21844 `<grub/machine/partition.h>'.
21845 (setup): Only access the PC specific partition information in case
21846 of a PC partition.
21847
0ef4ced9 218482004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21849
0ef4ced9 21850 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
21851 (grub_longjmp): Likewise.
21852 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
21853 20.
21854 * normal/powerpc/setjmp.S: New file.
21855 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21856 `normal/powerpc/setjmp.S'.
21857 (grubof_CFLAGS): Add `-DGRUBOF'.
21858 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
21859 [GRUB_UTIL && !GRUBOF].
f19dbdb7 21860
19950e29 218612004-11-16 Marco Gerards <metgerards@student.han.nl>
21862
21863 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
21864 property named `name'. Correctly handle the error returned by
21865 `grub_ieee1275_finddevice' if a device can not be opened.
21866
a2fea427 218672004-11-02 Hollis Blanchard <hollis@penguinppc.org>
21868
21869 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
21870 `actual' for negativity.
21871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21872 kern/fshelp.c.
21873
41ea0ea3 218742004-11-01 Marco Gerards <metgerards@student.han.nl>
21875
21876 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
21877 (PAGE_OFFSET): New macro.
21878 (CRTC_ADDR_PORT): Likewise.
21879 (CRTC_DATA_PORT): Likewise.
21880 (START_ADDR_HIGH_REGISTER): Likewise.
21881 (START_ADDR_LOW_REGISTER): Likewise.
21882 (GRAPHICS_ADDR_PORT): Likewise.
21883 (GRAPHICS_DATA_PORT): Likewise.
21884 (READ_MAP_REGISTER): Likewise.
21885 (INPUT_STATUS1_REGISTER): Likewise.
21886 (INPUT_STATUS1_VERTR_BIT): Likewise.
21887 (page): New variable.
21888 (wait_vretrace): New function.
21889 (set_read_map): Likewise.
21890 (set_start_address): Likewise.
21891 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
21892 the right page.
21893 (check_vga_mem): Take the page into account.
21894 (write_char): Likewise.
21895 (write_cursor): Likewise.
21896 (scroll_up): Likewise. Copy the page to the page that is not
21897 shown and switch between both pages.
21898 (grub_vga_putchar): Fix off by one error.
21899 (grub_vga_cls): Wait for the vertical retrace. Take the page into
21900 account.
21901
ad0bd20b 219022004-11-01 Marco Gerards <metgerards@student.han.nl>
21903
21904 Add support for iso9660 (including rockridge).
f19dbdb7 21905
ad0bd20b 21906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21907 (iso9660_mod_SOURCES): New variable.
21908 (iso9660_mod_CFLAGS): Likewise.
21909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21910 * include/grub/fs.h (grub_iso9660_init): New prototype.
21911 * util/grub-emu.c (main): Call `grub_iso9660_init'.
21912 * fs/iso9660.c: New file.
21913
21914 * include/grub/misc.h (grub_strncat): New prototype.
21915 * kern/misc.c (grub_strncat): New function.
f19dbdb7 21916
ad0bd20b 21917 * fs/hfs.c (grub_hfs_mount): Translate the error
21918 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
21919 * fs/jfs.c (grub_jfs_mount): Likewise.
21920 * fs/ufs.c (grub_ufs_mount): Likewise.
21921
a5477a59 219222004-10-28 Hollis Blanchard <hollis@penguinppc.org>
21923
21924 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
21925 which initialized BAT registers.
21926 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
21927 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21928 Move from here...
21929 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
21930 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21931 ... to here.
21932 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
21933 (grub_mapclaim): Likewise.
21934 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
21935 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
21936 hand.
21937
9304c1f8 219382004-10-19 Hollis Blanchard <hollis@penguinppc.org>
21939
21940 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21941 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21942 -ffreestanding and -msoft-float.
21943
86f4ae25 219442004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21945
21946 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21947 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21948 set in grub_ieee1275_flags.
21949
38912228 219502004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21951
21952 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21953 prototype.
21954 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21955 grub_console_init first.
21956 Change the memory range used for grub_ieee1275_claim and
21957 grub_mm_init_region.
21958 Print an error message if the claim fails.
21959 Include <grub/misc.h>.
21960
d1923dc8 219612004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21962
21963 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21964 Call grub_children_iterate for device nodes of type `scsi',
21965 `ide', or `ata'.
21966 (grub_ofdisk_open): Remove manual device alias resolution.
21967 Fix memory leak when device cannot be opened.
f19dbdb7 21968 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21969 (grub_children_iterate): New prototype.
21970 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21971 New function.
21972 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21973 Return -1 if args.size was -1.
21974
4512e4f3 219752004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21976
21977 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21978 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21979 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21980 Open Firmware's memory for it; claim memory from _start to _end.
21981 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21982 (_end): New extern.
21983 (_start): Zero BSS from __bss_start to _end.
21984 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21985 New extern.
21986 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21987
4d61feb0 219882004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21989
ad0bd20b 21990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21991 -1 if args.base was -1.
4d61feb0 21992
026fa2f9 219932004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21994
21995 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21996 escape sequence instead of a literal ^L. Also call
21997 grub_ofconsole_gotoxy.
21998
9f2220ef 219992004-10-03 Hollis Blanchard <hollis@penguinppc.org>
22000
22001 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
22002 void * arguments to grub_addr_t. All callers updated. Also make
22003 the `result' argument optional.
22004 (grub_ieee1275_release): change void * arguments to grub_addr_t.
22005 All callers updated.
22006
8a572cd7 220072004-09-22 Hollis Blanchard <hollis@penguinppc.org>
22008
22009 * commands/ls.c (grub_ls_list_files): Use the string following the
22010 initial ')', if present, as the filesystem path.
22011 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
22012
22013 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
22014
18aa81f2 220152004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
22016
22017 Make the source code of the menu interface more readable.
f19dbdb7 22018
18aa81f2 22019 * normal/menu.c: Include grub/mm.h.
22020 (TERM_WIDTH): New macro.
22021 (TERM_HEIGHT): Likewise.
22022 (TERM_INFO_HEIGHT): Likewise.
22023 (TERM_MARGIN): Likewise.
22024 (TERM_SCROLL_WIDTH): Likewise.
22025 (TERM_TOP_BORDER_Y): Likewise.
22026 (TERM_LEFT_BORDER_X): Likewise.
22027 (TERM_BORDER_WIDTH): Likewise.
22028 (TERM_MESSAGE_HEIGHT): Likewise.
22029 (TERM_BORDER_HEIGHT): Likewise.
22030 (TERM_NUM_ENTRIES): Likewise.
22031 (TERM_FIRST_ENTRY_Y): Likewise.
22032 (TERM_ENTRY_WIDTH): Likewise.
22033 (TERM_CURSOR_X): Likewise.
22034 (draw_border): Use macros instead of magic numbers.
22035 (print_entry): Likewise.
22036 (print_entries): Likewise.
22037 (run_menu): Likewise. Also, handle the key 'e'.
22038 (run_menu_entry): Ignore empty command lines.
22039 (print_message): Added a new argument EDIT. If EDIT is true,
22040 print a different message.
22041 (init_page): Likewise.
22042 (edit_menu_entry): New function. Not implemented yet.
22043
b47efe30 220442004-09-17 Marco Gerards <metgerards@student.han.nl>
22045
22046 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22047 can be loaded from normal mode.
f19dbdb7 22048
b47efe30 22049 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22050 `multiboot.mod'.
22051 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22052 (multiboot_mod_CFLAGS): New variables.
22053 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22054 * loader/i386/pc/multiboot_normal.c: Likewise.
22055
b47efe30 22056 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22057 attribute `unused'.
f19dbdb7 22058
b47efe30 22059 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22060 `fdiro' to read the mode information from instead of `diro'.
22061
22062 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22063 looking up a symlink.
22064
22065 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22066 macro.
22067 * normal/command.c (grub_command_execute): Don't parse the
22068 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22069 flags of the command.
22070
22071 * normal/menu.c (grub_menu_run): Fix typo.
22072
da75ac71 220732004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22074
22075 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22076
22077 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22078 `y + 1' instead of `y - 1'.
22079
22080 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22081
062b24c2 220822004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22083
22084 From Hollis Blanchard <hollis@penguinppc.org>:
22085 * kern/misc.c (memmove): New alias for grub_memmove.
22086 (memcmp): New alias for grub_memcmp.
22087 (memset): New alias for grub_memset.
f19dbdb7 22088 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22089 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22090 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22091 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22092
8ddad845 220932004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22094
22095 Added normal mode command `chainloader' as module chain.mod, which
22096 depends on normal.mod and _chain.mod.
f19dbdb7 22097
8ddad845 22098 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22099 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22100 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22101 Deleted prototype.
22102 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22103 but arguments parsing moved to ...
22104 (grub_chainloader_cmd): ... here. New function.
22105 * include/grub/i386/pc/chainloader.h: New file.
22106 * loader/i386/pc/chainloader_normal.c: Likewise.
22107
2c1f4ce3 221082004-09-11 Marco Gerards <metgerards@student.han.nl>
22109
22110 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
22111 (grub_mkimage_LDFLAGS): Likewise.
22112 (grub_emu_SOURCES): Likewise.
22113 (kernel_img_HEADERS): Added fshelp.h.
22114 * fs/ext2.c: Include <grub/fshelp.h>.
22115 (FILETYPE_REG): New macro.
22116 (FILETYPE_INO_REG): Likewise.
22117 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
22118 Changed all users.
22119 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
22120 all users.
22121 (grub_fshelp_node): New struct.
22122 (grub_ext2_data): Added member `diropen'. Changed member `inode'
22123 to a pointer.
22124 (grub_ext2_get_file_block): Removed function.
22125 (grub_ext2_read_block): New function.
22126 (grub_ext2_read_file): Replaced parameter `data' by `node'.
22127 This function was written.
22128 (grub_ext2_mount): Read the root inode. Create a diropen struct.
22129 (grub_ext2_find_file): Removed function.
22130 (grub_ext2_read_symlink): New function.
22131 (grub_ext2_iterate_dir): Likewise.
22132 (grub_ext2_open): Rewritten.
22133 (grub_ext2_dir): Rewritten.
22134 * include/grub/fshelp.h: New file.
22135 * fs/fshelp.c: Likewise.
22136
3c52136a 221372004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
22138
22139 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
22140 (print_message): Add a missing newline.
22141 (run_menu): Added timeout support.
22142 (run_menu_entry): New local function.
22143 (grub_menu_run): Added support for booting.
22144
22145 * kern/loader.c (grub_loader_is_loaded): New function.
22146
22147 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
22148 (grub_get_rtc): Exported.
22149
22150 * include/grub/i386/pc/time.h: Include grub/symbol.h.
22151 (grub_get_rtc): Exported.
22152
22153 * include/grub/normal.h (struct grub_command_list): Remove
22154 constant from the member `command'.
22155
22156 * include/grub/loader.h (grub_loader_is_loaded): Declared.
22157
22158 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
22159
22160 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
22161
aa033560 221622004-08-28 Marco Gerards <metgerards@student.han.nl>
22163
22164 Add support for the JFS filesystem.
22165
22166 * fs/jfs.c: New file.
22167 * include/grub/fs.h (grub_jfs_init): New prototype.
22168 (grub_jfs_fini): New prototype.
22169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
22170 (grub_emu_SOURCES): Likewise.
22171 (pkgdata_MODULES): Add jfs.mod.
22172 (jfs_mod_SOURCES): New variable.
22173 (jfs_mod_CFLAGS): Likewise.
22174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
22175 (grubof_SOURCES): Likewise.
22176 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
22177
22178 * fs/fat.c (grub_fat_find_dir): Convert the filename little
22179 endian to the host endian.
22180 (grub_fat_utf16_to_utf8): Move function from there...
22181 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 22182 the endianness of the source string anymore.
aa033560 22183 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
22184
94bc45af 221852004-08-24 Marco Gerards <metgerards@student.han.nl>
22186
22187 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
22188 (grub_boot_fini) [GRUB_UTIL]: Likewise.
22189 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
22190 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 22191
94bc45af 22192 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
22193 (grub_hfs_iterate_dir): Make the function static. Add prototypes
22194 for `node_found' and `it_dir'.
22195 (grub_hfs_dir): Add prototype for `dir_hook'.
22196
22197 * fs/minix.c (grub_minix_get_file_block): Add prototype for
22198 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
22199 and `indir32' to silence a gcc warning.
22200
22201 * include/grub/fs.h (grub_hfs_init): New prototype.
22202 (grub_hfs_fini): Likewise.
f19dbdb7 22203
22204
97543f08 222052004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22206
22207 Each disk device has its own id now. This is useful to make use
22208 of multiple disk devices.
f19dbdb7 22209
97543f08 22210 * include/grub/disk.h (grub_disk_dev_id): New enum.
22211 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
22212 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
22213
22214 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
22215 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22216
22217 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
22218 GRUB_DISK_DEVICE_OFDISK_ID as an id.
22219
22220 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
22221 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22222
22223 * include/grub/disk.h (struct grub_disk_dev): Added a new member
22224 "id" which is used by the cache manager.
22225
22226 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
22227 of just "GRUB".
22228
64372eb4 222292004-08-18 Marco Gerards <metgerards@student.han.nl>
22230
22231 * fs/hfs.c: New file.
22232 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
22233 (grub_emu_SOURCES): Likewise.
22234 (pkgdata_MODULES): Add hfs.mod.
22235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
22236 (grubof_SOURCES): Likewise.
22237 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
22238
22239 * include/grub/misc.h (grub_strncasecmp): Add prototype.
22240 * kern/misc.c (grub_strncasecmp): Add function.
22241
cc61b58f 222422004-08-14 Marco Gerards <metgerards@student.han.nl>
22243
22244 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
22245 with parentheses.
22246
22247 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
22248 (grub_ext2_dir): In case the directory entry type is unknown, read
22249 it from the inode.
22250
0ef123f6 222512004-08-02 Peter Bruin <pjbruin@dds.nl>
22252
22253 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
22254 grub_load_linux instead of grub_rescue_cmd_linux as second
22255 argument of grub_rescue_register_command.
22256
22257 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
22258
a447c5df 222592004-07-27 Marco Gerards <metgerards@student.han.nl>
22260
22261 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
22262 function.
22263 * commands/boot.c: Remove the check for `GRUB_UTIL'.
22264 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22265 `loader/powerpc/ieee1275/linux.c',
22266 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
22267 * include/grub/powerpc/ieee1275/ieee1275.h
22268 (grub_ieee1275_release): New prototype.
22269 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
22270 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
22271 normal, boot, linux and linux_normal.
22272 * loader/powerpc/ieee1275/linux.c: New file.
22273 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22274
5a9e3546 222752004-07-12 Marco Gerards <metgerards@student.han.nl>
22276
22277 * normal/arg.c (grub_arg_parse): Correct error handling after
22278 reallocating the argumentlist (check if `argl' is not null instead
22279 of checking if `args' is not null).
22280 * kern/mm.c (grub_realloc): Return the same pointer when using the
22281 same region, instead of returning the header address.
22282
e15199cb 222832004-07-11 Marco Gerards <metgerards@student.han.nl>
22284
22285 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
22286 one block instead of two when looking for the initial partition.
22287 (grub_partition_probe): Initialize the local variable `p' with 0.
22288 Use base 10 for the grub_strtoul call.
22289 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
22290 need for one local variable.
22291 (grub_strtoul): Don't add the new value to `num', instead of that
22292 just assign it.
22293
020616c2 222942004-07-11 Marco Gerards <metgerards@student.han.nl>
22295
22296 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
22297 (pxeboot_img_SOURCES): New variable.
22298 (pxeboot_img_ASFLAGS): Likewise.
22299 (pxeboot_img_LDFLAGS): Likewise.
22300 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
22301 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
22302 <lode_leroy@hotmail.com>.
22303
6c51eb64 223042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22305
22306 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
22307 there was no input.
22308
cfb12aff 223092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22310
22311 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
22312 the history buffer logic.
22313
6eabba74 223142004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22315
22316 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
22317 (FILETYPE_INO_SYMLINK): New macros.
22318 (grub_ext2_find_file): Check if the node is a directory using the
22319 inode stat information instead of using the filetype in the
22320 dirent. Exclude the first character of an absolute symlink.
22321 (grub_ext2_dir): Mask out the filetype part of the mode member of
22322 the inode.
22323
66e19ef8 223242004-05-24 Marco Gerards <metgerards@student.han.nl>
22325
22326 Add support for UFS version 1 and 2. Add support for the minix
22327 filesystem version 1 and 2, both the variants with 14 and 30 long
22328 filenames.
f19dbdb7 22329
66e19ef8 22330 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
22331 fs/minix.c.
22332 (grub_emu_SOURCES): Likewise.
22333 (pkgdata_MODULES): Add ufs.mod and minix.mod.
22334 (ufs_mod_SOURCES): New variable.
22335 (ufs_mod_CFLAGS): Likewise.
22336 (minix_mod_SOURCES): Likewise.
22337 (minix_mod_CFLAGS): Likewise.
22338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
22339 fs/minix.c.
22340 (grubof_SOURCES): Likewise.
22341 * fs/ufs.c: New file.
22342 * fs/minix.c: New file.
22343 * include/grub/fs.h (grub_ufs_init): New prototype.
22344 (grub_ufs_fini): Likewise.
22345 (grub_minix_init): Likewise.
22346 (grub_minix_fini): Likewise.
22347 * util/grub-emu.c (main): Initialize and deinitialize UFS and
22348 minix fs.
22349
cc2e748a 223502004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
22351
22352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
22353 commands/ls.c, commands/terminal.c, commands/boot.c,
22354 commands/cmp.c and commands/cat.c.
22355 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
22356
22357 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
22358 "env.h"
22359
4b13b216 223602004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22361
22362 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
22363 and grub_, respectively. Because the conversion is trivial and
22364 mechanical, I omit the details here. Please refer to the CVS
22365 if you need more information.
22366
6a142551 223672004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22368
22369 * include/pupa: Renamed to ...
22370 * include/grub: ... this.
22371 * util/i386/pc/pupa-mkimage.c: Renamed to ...
22372 * util/i386/pc/grub-mkimage.c: ... this.
22373 * util/i386/pc/pupa-setup.c: Renamed to ...
22374 * util/i386/pc/grub-setup.c: ... this.
22375 * util/pupa-emu.c: Renamed to ...
22376 * util/grub-emu.c: ... this.
22377
e56cdf21 223782004-03-29 Marco Gerards <metgerards@student.han.nl>
22379
22380 Add support for the newworld apple macintosh (PPC). This has been
22381 tested on the powerbook 2000 only. It only adds support for
22382 generic ieee1275 functions, console and disk support. This should
22383 be easy to port to other architectures with support for Open
22384 Firmware.
f19dbdb7 22385
e56cdf21 22386 * configure.ac: Accept the powerpc as host_cpu. In the case of
22387 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
22388 specific tests are only executed while building for the i386.
22389 Inverse test for crosscompile.
22390 * genmk.rb (Utility): Allow assembler files.
22391 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
22392 * conf/powerpc-ieee1275.rmk: New file.
22393 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
22394 * disk/powerpc/ieee1275/partition.c: Likewise.
22395 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
22396 * include/pupa/powerpc/ieee1275/console.h: Likewise.
22397 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
22398 * include/pupa/powerpc/ieee1275/time.h: Likewise.
22399 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
22400 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
22401 * include/pupa/powerpc/ieee1275/loader.h
22402 * include/pupa/powerpc/setjmp.h: Likewise.
22403 * include/pupa/powerpc/types.h: Likewise.
22404 * kern/powerpc/ieee1275/init.c: Likewise.
22405 * kern/powerpc/ieee1275/openfw.c: Likewise.
22406 * term/powerpc/ieee1275/ofconsole.c: Likewise.
22407
22408 These files were written by Johan Rydberg
22409 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 22410
e56cdf21 22411 * boot/powerpc/ieee1275/cmain.c: New file.
22412 * boot/powerpc/ieee1275/crt0.S: Likewise.
22413 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
22414 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
22415
8c8cc205 224162004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
22417
22418 * Makefile.in: Update copyright.
22419 * genmodsrc.sh: Likewise.
22420 * gensymlist.sh: Likewise.
22421 * term/i386/pc/vga.c: Indent correctly.
22422
22423 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
22424 bugreporting address.
22425 * util/i386/pc/pupa-setup.c (usage): Likewise,
22426 (main): Call pupa_ext2_init and pupa_ext2_fini.
22427
f19dbdb7 22428 * fs/fat.c (log2): Renamed to ...
8c8cc205 22429 (fat_log2): ... this.
22430 All callers changed.
22431 * kern/misc.c (memcpy): Alias to pupa_memmove.
22432 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
22433 lvalue cast.
22434 * util/console.c (pupa_ncurses_fini): Return 0.
22435
22436 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
22437 Move fail label here.
22438 [__GNU__]: Don't warn when using stat.
22439 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
22440 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
22441 long int. Use strtol instead of strtoul.
f19dbdb7 22442
db1771cf 224432004-03-14 Marco Gerards <metgerards@student.han.nl>
22444
22445 * commands/boot.c: New file.
22446 * commands/cat.c: Likewise.
22447 * commands/cmp.c: Likewise.
22448 * commands/ls.c: Likewise.
22449 * commands/terminal.c: Likewise.
22450 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
22451 (pupa_register_command): Changed interface to match the new
22452 argument parser.
22453 (pupa_command_execute): Changed (almost rewritten) so it uses
22454 pupa_split_command. Added support for setting variables using the
22455 syntax `foo=bar'.
22456 (rescue_command): Changed to work with the new argument parser.
22457 (terminal_command): Moved from here to commands/terminal.c.
22458 (set_command): New function.
22459 (unset_command): New function.
22460 (insmod_command): New function.
22461 (rmmod_command): New function.
22462 (lsmod_command): New function.
22463 (pupa_command_init): Don't initialize the command terminal
22464 anymore. Initialize the commands set, unset, insmod, rmmod and
22465 lsmod.
22466 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
22467 (kernel_img_HEADERS): Add arg.h and env.h.
22468 (pupa_mkimage_LDFLAGS): Add kern/env.c.
22469 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
22470 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
22471 normal/arg.c.
22472 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
22473 terminal.mod.
22474 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
22475 (boot_mod_SOURCES): New variable.
22476 (terminal_mod_SOURCES): Likewise.
22477 (ls_mod_SOURCES): Likewise.
22478 (cmp_mod_SOURCES): Likewise.
22479 (cat_mod_SOURCES): Likewise.
22480
22481 * normal/arg.c: New file.
22482 * kern/env.c: Likewise.
22483 * include/pupa/arg.h: Likewise.
22484 * include/pupa/env.h: Likewise.
22485 * font/manager.c (font_command): Changed to match argument parsing
22486 interface changes.
22487 (PUPA_MOD_INIT): Likewise.
22488 * hello/hello.c (pupa_cmd_hello): Likewise.
22489 (PUPA_MOD_INIT): Likewise.
22490 * include/pupa/disk.h: Include <pupa/device.h>.
22491 (pupa_print_partinfo): New prototype.
22492 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
22493 (pupa_dl_get_prefix): Likewise.
22494 * include/pupa/misc.h: Include <pupa/err.h>.
22495 (pupa_isgraph): New prototype.
22496 (pupa_isdigit): Likewise.
22497 (pupa_split_cmdline): Likewise.
22498 * include/pupa/normal.h: Include <pupa/arg.h>.
22499 (pupa_command): Changed the prototype of the member `func' to
22500 match the argument parsing interface. Added member `options'.
22501 (pupa_register_command): Updated to match function.
22502 (pupa_arg_parse): New prototype.
22503 (pupa_hello_init) [PUPA_UTIL]: New prototype.
22504 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
22505 (pupa_ls_init) [PUPA_UTIL]: Likewise.
22506 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
22507 (pupa_cat_init) [PUPA_UTIL]: Likewise.
22508 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
22509 (pupa_boot_init) [PUPA_UTIL]: Likewise.
22510 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
22511 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
22512 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
22513 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
22514 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
22515 * kern/disk.c: Include <pupa/file.h>.
22516 (pupa_print_partinfo): New function.
22517 * kern/dl.c: Include <pupa/env.h>.
22518 (pupa_dl_dir): Variable removed.
22519 (pupa_dl_load): Use the environment variable `prefix' instead of
22520 the variable pupa_dl_dir.
22521 (pupa_dl_set_prefix): Function removed.
22522 (pupa_dl_get_prefix): Likewise.
22523 * kern/i386/pc/init.c: Include <pupa/env.h>.
22524 (pupa_machine_init): Use the environment variable `prefix' instead of
22525 using pupa_dl_set_prefix to set the prefix.
22526 * kern/main.c: Include <pupa/env.h>.
22527 (pupa_set_root_dev): Use the environment variable `prefix' instead of
22528 using pupa_dl_get_prefix to get the prefix.
22529 * kern/misc.c: Include <pupa/env.h>.
22530 (pupa_isdigit): New function.
22531 (pupa_isgraph): Likewise.
22532 (pupa_ftoa): Likewise.
22533 (pupa_vsprintf): Added support for printing values of the type
22534 `double'. Make it possible to format variable output when using
22535 formatting like `%1.2%f'.
22536 (pupa_split_cmdline): New function.
22537 * kern/rescue.c: Include <pupa/env.h>.
22538 (next_word): Removed function.
22539 (pupa_rescue_cmd_prefix): Likewise.
22540 (pupa_rescue_cmd_set): New function.
22541 (pupa_rescue_cmd_unset): New function.
22542 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
22543 split the command line instead of splitting it here. Added
22544 support for setting variables using the syntax `foo=bar'. Don't
22545 initialize the prefix command anymore. Initialized the set and
22546 unset commands.
22547 * normal/cmdline.c: Include <pupa/env.h>.
22548 (pupa_tab_complete): Added prototypes for print_simple_completion,
22549 print_partition_completion, add_completion, iterate_commands,
22550 iterate_dev, iterate_part and iterate_dir. Moved code to print
22551 partition information from here to kern/disk.c.
fe6b695a 22552 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 22553 * normal/main.c: Include <pupa/env.h>.
22554 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
22555 instead of using pupa_dl_get_prefix to get the prefix.
22556 * term/i386/pc/vga.c: Include <pupa/arg.h>.
22557 (check_vga_mem): Cast pointers to `void *' to silence a gcc
22558 warning.
22559 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
22560 (pupa_vga_setcolor): Declare unused variables with `__attribute__
22561 ((unused))' to silence a gcc warning.
22562 (pupa_vga_setcolor): Likewise.
22563 (debug_command): Changed to match argument parsing
22564 interface changes.
22565 * util/pupa-emu.c: Include <pupa/env.h>.
22566 (options): Added 0's for unused fields to silence a gcc warning.
22567 (argp): Likewise.
22568 (main): Use the environment variable `prefix' instead of using
22569 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
22570 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
22571 and terminal.
22572
22573 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
22574 * util/misc.c: Include <malloc.h>.
22575 (pupa_malloc): Rewritten so errors are correctly reported.
22576 (pupa_realloc): Likewise.
22577 (pupa_memalign): Likewise.
22578 (pupa_mm_init_region): Declare unused variables with
22579 `__attribute__ ((unused))' to silence a gcc warning.
22580 * normal/i386/setjmp.S: Remove tab at the end of the file to
22581 silence a gcc warning.
22582 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
22583 variables with `__attribute__ ((unused))' to silence a gcc
22584 warning.
22585 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
22586 local variable i unsigned to silence a gcc warning.
22587
22588 * kern/term.c: Include <pupa/misc.h>.
22589 (pupa_more_lines): New variable.
22590 (pupa_more): Likewise.
22591 (pupa_putcode): When the pager is active pause at the end of every
22592 screen.
22593 (pupa_set_more): New function.
22594 * include/pupa/term.h (pupa_set_more): New prototype.
22595
22596
3b1139cb 225972004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
22598
22599 Now this project is GRUB 2 rather than PUPA. The location of
22600 the CVS repository was moved to GRUB's.
f19dbdb7 22601
3b1139cb 22602 * configure.ac: Use bug-grub as the reporting address.
22603 Use GRUB instead of PUPA.
22604 Change the version number to 1.90.
22605
8367695c 226062004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
22607
22608 * genkernsyms.sh: Updated copyright information.
22609 * genmk.rb: Likewise.
22610 * genmodsrc.sh: Likewise.
22611 * gensymlist.sh: Likewise.
22612 * boot/i386/pc/boot.S: Likewise.
22613 * boot/i386/pc/diskboot.S: Likewise.
22614 * disk/i386/pc/biosdisk.c: Likewise.
22615 * disk/i386/pc/partition.c: Likewise.
22616 * font/manager.c: Likewise.
22617 * fs/ext2.c: Likewise.
22618 * fs/fat.c: Likewise.
22619 * include/pupa/boot.h: Likewise.
22620 * include/pupa/device.h: Likewise.
22621 * include/pupa/disk.h: Likewise.
22622 * include/pupa/dl.h: Likewise.
22623 * include/pupa/elf.h: Likewise.
22624 * include/pupa/err.h: Likewise.
22625 * include/pupa/file.h: Likewise.
22626 * include/pupa/font.h: Likewise.
22627 * include/pupa/fs.h: Likewise.
22628 * include/pupa/kernel.h: Likewise.
22629 * include/pupa/loader.h: Likewise.
22630 * include/pupa/misc.h: Likewise.
22631 * include/pupa/mm.h: Likewise.
22632 * include/pupa/net.h: Likewise.
22633 * include/pupa/normal.h: Likewise.
22634 * include/pupa/rescue.h: Likewise.
22635 * include/pupa/setjmp.h: Likewise.
22636 * include/pupa/symbol.h: Likewise.
22637 * include/pupa/term.h: Likewise.
22638 * include/pupa/types.h: Likewise.
22639 * include/pupa/i386/setjmp.h: Likewise.
22640 * include/pupa/i386/types.h: Likewise.
22641 * include/pupa/i386/pc/biosdisk.h: Likewise.
22642 * include/pupa/i386/pc/boot.h: Likewise.
22643 * include/pupa/i386/pc/console.h: Likewise.
22644 * include/pupa/i386/pc/init.h: Likewise.
22645 * include/pupa/i386/pc/kernel.h: Likewise.
22646 * include/pupa/i386/pc/linux.h: Likewise.
22647 * include/pupa/i386/pc/loader.h: Likewise.
22648 * include/pupa/i386/pc/memory.h: Likewise.
22649 * include/pupa/i386/pc/multiboot.h: Likewise.
22650 * include/pupa/i386/pc/partition.h: Likewise.
22651 * include/pupa/i386/pc/time.h: Likewise.
22652 * include/pupa/i386/pc/vga.h: Likewise.
22653 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
22654 * include/pupa/util/getroot.h: Likewise.
22655 * include/pupa/util/misc.h: Likewise.
22656 * include/pupa/util/resolve.h: Likewise.
22657 * kern/device.c: Likewise.
22658 * kern/disk.c: Likewise.
22659 * kern/dl.c: Likewise.
22660 * kern/err.c: Likewise.
22661 * kern/file.c: Likewise.
22662 * kern/fs.c: Likewise.
22663 * kern/loader.c: Likewise.
22664 * kern/main.c: Likewise.
22665 * kern/misc.c: Likewise.
22666 * kern/mm.c: Likewise.
22667 * kern/rescue.c: Likewise.
22668 * kern/term.c: Likewise.
22669 * kern/i386/dl.c: Likewise.
22670 * kern/i386/pc/init.c: Likewise.
22671 * kern/i386/pc/lzo1x.S: Likewise.
22672 * kern/i386/pc/startup.S: Likewise.
22673 * loader/i386/pc/chainloader.c: Likewise.
22674 * loader/i386/pc/linux.c: Likewise.
22675 * loader/i386/pc/multiboot.c: Likewise.
22676 * normal/cmdline.c: Likewise.
22677 * normal/command.c: Likewise.
22678 * normal/main.c: Likewise.
22679 * normal/menu.c: Likewise.
22680 * normal/i386/setjmp.S: Likewise.
22681 * term/i386/pc/console.c: Likewise.
22682 * term/i386/pc/vga.c: Likewise.
22683 * util/console.c: Likewise.
22684 * util/genmoddep.c: Likewise.
22685 * util/misc.c: Likewise.
22686 * util/pupa-emu.c: Likewise.
22687 * util/resolve.c: Likewise.
22688 * util/unifont2pff.rb: Likewise.
22689 * util/i386/pc/biosdisk.c: Likewise.
22690 * util/i386/pc/getroot.c: Likewise.
22691 * util/i386/pc/pupa-mkimage.c: Likewise.
22692 * util/i386/pc/pupa-setup.c: Likewise.
22693
e6eced71 226942004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
22695
22696 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
22697 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
22698 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
22699 reading and reset it after reading.
22700 (pupa_ext2_close): Return PUPA_ERR_NONE.
22701
22702 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
22703 Correct value.
22704 (struct linux_kernel_header): Add kernel_version and
22705 initrd_addr_max.
22706 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
22707 pupa_file_read succeeds.
22708 (pupa_rescue_cmd_initrd): Implement.
22709
5aded270 227102003-12-03 Marco Gerards <metgerards@student.han.nl>
22711
22712 * fs/ext2.c (pupa_ext2_label): New function.
22713 (pupa_ext2_fs): Added label.
22714 * fs/fat.c (pupa_fat_label): New function.
22715 (pupa_fat_fs): Added label.
22716 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
22717
22718 * kern/misc.c (pupa_strndup): New function.
22719 * include/pupa/misc.h (pupa_strndup): New prototype.
22720
22721 * include/pupa/normal.h: Include <pupa/err.h>.
22722 (pupa_set_history): New prototype.
22723 (pupa_iterate_commands): New prototype.
22724 * normal/cmdline.c: Include <pupa/machine/partition.h>,
22725 <pupa/disk.h>, <pupa/file.h>.
22726 (hist_size): New variable.
22727 (hist_lines): Likewise.
22728 (hist_end): Likewise.
22729 (hist_used): Likewise.
22730 (pupa_set_history): New function.
22731 (pupa_history_get): Likewise.
22732 (pupa_history_add): Likewise.
22733 (pupa_history_replace): Likewise.
22734 (pupa_tab_complete): Likewise.
22735 (pupa_cmdline_run): Added tab completion and history buffer. Tab
22736 completion shows partitionnames while completing partitions, this
22737 feature was suggested by Jeff Bailey.
22738 * normal/command.c (pupa_iterate_commands): New function.
22739 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
22740 (pupa_normal_init): Initialize history buffer.
22741 (PUPA_MOD_INIT): Likewise.
22742 (pupa_normal_fini): Free the history buffer.
22743 (PUPA_MOD_FINI): Likewise.
22744
22745 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
22746 key.
22747
22748 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
22749 * configure.ac [i386]: Check for regparam bug.
22750 (NESTED_FUNC_ATTR) [! i386]: Defined.
22751
1f7315a3 227522003-11-17 Marco Gerards <metgerards@student.han.nl>
22753
22754 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
22755 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
22756 (pupa_emu_SOURCES): New variable.
22757 (pupa_emu_LDFLAGS): Likewise.
22758 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
22759 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
22760 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
22761 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22762 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
22763 (pupa_jmp_buf): New typedef.
22764 (pupa_setjmp) [PUPA_UTIL]: New macro.
22765 (pupa_longjmp) [PUPA_UTIL]: Likewise.
22766 * include/pupa/term.h (struct pupa_term): New member `refresh'.
22767 (pupa_refresh): New prototype.
22768 * include/pupa/util/getroot.h: New file.
22769 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
22770 it.
22771 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
22772 (pupa_rescue_cmd_cat): Likewise.
22773 (pupa_rescue_cmd_ls): Likewise.
22774 (pupa_rescue_cmd_testload): Likewise.
22775 (pupa_rescue_cmd_lsmod): Likewise.
22776 * normal/cmdline.c (pupa_cmdline_get): Likewise.
22777 * normal/menu.c (run_menu): Likewise.
22778 * kern/term.c (pupa_cls): Likewise.
22779 (pupa_refresh): New function.
22780 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
22781 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22782 * util/console.c: New file.
f19dbdb7 22783
1f7315a3 22784 * util/i386/pc/getroot.c: New file.
22785 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
22786 (pupa_putchar): New function.
22787 (pupa_refresh): Likewise.
22788 (xgetcwd): Function moved to ...
22789 (strip_extra_slashes): Likewise.
22790 (get_prefix): Likewise.
f19dbdb7 22791 * util/i386/pc/getroot.c: ... here.
1f7315a3 22792 (find_root_device): Function moved and renamed to...
22793 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
22794 Changed all callers.
22795 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
22796 and renamed to...
22797 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
22798 Changed all callers.
22799 * util/misc.c (pupa_memalign): New function.
22800 (pupa_mm_init_region): Likewise.
22801 (pupa_register_exported_symbols): Likewise.
22802 (pupa_putchar): Function removed.
22803 * util/pupa-emu.c: New file.
22804
9a5c1ade 228052003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
22806
22807 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
22808 (_multiboot_mod_SOURCES): New variable.
22809 (_multiboot_mod_CFLAGS): Likewise.
22810 * loader/i386/pc/multiboot.c: New file.
22811 * include/pupa/i386/pc/multiboot.h: Likewise.
22812 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
22813 (pupa_multiboot_real_boot): New function.
22814 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
22815 (pupa_multiboot_real_boot): New prototype.
22816 (pupa_rescue_cmd_multiboot): Likewise
22817 (pupa_rescue_cmd_module): Likewise.
22818
22819 * kern/loader.c (pupa_loader_set): Continue when
22820 pupa_loader_unload_func() fails.
22821 (pupa_loader_unset): New function.
22822 * include/pupa/loader.h (pupa_loader_unset): New prototype.
22823
22824 * kern/misc.c (pupa_stpcpy): New function.
22825 * include/pupa/misc.h (pupa_stpcpy): New prototype.
22826
8e72a9c0 228272003-11-12 Marco Gerards <metgerards@student.han.nl>
22828
22829 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
22830 for available extensions.
22831
22832 * include/pupa/i386/pc/time.h: New file.
22833 * kern/disk.c: Include <pupa/machine/time.h>.
22834 (PUPA_CACHE_TIMEOUT): New macro.
22835 (pupa_last_time): New variable.
22836 (pupa_disk_open): Flush the cache when there was a timeout.
22837 (pupa_disk_close): Reset the timer.
22838 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
22839 pupa_currticks.
22840 * util/misc.c: Include <sys/times.h>
22841 (pupa_get_rtc): New function.
22842
c4adbd32 228432003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22844
22845 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
22846 as blocks.
22847 (pupa_ext2_get_file_block): Use blocks member.
22848
22849 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
22850 first block. Return -1 instead of pupa_errno on error.
22851
bfd30f06 228522003-10-27 Marco Gerards <metgerards@student.han.nl>
22853
22854 * README: In the pupa-mkimage example use _chain instead of chain
22855 and ext2 instead of fat.
22856 * TODO: Replace ext2fs with jfs as an example. Add an item for
22857 adding journal playback for ext2fs.
22858 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
22859 (pkgdata_MODULES): Added ext2.mod.
22860 (ext2_mod_SOURCES): New variable.
22861 (ext2_mod_CFLAGS): Likewise.
22862 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
22863 * include/pupa/misc.h (pupa_strncpy): New prototype.
22864 (pupa_strcat): Likewise.
22865 (pupa_strncmp): Likewise.
22866 * kern/misc.c (pupa_strcat): Enable function.
22867 (pupa_strncpy): New function.
22868 (pupa_strncmp): Likewise.
22869 * fs/ext2.c: New file.
f19dbdb7 22870
bfd30f06 22871 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
22872 when the read failed before retrying.
22873 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
22874 (_FILE_OFFSET_BITS): Likewise.
22875 * configure.ac: Added AC_SYS_LARGEFILE.
22876
98d15063 228772003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22878
22879 * genmk.rb (PModule#rule): Make sure to get only symbol names
22880 from the output of nm.
22881 Reported by Robert Millan <zeratul2@wanadoo.es>.
22882
18d9c7cd 228832003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22884
22885 I forgot to check in these changes for a long time. This adds
22886 incomplete support for VGA console, and this is still very
22887 buggy. Also, a lot of consideration is required for I18N,
22888 UNICODE, and VGA font issues. Therefore, assume that this is
22889 such that "better than nothing".
f19dbdb7 22890
18d9c7cd 22891 * font/manager.c: New file.
22892 * include/pupa/font.h: Likewise.
22893 * include/pupa/i386/pc/vga.h: Likewise.
22894 * term/i386/pc/vga.c: Likewise.
22895 * util/unifont2pff.rb: Likewise.
22896
22897 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
22898 (pkgdata_MODULES): Added vga.mod and font.mod.
22899 (vga_mod_SOURCES): New variables.
22900 (vga_mod_CFLAGS): Likewise.
22901 (font_mod_SOURCES): Likewise.
22902 (font_mod_CFLAGS): Likewise.
22903
22904 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
22905
22906 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 22907 (struct pupa_term): Added init and fini.
18d9c7cd 22908 Changed the argument of putchar to pupa_uint32_t.
22909
22910 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
22911 (pupa_console_real_putchar): New prototype.
22912 (pupa_console_putchar): Removed.
22913 (pupa_console_checkkey): Exported.
22914 (pupa_console_getkey): Likewise.
22915
22916 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
22917 characters.
22918
22919 * kern/term.c (pupa_term_set_current): Rewritten.
22920 (pupa_putchar): Likewise.
22921 (pupa_putcode): New function.
22922
22923 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
22924 (pupa_console_real_putchar): ... this.
22925 (pupa_vga_set_mode): New function.
22926 (pupa_vga_get_font): Likewise.
22927
22928 * normal/command.c: Include pupa/term.h.
22929 (terminal_command): New function.
22930 (pupa_command_init): Register the command "terminal".
22931
22932 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
22933 (DISP_UP): Likewise.
22934 (DISP_RIGHT): Likewise.
22935 (DISP_DOWN): Likewise.
22936 (DISP_HLINE): Likewise.
22937 (DISP_VLINE): Likewise.
22938 (DISP_UL): Likewise.
22939 (DISP_UR): Likewise.
22940 (DISP_LL): Likewise.
22941 (DISP_LR): Likewise.
22942
22943 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22944
977329f5 229452003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22946
22947 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22948 FIX. Reverse the path_list.
22949
22950 * include/pupa/normal.h: Export pupa_register_command and
22951 pupa_unregister_command.
22952
22953 * hello/hello.c (pupa_cmd_hello): New module.
22954 * conf/i386-pc.rmk: Added hello.mod.
22955
1f5ab428 229562003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22957
22958 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22959
1f5ab428 22960 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22961 (compress_kernel): New variable.
22962 (generate_image): Heavily modified to support compressing a
22963 large part of the core image.
22964
22965 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22966 leak.
22967 (pupa_util_load_image): New function.
22968
22969 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22970 (pupa_compressed_size): New variable.
22971 (codestart): Enable Gate A20 here.
22972 Decompress the compressed part of the core image.
22973 Rearrange the code to put functions and variables which are
22974 required for initialization in the non-compressed part.
22975 Include lzo1x.S.
22976
22977 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22978 here.
22979
22980 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22981
f19dbdb7 22982 * include/pupa/i386/pc/kernel.h
1f5ab428 22983 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22984 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22985 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22986 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22987 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22988
22989 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22990
22991 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22992 (Utility#rule): Likewise.
22993
22994 * configure.ac: Check if LZO is available.
22995
ce5bf700 229962003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22997
22998 * include/pupa/normal.h: New file.
22999 * include/pupa/setjmp.h: Likewise.
23000 * include/pupa/i386/setjmp.h: Likewise.
23001 * normal/cmdline.c: Likewise.
23002 * normal/command.c: Likewise.
23003 * normal/main.c: Likewise.
23004 * normal/menu.c: Likewise.
23005 * normal/i386/setjmp.S: Likewise.
f19dbdb7 23006
ce5bf700 23007 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
23008 (pupa_rescue_cmd_initrd): Likewise.
23009
23010 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
23011 Likewise.
23012
23013 * kern/i386/pc/startup.S (translation_table): New variable.
23014 (translate_keycode): New function.
23015 (pupa_console_getkey): Call translate_keycode.
23016
23017 * kern/rescue.c (attempt_normal_mode): New function.
23018 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
23019 it failed, print a message.
23020
23021 * kern/mm.c (pupa_real_malloc): Print more information when a
23022 free magic is broken.
23023 (pupa_free): If the first free header is not free actually, set
23024 it to P.
23025
23026 * kern/main.c (pupa_load_normal_mode): Just load the module
23027 "normal".
23028 (pupa_main): Don't print the message
23029 "Entering into rescue mode..." here.
23030
23031 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23032 Declared.
23033 (pupa_rescue_cmd_initrd): Likewise.
23034 (pupa_rescue_cmd_initrd): Likewise.
23035
23036 * include/pupa/symbol.h (FUNCTION): Specify the type.
23037 (VARIABLE): Likewise.
23038
23039 * include/pupa/err.h (pupa_err_t): Added
23040 PUPA_ERR_UNKNOWN_COMMAND.
23041
23042 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23043 (pupa_dl_get_prefix): Likewise.
23044
23045 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23046 Added _chain.mod and _linux.mod instead of chain.mod and
23047 linux.mod.
23048 (chain_mod_SOURCES): Renamed to ...
23049 (_chain_mod_SOURCES): ... this.
23050 (chain_mod_CFLAGS): Renamed to ...
23051 (_chain_mod_CFLAGS): ... this.
23052 (linux_mod_SOURCES): Renamed to ...
23053 (_linux_mod_SOURCES): ... this.
23054 (linux_mod_CFLAGS): Renamed to ...
23055 (_linux_mod_CFLAGS): ... this.
23056 (normal_mod_SOURCES): New variable.
23057 (normal_mod_CFLAGS): Likewise.
23058 (normal_mod_ASFLAGS): Likewise.
23059
230602003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23061
23062 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23063 possible.
23064
fe6b695a 23065 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23066 recursively.
23067 (pupa_dl_unref): Unrefer depending modules recursively.
23068 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23069 a module is unloaded before one depending on that module is
23070 unloaded.
23071 (pupa_dl_unload): Unload depending modules explicitly,
23072 if possible.
23073
c04da074 230742003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23075
23076 * include/pupa/i386/pc/linux.h: New file.
23077 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23078
c04da074 23079 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23080 Removed.
23081 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23082 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23083 of PUPA_CHAINLOADER_BOOT_SECTOR.
23084
23085 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23086 (pupa_linux_prot_size): New variable.
23087 (pupa_linux_tmp_addr): Likewise.
23088 (pupa_linux_real_addr): Likewise.
23089 (pupa_linux_boot_zimage): New function.
23090 (pupa_linux_boot_bzimage): Likewise.
23091
23092 * kern/i386/pc/init.c (struct mem_region): New structure.
23093 (MAX_REGIONS): New macro.
23094 (mem_regions): New variable.
23095 (num_regions): Likewise.
23096 (pupa_os_area_addr): Likewise.
23097 (pupa_os_area_size): Likewise.
23098 (pupa_lower_mem): Likewise.
23099 (pupa_upper_mem): Likewise.
23100 (add_mem_region): New function.
23101 (compact_mem_regions): Likewise.
23102 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23103 the size of the conventional memory and that of so-called upper
23104 memory (before the first memory hole).
23105 Instead of adding each found region to free memory, use
23106 add_mem_region and add them after removing overlaps.
23107 Also, add only 1/4 of the upper memory to free memory. The rest
23108 is used for loading OS images. Maybe this is ad hoc, but this
23109 makes it much easier to relocate OS images when booting.
23110
23111 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
23112 (pupa_enter_rescue_mode): Don't register initrd and module.
23113
23114 * kern/mm.c: Include pupa/dl.h.
23115
23116 * kern/main.c: Include pupa/file.h and pupa/device.h.
23117
23118 * kern/loader.c (pupa_loader_load_module_func): Removed.
23119 (pupa_loader_load_module): Likewise.
23120
23121 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
23122 ``.o''.
23123
23124 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
23125 (pupa_linux_tmp_addr): Likewise.
23126 (pupa_linux_real_addr): Likewise.
23127 (pupa_linux_boot_zimage): Likewise.
23128 (pupa_linux_boot_bzimage): Likewise.
23129
23130 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
23131 (pupa_upper_mem): Likewise.
23132 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
23133 module is too dangerous.
23134
23135 * include/pupa/loader.h (pupa_os_area_addr): Declared.
23136 (pupa_os_area_size): Likewise.
23137 (pupa_loader_set): Remove the first argument. Loader doesn't
23138 manage modules or initrd any longer.
23139 (pupa_loader_load_module): Removed.
23140
23141 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
23142 (linux_mod_SOURCES): New variable.
23143 (linux_mod_CFLAGS): Likewise.
23144
a13f9237 231452003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
23146
23147 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
23148 the length of a blocklist correctly.
23149
23150 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
23151 Use ioctl only if the OS file is a block device.
23152 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
23153 not very useful for normal files.
23154
23155 * kern/main.c (pupa_set_root_dev): New function.
23156 (pupa_load_normal_mode): Likewise.
23157 (pupa_main): Call those above.
23158
23159 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
23160 pupa_uint16_t.
23161
23162 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
23163
a5ffe966 231642003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23165
23166 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
23167 (setup): Configure the installed partition information and the
23168 dl prefix.
23169
23170 * loader/i386/pc/chainloader.c (my_mod): New variable.
23171 (pupa_chainloader_unload): New function.
23172 (pupa_rescue_cmd_chainloader): Refer itself.
23173 (PUPA_MOD_INIT): Save its own module in MY_MOD.
23174
23175 * kern/i386/pc/startup.S (install_partition): Removed.
23176 (version_string): Likewise.
23177 (config_file): Likewise.
23178 (pupa_install_dos_part): New variable.
23179 (pupa_install_bsd_part): Likewise.
23180 (pupa_prefix): Likewise.
23181 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
23182
23183 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
23184 and pupa/misc.h.
23185 (make_install_device): New function.
23186 (pupa_machine_init): Set the dl prefix.
23187
23188 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
23189 (buf): Renamed to ...
23190 (linebuf): ... this.
23191 (pupa_rescue_cmd_prefix): New function.
23192 (pupa_rescue_cmd_insmod): Likewise.
23193 (pupa_rescue_cmd_rmmod): Likewise.
23194 (pupa_rescue_cmd_lsmod): Likewise.
23195 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
23196 rmmod and lsmod.
23197
23198 * kern/mm.c (pupa_memalign): If failed even after invalidating
23199 disk caches, unload unneeded modules and retry.
23200
23201 * kern/misc.c (pupa_memmove): New function.
23202 (pupa_memcpy): Removed.
23203 (pupa_strcpy): New function.
23204 (pupa_itoa): Made static.
23205
23206 * kern/dl.c (pupa_dl_iterate): New function.
23207 (pupa_dl_ref): Likewise.
23208 (pupa_dl_unref): Likewise.
23209 (pupa_dl_unload): Return if succeeded or not.
23210 (pupa_dl_unload_unneeded): New function.
23211 (pupa_dl_unload_all): Likewise.
23212 (pupa_dl_init): Renamed to ...
23213 (pupa_dl_set_prefix): ... this.
23214 (pupa_dl_get_prefix): New function.
23215
23216 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
23217 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
23218 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23219 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23220 (pupa_install_dos_part): Declared.
23221 (pupa_install_bsd_part): Likewise.
23222 (pupa_prefix): Likewise.
23223 (pupa_boot_drive): Likewise.
23224
23225 * include/pupa/types.h: Fix a typo.
23226
23227 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
23228 pupa_memmove.
23229 (pupa_memmove): Declared.
23230 (pupa_strcpy): Likewise.
23231
23232 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
23233 pupa_mod_init takes one argument, its own module.
23234 (pupa_dl_unload_unneeded): Declared.
23235 (pupa_dl_unload_all): Likewise.
23236 (pupa_dl_ref): Likewise.
23237 (pupa_dl_unref): Likewise.
23238 (pupa_dl_iterate): Likewise.
23239 (pupa_dl_init): Renamed to ...
23240 (pupa_dl_set_prefix): ... this.
23241 (pupa_dl_get_prefix): Declared.
23242
23243 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 23244 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 23245 unloaded.
23246 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
23247 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
23248
23249 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
23250 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
23251
012d7999 232522003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23253
23254 * util/i386/pc/pupa-setup.c (setup): Define the internal
23255 function find_first_partition_start at the top level, because GCC
23256 3.0.x cannot compile internal functions in deeper scopes
23257 correctly.
23258 (find_root_device): Use lstat instead of stat.
23259 Don't follow symbolic links.
23260 Fix the path-constructing code.
23261
23262 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
23263 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
23264 by a BLKGETSIZE ioctl first, because block devices don't fill
23265 the member st_mode of the structure stat on Linux.
23266 [__linux__] (linux_find_partition): Use a temporary buffer
23267 REAL_DEV for the working space. Copy it to DEV before returning.
23268 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
23269 buffer cache consistent.
23270 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
23271 strncmp. The previous value was merely wrong.
23272 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
23273
23274 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
23275 FAT size is 12. The previous value was merely wrong.
23276
23277 * kern/main.c (pupa_main): Don't split the starting message from
23278 newlines.
23279
23280 * kern/term.c (pupa_putchar): Put CR after LF instead of before
23281 LF, because BIOS goes crazy about character attributes in this
23282 case.
23283
1cc73a62 232842003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23285
23286 * include/i386/pc/util/biosdisk.h: New file.
23287 * util/i386/pc/biosdisk.c: Likewise.
23288 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 23289
1cc73a62 23290 * Makefile.in (INCLUDE_DISTFILES): Added
23291 include/pupa/i386/pc/util/biosdisk.h.
23292 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
23293 directory util/i386/pc.
23294 (install-local): Added a rule for sbin_UTILITIES.
23295 (uninstall): Likewise.
23296
23297 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
23298
23299 * util/misc.c (xrealloc): New function.
23300 (pupa_malloc): Likewise.
23301 (pupa_free): Likewise.
23302 (pupa_realloc): Likewise.
23303 (pupa_stop): Likewise.
23304 (pupa_putchar): Likewise.
23305
23306 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
23307
23308 * include/pupa/util/misc.h (xrealloc): Declared.
23309
23310 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
23311 macro.
23312 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
23313 (PUPA_BOOT_MACHINE_BPB_END): ... this.
23314
23315 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
23316 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23317
23318 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
23319 way should be implemented.
23320 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23321
23322 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
23323 the size of NAME for safety.
23324 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
23325 0x88.
23326
23327 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
23328 (pupa_setup_SOURCES): Likewise.
23329
23330 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
23331
08b70fe8 233322002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23333
23334 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
23335 bunch of pushl's from pusha, because this destroys the return
23336 value.
23337
62ddcc8f 233382002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23339
23340 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
23341 This means that any missing prototypes could be fatal. Also, you
23342 must take care when writing assembly code. See the comments at
23343 the beginning of startup.S, for more details.
f19dbdb7 23344
62ddcc8f 23345 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
23346 compilation mechanism.
23347 (pupa_chainloader_real_boot): Likewise.
23348 (pupa_biosdisk_rw_int13_extensions): Likewise.
23349 (pupa_biosdisk_rw_standard): Likewise.
23350 (pupa_biosdisk_check_int13_extensions): Likewise.
23351 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
23352 (pupa_biosdisk_get_diskinfo_standard): Likewise.
23353 (pupa_get_memsize): Likewise.
23354 (pupa_get_mmap_entry): Likewise.
23355 (pupa_console_putchar): Likewise.
23356 (pupa_console_setcursor): Likewise.
23357 (pupa_getrtsecs): Use pushl instead of push.
23358
23359 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
23360 memory instead of the stack for a mmap entry, because some
23361 BIOSes may ignore the maximum size and overflow.
23362
23363 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
23364
23365 * genmk.rb (PModule#rule): Compile automatically generated
23366 sources with module-specific CFLAGS as well as other sources.
23367
9962ed99 233682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23369
23370 * configure.ac: Check ld.
23371 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
23372 respectively, before checking endianness and sizes.
23373
23374 * Makefile.in (LD): New variable.
f19dbdb7 23375
abdfc3c5 233762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23377
23378 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
23379
6a161fa9 233802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23381
23382 * Changelog: New file.
23383