]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
e9060a9d
VS
12010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4 which resulted in garbled command line at the end of screen.
5
f0d0c0b7
RM
62010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7
8 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9 initialization with similar approach as with other Linux loaders.
10
0e60bae7
RM
112010-01-10 Robert Millan <rmh.grub@aybabtu.com>
12
13 Fix i386-ieee1275 build.
14
15 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16 and grub_term_height() for video_{width,height} initialization.
17
182010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19
20 Fix grub-emu build.
21
22 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23
cdb3f378
RM
242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
252010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26
27 Support for multiple terminals.
28
29 * Makefile.in (pkglib_DATA): terminal.lst.
30 (terminal.lst): New target.
31 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
32 (GRUB_MOD_INIT(handler)): Likewise.
33 (GRUB_MOD_FINI(handler)): Likewise.
34 * commands/help.c (grub_cmd_help): Handle multiple terminals.
35 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
36 * commands/sleep.c (do_print): Use grub_term_restore_pos.
37 (grub_cmd_sleep): Use grub_term_save_pos.
38 * commands/terminal.c: New file.
39 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
40 commands/terminal.c and lib/charset.c.
41 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
42 (pkglib_MODULES): Add terminal.mod.
43 (terminal_mod_SOURCES): New variable.
44 (terminal_mod_CFLAGS): Likewise.
45 (terminal_mod_LDFLAGS): Likewise.
46 * genhandlerlist.sh: Don't handle terminals.
47 * genmk.rb: Generate terminal-*.lst.
48 * genterminallist.sh: New file.
49 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
50 (grub_is_valid_utf8): Likewise.
51 (grub_utf8_to_ucs4_alloc): Likewise.
52 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
53 (grub_menu_register_viewer): Changed argument.
54 (grub_menu_try_text): New proto.
55 (grub_gfxmenu_try_hook): New declaration.
56 * include/grub/normal.h (grub_normal_exit_level): New declaration.
57 (grub_menu_init_page): Additional argument term.
58 (grub_normal_init_page): Likewise.
59 (grub_cmdline_get): Arguments simplified.
60 (grub_utf8_to_ucs4_alloc): Removed.
61 (grub_print_ucs4): Additional argument term.
62 (grub_getstringwidth): Likewise.
63 (grub_print_message_indented): Likewise.
64 (grub_menu_text_register_instances): New proto.
65 (grub_show_menu): Likewise.
66 (read_terminal_list): Likewise.
67 (grub_set_more): Likewise.
68 * include/grub/parser.h: Include handler.h.
69 * include/grub/reader.h: Rewritten.
70 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
71 (GRUB_TERM_WIDTH): Changed to function.
72 (GRUB_TERM_HEIGHT): Likewise.
73 (GRUB_TERM_BORDER_WIDTH): Likewise.
74 (GRUB_TERM_BORDER_HEIGHT): Likewise.
75 (GRUB_TERM_NUM_ENTRIES): Likewise.
76 (GRUB_TERM_ENTRY_WIDTH): Likewise.
77 (GRUB_TERM_CURSOR_X): Likewise.
78 (grub_term_input_class): Likewise.
79 (grub_term_output_class): Likewise.
80 (grub_term_outputs_disabled): New declaration.
81 (grub_term_inputs_disabled): Likewise.
82 (grub_term_outputs): Likewise.
83 (grub_term_inputs): Likewise.
84 (grub_term_register_input): Rewritten.
85 (grub_term_register_output): Likewise.
86 (grub_term_unregister_input): Likewise.
87 (grub_term_unregister_output): Likewise.
88 (FOR_ACTIVE_TERM_INPUTS): New macro.
89 (FOR_DISABLED_TERM_INPUTS): Likewise.
90 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
91 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
92 * include/grub/terminfo.h: Add oterm argument to all protypes.
93 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
94 Use grub_rescue_run.
95 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
96 All users updated.
97 * kern/reader.c: Removed. All users updated.
98 * kern/rescue_reader.c (grub_rescue_init): Removed.
99 (grub_rescue_reader): Likewise.
100 (grub_register_rescue_reader): Likewise.
101 (grub_rescue_run): New function based on kern/reader.c.
102 * kern/term.c: Adapted for multiterm.
103 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
104 (grub_is_valid_utf8): Likewise.
105 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
106 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
107 right terminal.
108 * loader/i386/linux.c (grub_linux_boot): Likewise.
109 * normal/auth.c (grub_username_get): New function.
110 (grub_auth_check_authentication): Use grub_username_get.
111 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
112 * normal/color.c: Adapt for multiterm.
113 * normal/main.c (read_config_file): Don't use grub_reader_loop.
114 (grub_normal_init_page): Additional argument term.
115 (read_lists): Call read_terminal_lists.
116 (grub_enter_normal_mode): Call grub_cmdline_run.
117 Handle grub_normal_exit_level.
118 (grub_cmd_normal): Make reentrant.
119 (grub_cmd_normal_exit): New function.
120 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
121 * normal/menu.c: Adapt for multiterm.
122 * normal/menu_entry.c: Likewise.
123 * normal/menu_text.c: Likewise.
124 * normal/menu_viewer.c: Removed. All users updated.
125 * normal/term.c: New file.
126 * util/console.c: Change order of includes to workaround a bug in
127 ncurses headers.
128 * term/terminfo.c: New argument oterm on all exported functions.
129 All users updated.
130 * util/grub-editenv.c (grub_term_input_class): Removed.
131 (grub_term_output_class): Likewise.
132
1a064917
RM
1332010-01-09 Robert Millan <rmh.grub@aybabtu.com>
134
135 Make loader output a bit more user-friendly.
136
137 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
138 is being loaded. Likewise for the Hurd.
139
140 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
141 that kernel of FreeBSD ${version} is being loaded.
142
143 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
144 grub_dprintf().
145 (grub_cmd_initrd): Likewise.
146 * util/grub.d/10_linux.in (linux_entry): Print message indicating
147 that Linux ${version} is being loaded. Likewise for initrd.
148
5ce0a83a 1492010-01-09 Carles Pina i Estany <carles@pina.cat>
150
151 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
152
809bbfeb 1532010-01-08 Carles Pina i Estany <carles@pina.cat>
154
155 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
156 (GRUB_MOD_INIT): Gettextizze.
157 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
158 (GRUB_MOD_INIT): Gettextizze.
159 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
160 (grub_cmd_linux): Capitalise Linux.
161 (GRUB_MOD_INIT): Gettextizze.
162 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
163 (grub_cmd_linux): Capitalise Linux.
164 (GRUB_MOD_INIT): Gettextizze.
165 * loader/i386/linux.c: Include `<grub/i18n.h>'.
166 (grub_cmd_linux): Capitalise Linux.
167 (GRUB_MOD_INIT): Gettextizze.
168 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
169 (GRUB_MOD_INIT): Gettextizze.
170 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
171 (grub_cmd_linux): Capitalise Linux.
172 (GRUB_MOD_INIT): Gettextizze.
173 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
174 (grub_cpu_xnu_init): Gettextizze.
175 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
176 (GRUB_MOD_INIT): Gettextizze.
177 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
178 (GRUB_MOD_INIT): Gettextizze.
179 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
180 (grub_linux_load64): Capitalise Linux.
181 (GRUB_MOD_INIT): Gettextizze.
182 * loader/xnu.c: Include `<grub/i18n.h>'.
183 (GRUB_MOD_INIT): Gettextizze.
184 * po/POTFILES: Add `loader/efi/appleloader.c',
185 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
186 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
187 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
188 `loader/i386/xnu.c', `loader/multiboot_loader.c',
189 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
190 and `loader/xnu.c'.
191
b394b2ca
RM
1922010-01-08 Robert Millan <rmh.grub@aybabtu.com>
193
194 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
195
1962010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
197
198 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
199 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
200 * util/mkisofs/mkisofs.c (main): Readjust --version output.
201
bc8b32b3
RM
2022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
203
204 Reset Multiboot 2 support. New loader implements the draft in
205 /branches/multiboot2 and shares as much code as possible with the
206 production Multiboot 1 implementation.
207
208 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
209 * loader/multiboot2.c: Likewise.
210 * loader/i386/multiboot_helper.S: Likewise.
211 * include/multiboot2.h: Replace with latest version from the draft
212 in /branches/multiboot2.
213
214 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
215 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
216 and `loader/multiboot2.c'.
217 (pkglib_MODULES): Add `multiboot2.mod'.
218 (multiboot2_mod_SOURCES): New variable.
219 (multiboot2_mod_LDFLAGS): Likewise.
220 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
221
222 * conf/i386-pc.rmk: Likewise.
223
224 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
225 (multiboot_mod_SOURCES): Remove variable.
226 (multiboot_mod_LDFLAGS): Likewise.
227 (multiboot_mod_CFLAGS): Likewise.
228
229 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
230 `<multiboot2.h>' instead of `<multiboot.h>'.
231 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
232 (MULTIBOOT_HEADER_MAGIC): New macros.
233
234 * loader/multiboot_loader.c (module_version_status): Remove variable.
235 (find_multi_boot2_header): Remove function.
236 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
237 logic. Always check for the Multiboot version we're compiling for.
238 (grub_cmd_module_loader): Likewise.
239 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
240 command instead of `multiboot'.
241
5d2c52b8
RM
2422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
243
244 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
245 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
246 all users.
247
53108d92
RM
2482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2492010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Fix breakage introduced with previous commit.
252
253 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
254 commands.
255 * normal/handler.c (read_handler_list): Revert part of previous commit
256 affecting this file.
257 * normal/main.c (read_lists): Move read_handler_list() call back to ...
258 (grub_normal_execute): ... here.
259
e2e936b2
RM
2602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
261
262 Merge prefix-redefinition-fix branch.
263
264 * normal/autofs.c (read_fs_list): Make function capable of being
265 run multiple times, gracefuly replacing the previous data
266 structures.
267 * normal/dyncmd.c (read_command_list): Likewise.
268 * normal/handler.c (read_handler_list): Likewise.
269 * normal/main.c (read_lists): New function. Calls all the
270 list reading functions.
271 (grub_normal_execute): Use read_lists() instead of calling all
272 list reading functions explicitly. Register read_lists() as a
273 variable hook attached to ${prefix}.
274
607a3701
VS
2752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
276
277 Merge crypto branch.
278
279 * Makefile.in (pkglib_DATA): Add crypto.lst.
280 (crypto.lst): New target.
281 * commands/hashsum.c: New file.
282 * commands/password.c (check_password): Use grub_crypto_memcmp.
283 * commands/password_pbkdf2.c: New file.
284 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
285 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
286 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
287 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
288 -I$(srcdir)/lib/libgcrypt_wrap.
289 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
290 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
291 password_pbkdf2.mod.
292 (crypto_mod_SOURCES): New variable.
293 (crypto_mod_CFLAGS): Likewise.
294 (crypto_mod_LDFLAGS): Likewise.
295 (hashsum_mod_SOURCES): New variable.
296 (hashsum_mod_CFLAGS): Likewise.
297 (hashsum_mod_LDFLAGS): Likewise.
298 (pbkdf2_mod_SOURCES): New variable.
299 (pbkdf2_mod_CFLAGS): Likewise.
300 (pbkdf2_mod_LDFLAGS): Likewise.
301 (password_pbkdf2_mod_SOURCES): New variable.
302 (password_pbkdf2_mod_CFLAGS): Likewise.
303 (password_pbkdf2_mod_LDFLAGS): Likewise.
304 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
305 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
306 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
307 Include conf/gcry.rmk.
308 * include/grub/auth.h: Rewritten.
309 * include/grub/crypto.h: New file.
310 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
311 * include/grub/normal.h (read_crypto_list): New prototype.
312 * lib/crypto.c: New file.
313 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
314 * lib/pbkdf2.c: Likewise.
315 * normal/auth.c (grub_auth_strcmp): Removed.
316 (grub_iswordseparator): Likewise.
317 (grub_auth_strword): Likewise.
318 (is_authenticated): Use grub_strword.
319 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
320 and grub_strword. Pass entered password to authentication callback.
321 * normal/crypto.c: New file.
322 * normal/main.c: Call read_crypto_list.
323 * util/grub-mkpasswd-pbkdf2.c: New file.
324 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
325
42841caa
VS
3262010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
327
328 Fix descent and ascent calculation.
329
330 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
331 (options): New option "asce".
332 (usage): Likewise.
333 (add_char): Ignore invalid glyphs for descent calculation.
334 Calculate ascent from actual content.
335 (print_glyphs): Use 'asce'.
336 (write_font): Likewise. Allow ascent override.
337 (main): Handle "asce" option.
338
e7730de7 3392010-01-06 Carles Pina i Estany <carles@pina.cat>
340
341 * kern/err.c: Include `<grub/i18n.h>'.
342 (grub_print_error): Add full stop. Gettextizze.
343 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
344 (grub_bsd_load_elf): Capitalise ELF.
345 (grub_cmd_freebsd_loadenv): Add `s' in error string.
346 (grub_cmd_freebsd_module): Likewise.
347 (grub_cmd_freebsd_module_elf): Likewise.
348 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
349
40e3a41f 3502010-01-06 Carles Pina i Estany <carles@pina.cat>
351
352 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
353 * commands/search_file.c (HELP_MESSAGE): New macro.
354 * commands/search_label.c (HELP_MESSAGE): Likewise.
355 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
356 * po/POTFILES: Add `commands/search_file.c',
357 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
358 `commands/search.c'.
359
83507e68
RM
3602010-01-05 Robert Millan <rmh.grub@aybabtu.com>
361
362 * config.rpath: Update from Gnulib.
363
465c787b
YB
3642010-01-05 Yves Blusseau <blusseau@zetam.org>
365
366 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
367
6581dd3a
YB
3682010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
369
370 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
371
3bff18c5
CW
3722010-01-05 Colin Watson <cjwatson@ubuntu.com>
373
374 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
375 arguments to fread so that we get a return value in bytes, rather
376 than something that will normally be rounded down to 0.
377 Adjust error handling to avoid producing garbage when size_t is not
378 the same size as long long.
379
a1368118
CW
3802010-01-05 Colin Watson <cjwatson@ubuntu.com>
381
382 * util/mkisofs/write.c (padblock_write): Check return value of
383 fread.
384
7c302978
RM
3852010-01-05 Robert Millan <rmh.grub@aybabtu.com>
386
387 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
388 floppy images now.
389
390 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
391
e33ace06
RM
3922010-01-04 Robert Millan <rmh.grub@aybabtu.com>
393
394 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
395 instead of manual alignment.
396 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
397 verbose). Avoid attempts to read past end of the device
398 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
399 but GRUB_DISK_CACHE_SIZE may exceed that).
400
4b856776
RM
4012010-01-04 Robert Millan <rmh.grub@aybabtu.com>
402
403 * commands/crc.c (grub_cmd_crc): Abort on read errors.
404 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
405 it to upper layer.
406
52c2d97f
VS
4072010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
410 New constant.
411 (grub_efi_piwg_device_path): New structure
412 (grub_efi_piwg_device_path_t): New type.
413 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
414 (devpath_1): Transform to a structure. All users updated.
415 (devpath_2): Likewise.
416 (devpath_3): Likewise.
417 (devpath_4): Likewise.
418 (devpath_5): Likewise.
419
98ff6a54
VS
4202010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * loader/efi/appleloader.c: Restored. Update all users.
423
3a73dcb6
RM
4242010-01-03 Robert Millan <rmh.grub@aybabtu.com>
425
426 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
427
428 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
429 (struct boot_blocklist): Move from here ...
430 * include/grub/i386/pc/boot.h [ASM_FILE]
431 (struct grub_boot_blocklist): ... to here. Update all users.
432 (setup): Only initialize `start' member of `first_block'
433 structure. Add assert() calls to verify the other members.
434
435 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
436 (generate_image): Fix broken blocklist length initialization.
437 Add assert() call to verify blocklist `segment' field.
438
ab0eeb0c
RM
4392010-01-03 Robert Millan <rmh.grub@aybabtu.com>
440
441 * loader/efi/appleloader.c: Remove. Update all users.
442
58bc8bd5
RM
4432010-01-03 Robert Millan <rmh.grub@aybabtu.com>
444
445 * boot/i386/pc/boot.S: Update copyright year.
446 * boot/i386/pc/cdboot.S: Likewise.
447 * boot/i386/pc/diskboot.S: Likewise.
448 * boot/i386/pc/lnxboot.S: Likewise.
449 * boot/i386/pc/pxeboot.S: Likewise.
450 * bus/pci.c: Likewise.
451 * commands/cmp.c: Likewise.
452 * commands/help.c: Likewise.
453 * commands/hexdump.c: Likewise.
454 * commands/i386/pc/halt.c: Likewise.
455 * commands/i386/pc/play.c: Likewise.
456 * commands/i386/pc/vbeinfo.c: Likewise.
457 * commands/ls.c: Likewise.
458 * commands/test.c: Likewise.
459 * disk/dmraid_nvidia.c: Likewise.
460 * disk/i386/pc/biosdisk.c: Likewise.
461 * disk/ieee1275/nand.c: Likewise.
462 * disk/ieee1275/ofdisk.c: Likewise.
463 * disk/lvm.c: Likewise.
464 * disk/raid.c: Likewise.
465 * disk/raid6_recover.c: Likewise.
466 * disk/scsi.c: Likewise.
467 * fs/affs.c: Likewise.
468 * fs/cpio.c: Likewise.
469 * fs/ext2.c: Likewise.
470 * fs/hfs.c: Likewise.
471 * fs/iso9660.c: Likewise.
472 * fs/ntfs.c: Likewise.
473 * fs/sfs.c: Likewise.
474 * fs/udf.c: Likewise.
475 * fs/ufs.c: Likewise.
476 * fs/xfs.c: Likewise.
477 * gencmdlist.sh: Likewise.
478 * genmk.rb: Likewise.
479 * include/grub/disk.h: Likewise.
480 * include/grub/efi/api.h: Likewise.
481 * include/grub/efi/efi.h: Likewise.
482 * include/grub/efi/pe32.h: Likewise.
483 * include/grub/elf.h: Likewise.
484 * include/grub/fs.h: Likewise.
485 * include/grub/i386/at_keyboard.h: Likewise.
486 * include/grub/i386/pc/memory.h: Likewise.
487 * include/grub/i386/pc/vbe.h: Likewise.
488 * include/grub/i386/pci.h: Likewise.
489 * include/grub/i386/tsc.h: Likewise.
490 * include/grub/ieee1275/ieee1275.h: Likewise.
491 * include/grub/ntfs.h: Likewise.
492 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
493 * include/grub/sparc64/libgcc.h: Likewise.
494 * include/grub/symbol.h: Likewise.
495 * include/grub/types.h: Likewise.
496 * include/multiboot2.h: Likewise.
497 * io/gzio.c: Likewise.
498 * kern/device.c: Likewise.
499 * kern/disk.c: Likewise.
500 * kern/efi/efi.c: Likewise.
501 * kern/efi/mm.c: Likewise.
502 * kern/elf.c: Likewise.
503 * kern/file.c: Likewise.
504 * kern/i386/dl.c: Likewise.
505 * kern/i386/pc/init.c: Likewise.
506 * kern/i386/pc/startup.S: Likewise.
507 * kern/ieee1275/ieee1275.c: Likewise.
508 * kern/ieee1275/init.c: Likewise.
509 * kern/main.c: Likewise.
510 * kern/mm.c: Likewise.
511 * kern/powerpc/dl.c: Likewise.
512 * kern/sparc64/dl.c: Likewise.
513 * kern/x86_64/dl.c: Likewise.
514 * lib/hexdump.c: Likewise.
515 * loader/efi/appleloader.c: Likewise.
516 * loader/i386/ieee1275/linux.c: Likewise.
517 * loader/i386/pc/chainloader.c: Likewise.
518 * loader/i386/pc/linux.c: Likewise.
519 * loader/i386/pc/multiboot2.c: Likewise.
520 * loader/ieee1275/multiboot2.c: Likewise.
521 * loader/multiboot2.c: Likewise.
522 * loader/multiboot_loader.c: Likewise.
523 * loader/powerpc/ieee1275/linux.c: Likewise.
524 * normal/completion.c: Likewise.
525 * normal/menu_entry.c: Likewise.
526 * partmap/apple.c: Likewise.
527 * util/grub.d/10_hurd.in: Likewise.
528 * util/hostfs.c: Likewise.
529 * video/readers/png.c: Likewise.
530
e2d70b5c
CW
5312010-01-03 Colin Watson <cjwatson@ubuntu.com>
532
533 * include/grub/misc.h (GNUC_PREREQ): New macro.
534 (ATTRIBUTE_ERROR): New macro.
535 * include/grub/list.h (grub_bad_type_cast_real): Use
536 ATTRIBUTE_ERROR.
537
a173283f 5382010-01-03 Carles Pina i Estany <carles@pina.cat>
539
540 * normal/menu_text.c (print_message): Change messages.
541
7fa7ff74 5422010-01-03 Carles Pina i Estany <carles@pina.cat>
543
544 * normal/menu_entry.c (store_completion): Gettextizze.
545
136d24f6 5462010-01-03 Carles Pina i Estany <carles@pina.cat>
547
548 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
549
f936862e 5502010-01-03 Carles Pina i Estany <carles@pina.cat>
551
552 * po/POTFILES: Sort correctly.
553
29c44ad1 5542010-01-03 Carles Pina i Estany <carles@pina.cat>
555
556 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
557 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
558 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
559 full stop.
560 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
561 summary. Gettextizze the strings.
562 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
563 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
564 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
565 full stop.
566 (GRUB_MOD_INIT): Remove command name from summary.
567 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
568 summary.
569 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
570 * term/i386/pc/serial.c (options): Add full stops.
571 (GRUB_MOD_INIT): Remove command name from the summary.
572
77a79592 5732010-01-03 Carles Pina i Estany <carles@pina.cat>
574
575 * commands/acpi.c: Gettextizze help strings and/or options. Include
576 `grub/i18n.h' if needed.
577 * commands/blocklist.c: Likewise.
578 * commands/boot.c: Likewise.
579 * commands/cat.c: Likewise.
580 * commands/cmp.c: Likewise.
581 * commands/configfile.c: Likewise.
582 * commands/crc.c: Likewise.
583 * commands/date.c: Likewise.
584 * commands/echo.c: Likewise.
585 * commands/efi/fixvideo.c: Likewise.
586 * commands/efi/loadbios.c: Likewise.
587 * commands/gptsync.c: Likewise.
588 * commands/halt.c: Likewise.
589 * commands/handler.c: Likewise.
590 * commands/hdparm.c: Likewise.
591 * commands/hexdump.c: Likewise.
592 * commands/i386/cpuid.c: Likewise.
593 * commands/i386/pc/drivemap.c: Likewise.
594 * commands/i386/pc/halt.c: Likewise.
595 * commands/i386/pc/pxecmd.c: Likewise.
596 * commands/i386/pc/vbeinfo.c: Likewise.
597 * commands/i386/pc/vbetest.c: Likewise.
598 * commands/ieee1275/suspend.c: Likewise.
599 * commands/keystatus.c: Likewise.
600 * commands/loadenv.c: Likewise.
601 * commands/ls.c: Likewise.
602 * commands/lsmmap.c: Likewise.
603 * commands/lspci.c: Likewise.
604 * commands/memrw.c: Likewise.
605 * commands/minicmd.c: Likewise.
606 * commands/parttool.c: Likewise.
607 * commands/password.c: Likewise.
608 * commands/probe.c: Likewise.
609 * commands/read.c: Likewise.
610 * commands/reboot.c: Likewise.
611 * commands/search.c: Likewise.
612 * commands/sleep.c: Likewise.
613 * commands/test.c: Likewise.
614 * commands/true.c: Likewise.
615 * commands/usbtest.c: Likewise.
616 * commands/videotest.c: Likewise.
617 * commands/xnu_uuid.c: Likewise.
618 * disk/loopback.c: Likewise.
619 * hello/hello.c: Likewise.
620 * loader/i386/bsd.c: Likewise.
621 * term/i386/pc/serial.c: Likewise.
622 * po/POTFILES: Add new files.
623
da8d5c53
CW
6242010-01-02 Colin Watson <cjwatson@ubuntu.com>
625
626 * term/i386/pc/at_keyboard.c
627 (keyboard_controller_wait_untill_ready): Rename to ...
628 (keyboard_controller_wait_until_ready): ... this. Update all users.
629
33937904 6302010-01-01 Carles Pina i Estany <carles@pina.cat>
631
632 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
633 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
634 string using string width.
635 * normal/menu_text.c (grub_print_message_indented): Use
636 grub_print_spaces and not print_spaces.
637 (print_timeout): Likewise.
638 (print_spaces): Move to...
639 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
640
3fd3b8d8
RM
6412010-01-01 Robert Millan <rmh.grub@aybabtu.com>
642
643 Import from Gnulib.
644
645 * gnulib/getdelim.c: New file.
646 * gnulib/getline.c: Likewise.
647
33433555
VS
6482009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
649
650 * include/grub/list.h (grub_assert_fail): Removed.
651 (grub_bad_type_cast_real): New function.
652 (grub_bad_type_cast): New macro.
653 (GRUB_AS_LIST): Use grub_bad_type_cast.
654 (GRUB_AS_LIST_P): Likewise.
e44721e8 655 (GRUB_AS_NAMED_LIST): Likewise.
33433555 656 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 657 (GRUB_AS_PRIO_LIST): Likewise.
33433555 658 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 659 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 660
f5a51306
VS
6612009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
664 Fix syntax error.
665
90d1e879
RM
6662009-12-29 Robert Millan <rmh.grub@aybabtu.com>
667
668 * configure.ac: Check for TARGET_CFLAGS initialization before we
669 initialize it ourselves (sigh).
670 Move a few modifications to TARGET_CFLAGS to be unconditional
671 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
672 eh_frame)
673
674 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
675 * term/i386/pc/at_keyboard.c
676 (keyboard_controller_wait_untill_ready): Likewise.
677 (keyboard_controller_led): Rename `led_status' paramter to avoid
678 name conflict.
679
465b5a81 6802009-12-28 Carles Pina i Estany <carles@pina.cat>
681
682 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
683 quotes.
684
c181849b
VS
6852009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
688
9c8739a4
VS
6892009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * normal/menu_text.c (grub_print_message_indented): Prevent
692 past-the-end-of-array dereference.
693
3e74249c
VS
6942009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
697 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
698
64fd18ed 6992009-12-27 Carles Pina i Estany <carles@pina.cat>
700
701 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
702 * normal/main.c (grub_normal_read_line): Remove a space from the
703 default prompt.
704
714af9b9 7052009-12-27 Carles Pina i Estany <carles@pina.cat>
706
707 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
708 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
709 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
710 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
711 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
712 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
713 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
714
82f3e412 7152009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 716
717 * video/readers/jpeg.c (cmd): Declare.
718 (grub_cmd_jpegtest): Use `grub_command_t' type.
719 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
720 Assign to `cmd'.
721 (GRUB_MOD_FINI): Use `cmd' to unregister.
722 * video/readers/png.c (cmd): Declare.
723 (grub_cmd_pngtest): Use `grub_command_t' type.
724 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
725 Assign to `cmd'.
726 (GRUB_MOD_FINI): Use `cmd' to unregister.
727 * video/readers/tga.c (cmd): Declare.
728 (grub_cmd_tgatest): Use `grub_command_t' type.
729 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
730 Assign to `cmd'.
731 (GRUB_MOD_FINI): Use `cmd' to unregister.
732
82f3e412 7332009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 734
735 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
736 stops.
737 * kern/corecmd.c (grub_register_core_commands): Likewise.
738 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
739 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
740 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
741 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
742 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
743 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
744 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
745 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
746 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
747 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
748 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
749 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
750 * normal/handler.c (insert_handler): Likewise.
751 * normal/main.c (GRUB_MOD_INIT): Likewise.
752 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
753
fdcdbb66 7542009-12-26 Carles Pina i Estany <carles@pina.cat>
755
756 * commands/help.c (grub_cmd_help): Print the command name before the
757 summary.
758 (GRUB_MOD_INIT): Remove command name from the summary.
759 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 760 string as summary.
fdcdbb66 761 * lib/arg.c (find_long): Print the command name before the summary.
762 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
763 summary.
764 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
765 * commands/cat.c (GRUB_MOD_INIT): Likewise.
766 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
767 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
768 * commands/crc.c (GRUB_MOD_INIT): Likewise.
769 * commands/date.c (GRUB_MOD_INIT): Likewise.
770 * commands/echo.c (GRUB_MOD_INIT): Likewise.
771 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
772 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
773 * commands/handler.c (GRUB_MOD_INIT): Likewise.
774 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
775 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
776 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
777 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
778 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
779 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
780 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
781 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
782 * commands/ls.c (GRUB_MOD_INIT): Likewise.
783 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
784 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
785 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
786 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
787 * commands/password.c (GRUB_MOD_INIT): Likewise.
788 * commands/probe.c (GRUB_MOD_INIT): Likewise.
789 * commands/read.c (GRUB_MOD_INIT): Likewise.
790 * commands/search.c (GRUB_MOD_INIT): Likewise.
791 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
792 * commands/test.c (GRUB_MOD_INIT): Likewise.
793 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
794 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
795 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
796 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
797 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
798 * lib/arg.c (GRUB_MOD_INIT): Likewise.
799 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
800 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
801 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
802 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
803 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
804 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
805 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
806 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
807
9c288be2
VS
8082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
809
810 Use search command for preliminar UUID search.
811
812 * commands/search.c: Split into ...
813 * commands/search_wrap.c: ...this
814 * commands/search.c: ...and this.
815 * commands/search_file.c: New file.
816 * commands/search_label.c: New file.
817 * commands/search_uuid.c: New file.
818 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
819 Add commands/search_wrap.c, commands/search_file.c,
820 commands/search_label.c and commands/search_uuid.c.
821 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
822 (search_mod_SOURCES): Set to commands/search_wrap.c.
823 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
824 search_label.mod.
825 (search_fs_file_mod_SOURCES): New variable.
826 (search_fs_file_mod_CFLAGS): Likewise.
827 (search_fs_file_mod_LDFLAGS): Likewise.
828 (search_label_mod_SOURCES): Likewise.
829 (search_label_mod_CFLAGS): Likewise.
830 (search_label_mod_LDFLAGS): Likewise.
831 (search_fs_uuid_mod_SOURCES): New variable.
832 (search_fs_uuid_mod_CFLAGS): Likewise.
833 (search_fs_uuid_mod_LDFLAGS): Likewise.
834 (fs_file_mod_SOURCES): Removed.
835 (fs_file_mod_CFLAGS): Likewise.
836 (fs_file_mod_LDFLAGS): Likewise.
837 (fs_uuid_mod_SOURCES): Removed.
838 (fs_uuid_mod_CFLAGS): Likewise.
839 (fs_uuid_mod_LDFLAGS): Likewise.
840 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
841 Set to util/grub-install.in.
842 * disk/fs_file.c: Removed.
843 * disk/fs_uuid.c: Likewise.
844 * include/grub/search.h: New file.
845 * util/grub-install.in: Handle sparc64.
846 Create and use load.cfg.
847 * util/sparc64/ieee1275/grub-install.in: Removed.
848
db943399
VS
8492009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
852 Ignore return status if CF is cleared.
853 (grub_biosdisk_get_diskinfo_standard): Likewise.
854
3fdae612
RM
8552009-12-25 Robert Millan <rmh.grub@aybabtu.com>
856
857 * term/i386/pc/at_keyboard.c
858 (keyboard_controller_wait_untill_ready): New function.
859 (grub_keyboard_controller_write, grub_keyboard_controller_read)
860 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
861 for keyboard polling, rather than duplicate the same loop. This
862 saves a few bytes in code size.
863
7ebaa2b4
VS
8642009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Support for (pxe[:server[:gateway]]) syntax and
867 use environment variable for PXE.
868
869 * commands/i386/pc/pxecmd.c (options): Removed.
870 (print_ip): Removed.
871 (grub_cmd_pxe): Removed
872 (grub_cmd_pxe_unload): New function.
873 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
874 (grub_pxe_your_ip): Made static.
875 (grub_pxe_default_server_ip): Likewise.
876 (grub_pxe_default_gateway_ip): Likewise.
877 (grub_pxe_blksize): Likewise.
878 (parse_ip): New function.
879 (grub_pxe_open): Support server and gateway specification.
880 (grub_pxe_close): Free disk->data.
881 (grub_pxefs_open): Use disk->data.
882 (grub_pxefs_read): Likewise.
883 (grub_env_write_readonly): New function.
884 (set_mac_env): Likewise.
885 (set_env_limn_ro): Likewise.
886 (parse_dhcp_vendor): Likewise.
887 (grub_pxe_detect): Set the environment variables.
888 (set_ip_env): New function.
889 (write_ip_env): Likewise.
890 (grub_env_write_pxe_default_server): Likewise.
891 (grub_env_write_pxe_default_gateway): Likewise.
892 (grub_env_write_pxe_blocksize): Likewise.
893 (GRUB_MOD_INIT(pxe)): Set environment variables.
894 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
895 (grub_pxe_mac_addr_t): ... this. All users updated.
896 (grub_pxe_your_ip): Removed.
897 (grub_pxe_server_ip): Likewise.
898 (grub_pxe_gateway_ip): Likewise.
899 (grub_pxe_blksize): Likewise.
900
ec5f98ab 9012009-12-25 Carles Pina i Estany <carles@pina.cat>
902
903 * commands/help.c: Include `<grub/i18n.h>'.
904 (grub_cmd_help): Gettextizze.
905 (GRUB_MOD_INIT): Likewise.
906 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
907 (GRUB_MOD_INIT): Gettextizze.
908 * commands/search.c: Include `<grub/i18n.h>'.
909 (options): Gettextizze.
910 (GRUB_MOD_INIT): Gettextizze.
911 * lib/arg.c: Include `<grub/i18n.h>'.
912 (help_options): Gettextizze.
913 (find_long): Likewise.
914 (grub_arg_show_help): Likewise.
915 * normal/dyncmd.c: Include `<grub/i18n.h>'.
916 (read_command_list): Gettextizze.
917 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 918 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 919
22815526
RM
9202009-12-25 Robert Millan <rmh.grub@aybabtu.com>
921
922 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
923 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
924 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
925 (led_status): New variable.
926 (keyboard_controller_led): New function.
927 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
928 update led status for caps lock, num lock and scroll lock.
929
0ad46fd7
FZ
9302009-12-25 Felix Zielcke <fzielcke@z-51.de>
931
932 * util/hostdisk.c (open_device): Fix a comment.
933
d0e158c2
RM
9342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
935
936 * util/grub-install.in (host_os): New variable.
937 * util/i386/efi/grub-install.in (host_os): Likewise.
938
401c0ad6
RM
9392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
940
941 * util/mkisofs/write.c (padblock_write): Abort when given an
942 excedingly large embed image, instead of silently truncating it.
943
d14d3370
RM
9442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
945
946 * include/multiboot.h: Indentation fixes.
947
eeed10b4
RM
9482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
949
950 * include/multiboot.h (struct multiboot_aout_symbol_table)
951 (struct multiboot_elf_section_header_table): New structure
952 declarations (stolen from GRUB Legacy).
953 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
954 table information.
955
956 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
957 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
958 type aliases.
959
681c70ab
RM
9602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
961
962 * include/multiboot.h: Make comments src2texi-friendly.
963
e4d47d8d
RM
9642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
965
966 For consistency with [multiboot]/docs/boot.S.
967
968 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
969 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
970 (MULTIBOOT_MAGIC2): Rename from this ...
971 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
972
a0b70bda
RM
9732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
974
975 * include/multiboot.h: Remove `<grub/types.h>'.
976 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
977 types. Update all users.
978
61ba42be 9792009-12-25 Carles Pina i Estany <carles@pina.cat>
980
981 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
982 `couldn't' and `can not' by `cannot'.
983 * commands/i386/pc/drivemap.c: Likewise.
984 * disk/ata.c: Likewise.
985 * disk/ieee1275/nand.c: Likewise.
986 * fs/affs.c: Likewise.
987 * fs/fat.c: Likewise.
988 * fs/hfs.c: Likewise.
989 * fs/hfsplus.c: Likewise.
990 * fs/iso9660.c: Likewise.
991 * fs/jfs.c: Likewise.
992 * fs/minix.c: Likewise.
993 * fs/reiserfs.c: Likewise.
994 * fs/sfs.c: Likewise.
995 * fs/udf.c: Likewise.
996 * fs/ufs.c: Likewise.
997 * fs/xfs.c: Likewise.
998 * loader/powerpc/ieee1275/linux.c: Likewise.
999 * loader/sparc64/ieee1275/linux.c: Likewise.
1000 * util/grub-probe.c: Likewise.
1001 * util/misc.c: Likewise.
1002
7fd0baee 10032009-12-24 Carles Pina i Estany <carles@pina.cat>
1004
1005 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1006 grub_errno calls.
1007 * commands/acpi.c: Likewise.
1008 * commands/blocklist.c: Likewise.
1009 * commands/efi/loadbios.c: Likewise.
1010 * commands/i386/pc/drivemap.c: Likewise.
1011 * commands/loadenv.c: Likewise.
1012 * commands/memrw.c: Likewise.
1013 * commands/password.c: Likewise.
1014 * commands/videotest.c: Likewise.
1015 * disk/ata.c: Likewise.
1016 * disk/ata_pthru.c: Likewise.
1017 * disk/dmraid_nvidia.c: Likewise.
1018 * disk/ieee1275/nand.c: Likewise.
1019 * disk/ieee1275/ofdisk.c: Likewise.
1020 * disk/loopback.c: Likewise.
1021 * disk/lvm.c: Likewise.
1022 * disk/mdraid_linux.c: Likewise.
1023 * disk/raid.c: Likewise.
1024 * disk/raid6_recover.c: Likewise.
1025 * disk/scsi.c: Likewise.
1026 * efiemu/main.c: Likewise.
1027 * efiemu/mm.c: Likewise.
1028 * efiemu/pnvram.c: Likewise.
1029 * efiemu/symbols.c: Likewise.
1030 * font/font.c: Likewise.
1031 * fs/cpio.c: Likewise.
1032 * fs/hfsplus.c: Likewise.
1033 * fs/iso9660.c: Likewise.
1034 * fs/jfs.c: Likewise.
1035 * fs/minix.c: Likewise.
1036 * fs/ntfs.c: Likewise.
1037 * fs/ntfscomp.c: Likewise.
1038 * fs/reiserfs.c: Likewise.
1039 * fs/ufs.c: Likewise.
1040 * fs/xfs.c: Likewise.
1041 * gettext/gettext.c: Likewise.
1042 * include/grub/auth.h: Likewise.
1043 * kern/elf.c: Likewise.
1044 * kern/file.c: Likewise.
1045 * kern/ieee1275/init.c: Likewise.
1046 * kern/ieee1275/mmap.c: Likewise.
1047 * kern/ieee1275/openfw.c: Likewise.
1048 * kern/powerpc/dl.c: Likewise.
1049 * kern/sparc64/dl.c: Likewise.
1050 * lib/arg.c: Likewise.
1051 * loader/i386/bsd.c: Likewise.
1052 * loader/i386/bsdXX.c: Likewise.
1053 * loader/i386/efi/linux.c: Likewise.
1054 * loader/i386/efi/xnu.c: Likewise.
1055 * loader/i386/ieee1275/linux.c: Likewise.
1056 * loader/i386/linux.c: Likewise.
1057 * loader/i386/multiboot.c: Likewise.
1058 * loader/i386/pc/linux.c: Likewise.
1059 * loader/i386/pc/multiboot2.c: Likewise.
1060 * loader/i386/xnu.c: Likewise.
1061 * loader/ieee1275/multiboot2.c: Likewise.
1062 * loader/macho.c: Likewise.
1063 * loader/machoXX.c: Likewise.
1064 * loader/multiboot2.c: Likewise.
1065 * loader/multiboot_loader.c: Likewise.
1066 * loader/powerpc/ieee1275/linux.c: Likewise.
1067 * loader/sparc64/ieee1275/linux.c: Likewise.
1068 * loader/xnu.c: Likewise.
1069 * loader/xnu_resume.c: Likewise.
1070 * mmap/i386/pc/mmap.c: Likewise.
1071 * normal/menu_viewer.c: Likewise.
1072 * partmap/acorn.c: Likewise.
1073 * partmap/amiga.c: Likewise.
1074 * partmap/apple.c: Likewise.
1075 * script/lexer.c: Likewise.
1076 * term/gfxterm.c: Likewise.
1077 * term/i386/pc/serial.c: Likewise.
1078 * term/i386/pc/vga.c: Likewise.
1079 * term/ieee1275/ofconsole.c: Likewise.
1080 * term/terminfo.c: Likewise.
1081 * video/bitmap.c: Likewise.
1082 * video/efi_gop.c: Likewise.
1083 * video/efi_uga.c: Likewise.
1084 * video/fb/video_fb.c: Likewise.
1085 * video/i386/pc/vbe.c: Likewise.
1086 * video/readers/tga.c: Likewise.
1087 * video/video.c: Likewise.
1088
0ad46fd7 10892009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
1090
1091 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
1092 * commands/lspci.c: Likewise.
1093 * commands/probe.c: Likewise.
1094 * commands/xnu_uuid.c: Likewise.
1095 * conf/i386-coreboot.rmk: Likewise.
1096 * conf/i386-efi.rmk: Likewise.
1097 * conf/i386-ieee1275.rmk: Likewise.
1098 * conf/i386-pc.rmk: Likewise.
1099 * conf/powerpc-ieee1275.rmk: Likewise.
1100 * conf/sparc64-ieee1275.rmk: Likewise.
1101 * conf/x86_64-efi.rmk: Likewise.
1102 * fs/i386/pc/pxe.c: Likewise.
1103 * gettext/gettext.c: Likewise.
1104 * include/grub/efi/graphics_output.h: Likewise.
1105 * include/grub/i386/pc/memory.h: Likewise.
1106 * kern/env.c: Likewise.
1107 * kern/i386/qemu/startup.S: Likewise.
1108 * lib/i386/pc/biosnum.c: Likewise.
1109 * lib/i386/relocator.c: Likewise.
1110 * lib/i386/relocator_asm.S: Likewise.
1111 * lib/relocator.c: Likewise.
1112 * loader/i386/bsd.c: Likewise.
1113 * loader/i386/multiboot.c: Likewise.
1114 * loader/i386/pc/chainloader.c: Likewise.
1115 * loader/i386/xnu.c: Likewise.
1116 * loader/xnu.c: Likewise.
1117 * normal/main.c: Likewise.
1118 * normal/menu_text.c: Likewise.
1119 * util/getroot.c: Likewise.
1120 * util/grub-mkconfig_lib.in: Likewise.
1121 * util/grub.d/00_header.in: Likewise.
1122 * util/i386/pc/grub-mkimage.c: Likewise.
1123 * util/mkisofs/eltorito.c: Likewise.
1124 * util/mkisofs/exclude.h: Likewise.
1125 * util/mkisofs/hash.c: Likewise.
1126 * util/mkisofs/iso9660.h: Likewise.
1127 * util/mkisofs/joliet.c: Likewise.
1128 * util/mkisofs/mkisofs.c: Likewise.
1129 * util/mkisofs/mkisofs.h: Likewise.
1130 * util/mkisofs/multi.c: Likewise.
1131 * util/mkisofs/name.c: Likewise.
1132 * util/mkisofs/rock.c: Likewise.
1133 * util/mkisofs/tree.c: Likewise.
1134 * util/mkisofs/write.c: Likewise.
1135 * video/efi_gop.c: Likewise.
1136
009ec743
VS
11372009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
1140 size counting.
1141
0ad46fd7 11422009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
1143
1144 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
1145 * genmk.rb (class SCRIPT): Modify the target file instead of source.
1146
d3d30ea0
VS
11472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
1150 (GRUB_MOD_INIT(memrw)): Update help line.
1151
a34f5c70
VS
11522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
1155 Use grub_extcmd_t. All users updated.
1156 (options): New variable.
1157 (grub_cmd_read): Restructure for readability. Support "-v" option.
1158 (grub_cmd_write): Restructure for readability.
1159
0ad46fd7 11602009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
1161
1162 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
1163
0ad46fd7 11642009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
1165
1166 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
1167 with the actual contents of the correspondending make variable.
1168 * util/grub-mkrescue.in (pkglib_DATA): New variable.
1169 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
1170 specifying `*.lst' and `efiemu??.o'
1171
0ad46fd7 11722009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
1173
1174 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
1175 after function name.
1176 Noticed by Rene Engelhard <rene@debian.org>.
1177
dc77a799
VS
11782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
1181 (options): New variable.
1182 (iospace): Likewise.
1183 (grub_lspci_iter): List IO spaces if "-i" was given.
1184 (grub_cmd_lspci): Parse options.
1185 (GRUB_MOD_INIT(lspci)): Use extcmd.
1186 (GRUB_MOD_FINI(lspci)): Likewise.
1187
0ad46fd7 11882009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
1189
1190 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
1191 `function' keyword.
1192 Patch by Tony Mancill <tmancill@debian.org>.
1193
b5d5993b
VS
11942009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
1197 (grub_uhci_portstatus): Likewise.
1198 (grub_uhci_portstatus): Add necessary delay.
11d18281 1199 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 1200
941903f2 12012009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 1202
941903f2 1203 * commands/acpi.c (options): Fix capitalizations and/or full stops.
1204 (GRUB_MOD_INIT): Likewise.
1205 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 1206 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
1207 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 1208 * commands/efi/loadbios.c (enable_rom_area): Likewise.
1209 (enable_rom_area): Likewise.
1210 (GRUB_MOD_INIT): Likewise.
1211 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1212 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
1213 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1214 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
1215 * commands/hexdump.c (options): Likewise.
1216 * commands/i386/cpuid.c (options): Likewise.
1217 (GRUB_MOD_INIT): Likewise.
1218 * commands/i386/pc/drivemap.c (options): Likewise.
1219 (GRUB_MOD_INIT): Likewise.
1220 * commands/i386/pc/halt (options): Likewise.
1221 (GRUB_MOD_INIT): Likewise.
1222 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1223 * commands/i386/pc/pxecmd.c (options): Likewise.
1224 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
1225 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
1226 * commands/keystatus.c (options): Likewise.
1227 (GRUB_MOD_INIT): Likewise.
1228 * commands/loadenv.c (options): Likewise.
1229 * commands/ls.c (options): Likewise.
1230 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1231 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1232 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1233 * commands/parttool.c (helpmsg): Likewise.
1234 * commands/probe.c (options): Likewise.
1235 * commands/read.c (GRUB_MOD_INIT): Likewise.
1236 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
1237 * commands/search.c (options): Likewise.
1238 * commands/sleep.c (options): Likewise.
1239 * commands/test.c (GRUB_MOD_INIT): Likewise.
1240 * commands/true.c (GRUB_MOD_INIT): Likewise.
1241 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
1242 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
1243 * lib/arg.c (help_options): Likewise.
e9bbb4e7 1244 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
1245 `$(XGETTEXT)'.
98a50553 1246 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 1247
0ad46fd7 12482009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 1249
ef3c2c3a 1250 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
1251 instead of specifying them explicit.
1252
7922f68b
RM
12532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1254
1255 * NEWS: Add grub-probe support for GNU/Hurd.
1256
537ce47f
RM
12572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1258
1259 * NEWS: gettext was added after 1.97.
1260
9b214e3a
RM
12612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1262
1263 * util/mkisofs/msdos_partition.h: New file (based on
1264 include/grub/msdos_partition.h).
1265 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
1266 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
1267 (ld_options, main): Recognize --protective-msdos-label.
1268 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
1269 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
1270 (padblock_write): If `use_protective_msdos_label' is set, patch a
1271 protective DOS-style label in the output image.
1272
1273 * util/grub-mkrescue.in: Use --protective-msdos-label.
1274
e9309813
RM
12752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1276
1277 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
1278 boot.
1279
0ae56929
RM
12802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1281
1282 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
1283 variables.
1284 (ld_options, main): Recognize `--embedded-boot'.
1285 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
1286 declarations.
1287 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
1288 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
1289 (padblock_write): Likewise. Rewrite to support embedded boot image.
1290
1291 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
1292 for BIOS-based disk boot instead of only ElTorito.
1293
b15937b1
RM
12942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1295
1296 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
1297 build (not needed for bootstrap).
1298
52cc3ce0
RM
12992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1300
1301 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
1302 from i386-pc build (not needed for bootstrap).
1303 Rewrite a pair of strings.
1304
36f5ff04
RM
13052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1306
1307 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
1308
973c6c85 13092009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
1310
1311 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
1312
05d21547
AB
13132009-12-21 Andreas Born <futur.andy@googlemail.com>
1314
1315 * kern/env.c (grub_env_context_open): Mark exported variable for
1316 reexport.
1317
0175d51f
AB
13182009-12-21 Andreas Born <futur.andy@googlemail.com>
1319
1320 * kern/env.c (grub_env_export): Create nonexistent variables before
1321 exporting.
1322
7f39d92f 13232009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 1324
7f39d92f 1325 * include/grub/auth.h: Include `<grub/i18n.h>'.
1326 (GRUB_GET_PASSWORD): Gettextizze string.
1327 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
1328 menu_text.c.
1329 (grub_utf8_to_ucs4_alloc): Fix indentation.
1330 (grub_print_ucs4): Likewise.
1331 (grub_getstringwidth): Likewise.
1332 (print_message_indented): New declaration.
1333 * normal/auth.c: Include `<grub/i18n.h>'.
1334 (grub_auth_check_authentication): Gettexttize string.
1335 * normal/cmdline.c: Include `<grub/i18n.h>'.
1336 (grub_cmdline_get): Gettextizze.
1337 * normal/color.c: Include `<grub/i18n.h>'.
1338 (grub_parse_color_name_pair): Gettexttize strings.
1339 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
1340 string (use `print_message_indented').
1341 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
1342 `include/grub/normal.h'.
1343 (print_message_indented): Renamed to ...
1344 (grub_print_message_indented): ... this. Remove `static' qualifer (now
1345 used in normal/main.c).
1346 (print_message): Use `grub_print_message_indented' instead of
1347 `print_message_indented'.
1348 (print_timeout): Likewise.
1349 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
1350 (grub_normal_print_device_info): Gettexttize strings.
1351 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
1352
3041d898
VS
13532009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
1356 of arguments. Return number of tokens and not arguments. All users
1357 updated.
1358
de15bf8e
VS
13592009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
1362 non-MSDOS paritions.
1363
e0a6ca52
VS
13642009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * include/grub/types.h (UNUSED): Removed since it conflicts with
1367 NetBSD headers. All users changed to direct __attribute__ ((unused)).
1368 Reported by Grégoire Sutre.
1369
b99518d1 13702009-12-19 Carles Pina i Estany <carles@pina.cat>
1371
1372 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
1373 (grub_print_ucs4_alloc): Likewise.
1374 (grub_getstringwidth): Likewise.
1375 * normal/main.c (grub_normal_init_page): Gettextize version string.
1376 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
1377 (getstringwidth): Renamed to ...
1378 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
1379 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
1380 (grub_print_ucs4): Remove `static' qualifer (now used in
1381 normal/main.c).
1382 * po/POTFILES: Add normal/main.c.
1383
bfd5e52b 13842009-12-19 Carles Pina i Estany <carles@pina.cat>
1385
1386 * normal/menu_text.c (STANDARD_MARGIN): New macro.
1387 (print_message_indented): Add `margin_left' and `margin_right'
1388 parameters.
1389 (print_message): Update `print_message_indented' calls. Adds '\n' to the
1390 strings.
1391 (print_timeout): Use `print_message_indented' to print the message.
1392 Deletes `second_stage' parameter.
1393 (run_menu): Update `print_timeout' calls.
1394
5a1ad2b9
VS
13952009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Fix console palette on OpenFirmware.
1398
1399 * term/ieee1275/ofconsole.c (MAX): Removed.
1400 (colors): Redone based on VGA palette.
1401 (grub_ofconsole_setcolor): Discard brightness bit since only 8
1402 colors are supported.
1403 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
1404
b045f00a
VS
14052009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Fix potential EfiEmu double prepare.
1408
1409 * efiemu/main.c (prepared): New variable
1410 (grub_efiemu_unload): Set prepare to '0'.
1411 (grub_efiemu_prepare): Return if already prepared. Set prepared.
1412
1413 set_virtual_address_map support.
1414
1415 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
1416 prototype.
1417 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
1418 prototype.
1419 (grub_efiemu_crc32): Likewise.
1420 (grub_efiemu_crc64): Likewise.
1421 (grub_efiemu_set_virtual_address_map): Likewise.
1422 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
1423 New definition.
1424 (grub_autoefi_set_virtual_address_map): Likewise.
1425 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
1426 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
1427 Restructure flow to accomodate it.
1428 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
1429 (grub_efiemu_crc): Recompute CRC32.
1430 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
1431 (efiemu_ptv_relocated): ... this. Made global. All users updated.
1432 * efiemu/symbols.c (relocated_handle): New variable.
1433 (grub_efiemu_free_syms): Free relocated_handle.
1434 (grub_efiemu_alloc_syms): Allocate relocated_handle.
1435 (grub_efiemu_write_sym_markers): New function.
1436 (grub_efiemu_set_virtual_address_map): Likewise.
1437
1438 Newer XNU parameters.
1439
1440 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
1441 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
1442 (grub_xnu_fill_devicetree): New prototype.
1443 (grub_xnu_heap_real_start): New variable.
1444 * loader/xnu.c (get_name_ptr): New function.
1445 (grub_xnu_load_driver): Fill namelen and name.
1446
1447 64-bit xnu support.
1448
1449 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
1450 and 'loader/macho64.c'.
1451 * conf/i386-pc.rmk: Likewise.
1452 * conf/x86_64-efi.rmk: Likewise.
1453 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
1454 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
1455 * include/grub/macho.h (grub_macho_segment64): New structure.
1456 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
1457 (grub_macho_size32): ... to this.
1458 (grub_macho32_get_entry_point): Renamed from ...
1459 (grub_macho_get_entry_point32): ... to this.
1460 (grub_macho_contains_macho64): New prototype.
1461 (grub_macho_size64): Likewise.
1462 (grub_macho_get_entry_point64): Likewise.
1463 (grub_macho32_load): Renamed from ...
1464 (grub_macho_load32): ... to this.
1465 (grub_macho32_filesize): Renamed from ...
1466 (grub_macho_filesize32): ... to this.
1467 (grub_macho32_readfile): Renamed from ...
1468 (grub_macho_readfile32): ... to this.
1469 (grub_macho_filesize64): New prototype.
1470 (grub_macho_readfile64): Likewise.
1471 (grub_macho_parse32): Likewise.
1472 (grub_macho_parse64): Likewise.
1473 * loader/macho.c: Split into ...
1474 * loader/machoXX.c: ... and this. Replace 32 with XX.
1475 * loader/macho32.c: New file.
1476 * loader/macho64.c: Likewise.
1477 * loader/xnu.c (grub_xnu_is_64bit): New variable.
1478 (grub_cmd_xnu_kernel): Make 32-bit only.
1479 (grub_cmd_xnu_kernel64): New function.
1480 (grub_xnu_load_driver): Support Mach-O 64.
1481 (grub_cmd_xnu_mkext): Likewise.
1482 * util/grub.d/30_os-prober.in (osx_entry): New function.
1483 Generate entries for 64-bit boot too.
1484
1485 Eliminate ad-hoc tree format in XNU and EfiEmu.
1486
1487 * efiemu/main.c (grub_efiemu_prepare): Update comment.
1488 * efiemu/pnvram.c: Rewritten to use environment variables.
1489 All users updated.
1490
1491 Inline utf16_to_utf8.
1492
1493 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
1494 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
1495 All users updated.
1496 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
1497
1498 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
1499 * commands/usbtest.c (grub_usb_get_string): ... move here.
1500 (usb_print_str): Fix error handling.
1501 * include/grub/usb.h (grub_usb_get_string): Remove.
1502
1503 UTF-8 to UTF-16 transformation.
1504
1505 * conf/common.rmk (pkglib_MODULES): Add charset.mod
1506 (charset_mod_SOURCES): New variable.
1507 (charset_mod_CFLAGS): Likewise.
1508 (charset_mod_LDFLAGS): Likewise.
1509 * include/grub/utf.h: New file.
1510 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
1511
1512 Support for device properties.
1513
1514 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
1515 (grub_xnu_devprop_device_header): Likewise.
1516 (grub_xnu_devprop_device_descriptor): Likewise.
1517 (grub_xnu_devprop_add_device): New prototype.
1518 (grub_xnu_devprop_remove_device): Likewise.
1519 (grub_xnu_devprop_remove_property): Likewise.
1520 (grub_xnu_devprop_add_property_utf8): Likewise.
1521 (grub_xnu_devprop_add_property_utf16): Likewise.
1522 (grub_cpu_xnu_init): Likewise.
1523 (grub_cpu_xnu_fini): Likewise.
1524 (grub_cpu_xnu_unload): Likewise.
1525 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
1526 (property_descriptor): Likewise.
1527 (devices): New variable.
1528 (grub_xnu_devprop_remove_property): New function.
1529 (grub_xnu_devprop_add_device): Likewise.
1530 (grub_xnu_devprop_remove_device): Likewise.
1531 (grub_xnu_devprop_add_property): Likewise.
1532 (grub_xnu_devprop_add_property_utf8): Likewise.
1533 (grub_xnu_devprop_add_property_utf16): Likewise.
1534 (hextoval): Likewise.
1535 (grub_cpu_xnu_fill_devprop): Likewise.
1536 (grub_cmd_devprop_load): Likewise.
1537 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
1538 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
1539 (cmd_devprop_load): New variable.
1540 (grub_cpu_xnu_init): New function.
1541 (grub_cpu_xnu_fini): Likewise.
1542 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
1543 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
1544 (grub_cmd_xnu_devtree): Likewise.
1545 (hextoval): New function.
1546 (unescape): Likewise.
1547 (grub_xnu_fill_devicetree): Likewise.
1548
1549 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
1550 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
1551
0945f181
VS
15522009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 Workaround for broken ATI VBE.
1555
1556 * video/i386/pc/vbe.c (last_set_mode): New variable.
1557 (grub_vbe_set_video_mode): Set 'last_set_mode'.
1558 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
1559 (grub_video_vbe_setup): Don't check for reserved flag.
1560
0ad46fd7 15612009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
1562
1563 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
1564 the `find' command.
1565
c179ebe4
VS
15662009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 UUID support for HFS.
1569
1570 * fs/hfs.c (grub_hfs_uuid): New function.
1571 (grub_hfs_fs): New value .uuid.
1572 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
1573
0ad46fd7 15742009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
1575
1576 Fix a segfault with parsing unknown long options.
1577
1578 * util/grub-mkrelpath.c (options): Zero terminate it.
1579
c4a3e41a
CPE
15802009-12-13 Carles Pina i Estany <carles@pina.cat>
1581
1582 * include/grub/misc.h (grub_puts): New declaration.
1583 (grub_puts_): Likewise.
a22008a6 1584 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
1585 (grub_puts_): Likewise.
1586
2e8a7602
RM
15872009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1588
1589 * util/grub-probe.c (probe): Improve error message.
1590
b50b77b9
RM
15912009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1592
1593 * loader/i386/multiboot_elfxx.c
1594 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
1595 initialization.
1596
15972009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 Relocator framework
1600
1601 * loader/i386/xnu_helper.S: Removed. All users updated.
1602 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
1603 (relocator_mod_SOURCES): New variable.
1604 (relocator_mod_CFLAGS): Likewise.
1605 (relocator_mod_LDFLAGS): Likewise.
1606 (relocator_mod_ASFLAGS): Likewise.
1607 * conf/x86_64.rmk: Likewise.
1608 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
1609 (grub_multiboot_payload_entry_offset): Likewise.
1610 (grub_multiboot_forward_relocator): Likewise.
1611 (grub_multiboot_forward_relocator_end): Likewise.
1612 (grub_multiboot_backward_relocator): Likewise.
1613 (grub_multiboot_backward_relocator_end): Likewise.
1614 (grub_multiboot_payload_eip): New variable.
1615 (grub_multiboot_payload_orig): Likewise.
1616 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
1617 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
1618 * include/grub/i386/memory.h
1619 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
1620 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
1621 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
1622 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
1623 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
1624 * include/grub/i386/relocator.h: New file.
1625 * include/grub/x86_64/relocator.h: Likewise.
1626 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
1627 (XNU_RELOCATOR): New macro.
1628 (grub_xnu_launcher_start): Remove.
1629 (grub_xnu_launcher_end): Likewise.
1630 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
1631 (grub_xnu_heap_real_start): Remove.
1632 (grub_xnu_heap_start): Change to void *. All users updated.
1633 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
1634 * lib/i386/relocator.c: New file.
1635 * lib/i386/relocator_asm.S: Likewise.
1636 * lib/i386/relocator_backward.S: Likewise.
1637 * lib/mips/relocator.c: Likewise.
1638 * lib/mips/relocator_asm.S: Likewise.
1639 * lib/relocator.c: Likewise.
1640 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
1641 (entry): Removed.
1642 (playground): Likewise.
1643 (grub_multiboot_payload_orig): New variable.
1644 (grub_multiboot_payload_dest): Likewise.
1645 (grub_multiboot_payload_size): Likewise.
1646 (grub_multiboot_payload_eip): Likewise.
1647 (grub_multiboot_payload_esp): Likewise.
1648 (grub_multiboot_boot): Use grub_relocator32_boot.
1649 (grub_multiboot_unload): Free relocators.
1650 (grub_multiboot): Setup stack. Use relocators.
1651 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
1652 (grub_multiboot_load_elfXX): Use relocators.
1653 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
1654 (grub_multiboot_payload_size): Likewise.
1655 (grub_multiboot_payload_dest): Likewise.
1656 (grub_multiboot_payload_entry_offset): Likewise.
1657 (grub_multiboot_forward_relocator): Likewise.
1658 (grub_multiboot_backward_relocator): Likewise.
1659 (grub_multiboot_real_boot): Likewise.
1660 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
1661 (grub_xnu_entry_point): Likewise.
1662 (grub_xnu_arg1): Likewise.
1663 (grub_xnu_stack): Likewise.
1664 (grub_xnu_launch): Removed.
1665 (grub_xnu_boot_resume): New function.
1666 (grub_xnu_boot): Use relocators.
1667 * loader/i386/xnu_helper.S: Removed.
1668 * loader/xnu.c (grub_xnu_heap_start): New variable.
1669 (grub_xnu_heap_size): Likewise.
1670 (grub_xnu_heap_malloc): Use relocators.
1671 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
1672
29eb90c6
VS
16732009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
1676 anything.
1677
31027430
CPE
16782009-12-13 Carles Pina i Estany <carles@pina.cat>
1679
1680 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
1681 GRUB_ERR_NONE before calling grub_env_set.
1682
dc0c71d9
RM
16832009-12-12 Robert Millan <rmh@aybabtu.com>
1684
1685 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
1686 * genmk.rb (video): New variable.
1687 (CLEANFILES, VIDEOFILES): Add #{video}.
1688 (#{video}): New target rule.
1689 * genvideolist.sh: New file.
1690 * Makefile.in (pkglib_DATA): Add video.lst.
1691 (video.lst): New target rule.
1692 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
1693 `video.lst'.
1694 * util/grub.d/30_os-prober.in: Replace `vbe' with
1695 ${GRUB_VIDEO_BACKEND}.
1696
2a4bfcf0
RM
16972009-12-11 Robert Millan <rmh.grub@aybabtu.com>
1698
1699 * THANKS: Add David Miller.
1700
2a3aa4d5
RM
17012009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 libpciaccess support.
1704
1705 * Makefile.in (LIBPCIACCESS): New variable.
1706 (enable_grub_emu_pci): Likewise.
1707 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
1708 util/pci.c and commands/lspci.c.
1709 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
1710 * configure.ac (grub-emu-pci): New option.
1711 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
1712 (grub_pci_device_unmap_range): Likewise.
1713 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
1714 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
1715 (grub_pci_address_t) [!GRUB_UTIL]: New type.
1716 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
1717 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
1718 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
1719 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
1720 * include/grub/pciutils.h: New file.
1721 * util/pci.c: Likewise.
1722
0ad46fd7 17232009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
1724
1725 * util/misc.c: Don't include <errno.h> twice.
1726
0ad46fd7 17272009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
1728
1729 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
1730 name in an error message.
1731 (grub_biosdisk_rw): Likewise.
1732
2e59983c
VS
17332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Eliminate NTFS 4Gib barrier.
1736
1737 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
1738 (read_run_data): Likewise.
1739 (grub_ntfs_read_run_list): Likewise.
1740 (grub_ntfs_read_block): Likewise.
1741 (grub_ntfs_iterate_dir): Likewise.
1742 (read_mft): Likewise.
1743 (read_data): Likewise.
1744 Use COM_LOG_LEN.
1745 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
1746 to avoid 64-bit division
1747 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
1748 (grub_ntfs_rlst): Use grub_disk_addr_t.
1749
71ee178a
VS
17502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Eliminate grub-fstest 4Gib barrier.
1753
1754 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
1755 (read_file): Fix error reporting.
1756
2520d4b8
VS
17572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Eliminate hexdump 4Gib barrier.
1760
1761 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
1762 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
1763
e1f27065
VS
17642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
1767 Fixes amarsh bug.
1768
1a0f7f45
RM
17692009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
1770
1771 Remove miscellaneous files in distclean target.
1772
1773 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
1774
c631d9fb
CW
17752009-12-09 Colin Watson <cjwatson@ubuntu.com>
1776
1777 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
1778 if they're already set. This resolves the conflict between my
1779 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
1780 fixing the --grub-probe option again.
1781 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
1782 change on 2009-10-06, so that we now once again source
1783 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1784
7c7b6106
RM
17852009-12-08 Robert Millan <rmh.grub@aybabtu.com>
1786
1787 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
1788 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
1789 `util/devicemap.c'.
1790
e3069ec1
CPE
17912009-12-08 Carles Pina i Estany <carles@pina.cat>
1792
1793 * include/grub/misc.h (grub_printf_): New declaration.
1794 * kern/misc.c (grub_printf_): New definition.
1795 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
1796 instead of `grub_printf' and `_'.
1797 * normal/menu_entry.c (store_completion): Likewise.
1798 (run): Likewise.
1799 (grub_menu_entry_run): Likewise.
1800 * normal/menu_text.c (grub_wait_after_message): Likewise.
1801 (notify_booting): Likewise.
1802 (notify_fallback): Likewise.
1803 (notify_execution_failure): Likewise.
1804
d6ceebf1
CW
18052009-12-07 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * configure.ac: Check for vasprintf.
1808 * util/misc.c (asprintf): Move allocation from here ...
1809 (vasprintf): ... to here. New function.
1810 (xasprintf): New function.
1811 * include/grub/util/misc.h (vasprintf, xasprintf): Add
1812 prototypes.
1813 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1814 * util/grub-mkfont.c (write_font): Likewise.
1815 * util/grub-probe.c (probe): Likewise.
1816 * util/hostdisk.c (make_device_name): Likewise.
1817
de6daa8b
DM
18182009-12-06 David S. Miller <davem@sunset.davemloft.net>
1819
1820 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
1821 anything even prefixed with 'cdrom' as a cdrom.
1822
0ad46fd7 18232009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
1824
1825 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
1826 mount points.
1827
98d3dc02
CPE
18282009-12-05 Carles Pina i Estany <carles@pina.cat>
1829
1830 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
1831 grub_gettext_msg_list.
1832 (grub_gettext_gettranslation_from_position): Return const char *
1833 and not char *.
a2c1332b 1834 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
1835 returns from the list if existing there.
1836 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
1837 (grub_gettext_delete_list): Delete the list.
1838 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
1839 lang environment variable is changed.
1840 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
1841
b283f108
VS
18422009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 Rename kernel.mod to kernel.img.
1845
1846 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
1847 (kernel_mod_EXPORTS): Rename to ...
1848 (kernel_img_EXPORTS): ... this.
1849 (kernel_mod_SOURCES): Rename to ...
1850 (kernel_img_SOURCES): ... this.
1851 (kernel_mod_HEADERS): Rename to ...
1852 (kernel_img_HEADERS): ... this. All users updated.
1853 (kernel_mod_CFLAGS): Rename to ...
1854 (kernel_img_CFLAGS): ... this.
1855 (kernel_mod_ASFLAGS): Rename to ...
1856 (kernel_img_ASFLAGS): ... this.
1857 (kernel_mod_LDFLAGS): Rename to ...
1858 (kernel_img_LDFLAGS): ... this.
1859 * conf/x86_64-efi.rmk: Likewise.
1860 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
1861 (read_kernel_image): ... this. All users updated.
1862 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
1863
69055f8a
CPE
18642009-12-05 Carles Pina i Estany <carles@pina.cat>
1865
1866 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
1867 (print_spaces): New function.
1868 (grub_print_ucs4): New function.
1869 (getstringwidth): New function.
1870 (print_message_indented): New function.
1871 (print_message): Gettexttize strings using print_message_indented.
1872 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
1873 width.
1874 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 1875 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
1876 Gettextize.
1877 * normal/menu_entry.c (store_completion): Cleanup the gettextized
1878 string.
1879 (run): Likewise.
1880 (grub_menu_entry_run): Likewise.
1881 * PO/POTFILES: Add normal/menu_entry.c.
1882
f616f51c
VS
18832009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
1886
57bbe3be
CPE
18872009-12-05 Carles Pina i Estany <carles@pina.cat>
1888
1889 * util/grub-install.in: Install gettext .mo files.
1890 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
1891
013d67a1
CPE
18922009-12-05 Carles Pina i Estany <carles@pina.cat>
1893
1894 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
1895 grub_dprintf.
1896
fb954db0
RM
18972009-12-05 Robert Millan <rmh.grub@aybabtu.com>
1898
1899 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
1900 non-firmware-dependant one in realmode.S takes precedence.
1901
6b8474f8
RM
19022009-12-04 Robert Millan <rmh.grub@aybabtu.com>
1903
1904 * commands/halt.c: Replace misc arch-specific headers with
1905 `<grub/misc.h>'.
1906 * commands/reboot.c: Likewise.
1907 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
1908 `<grub/misc.h>'.
1909 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
1910 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
1911 (kernel_img_SOURCES): ... to here.
1912
1913 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
1914 * include/grub/i386/pc/init.h: Likewise.
1915 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1916 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1917
1918 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1919
1920 * include/grub/i386/halt.h: Remove.
1921 * include/grub/i386/reboot.h: Likewise.
1922
1923 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1924
4b2e6ca2
DM
19252009-12-03 David S. Miller <davem@sunset.davemloft.net>
1926
1927 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1928 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1929 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1930 "progname.h"
1931 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1932 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1933 (usage): Add missing comma in printf.
1934
5239348f
RM
19352009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1936
1937 Use the same reboot approach on i386 coreboot and qemu as we do on
1938 BIOS.
1939
1940 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1941 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1942 * kern/i386/reboot.c: Remove.
1943 * include/grub/i386/reboot.h (grub_reboot): Export function.
1944 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1945 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1946 0xf000:0xfff0 instead of 0xffff:0x0000.
1947 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1948 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1949
ef34cbd4
RM
19502009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1951
1952 Fix $srcdir != $objdir build.
1953
1954 * Makefile.in (po/%.po): Rewrite as ...
1955 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1956
dc9837ea
ST
19572009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1958
1959 Fix GNU/Hurd grub-install crash.
1960 * util/grub-probe.c (probe): Try to access `path' only when it is not
1961 NULL.
1962
2f857f98
VS
19632009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Correct module naming.
1966
1967 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1968 (GRUB_MOD_INIT(efi_uga)): ... to this
1969 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1970 (GRUB_MOD_FINI(efi_uga)): ... to this
1971 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1972 (GRUB_MOD_INIT(efi_gop)): ... to this
1973 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1974 (GRUB_MOD_FINI(efi_gop)): ... to this
1975
c5448046
RM
19762009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1977
1978 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
1979 translatable.
1980 (usage): Translate `arg' strings using gettext().
1981 Thanks to Jordi Mallach for the suggestion.
1982
c85184ad
VS
19832009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 GOP support. Based on patch from Bean
1986 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1987
1988 * video/efi_gop.c: New file.
1989 * include/grub/efi/graphics_output.h: Likewise.
1990 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
1991 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1992 variables.
1993 * conf/x86_64-efi.rmk: Likewise.
1994
8a4c48d8
VS
19952009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Rename efi_fb to efi_uga.
1998
1999 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2000 'efi_uga.mod'.
2001 (efi_fb_mod_SOURCES): Rename this ...
2002 (efi_uga_mod_SOURCES): ... to this.
2003 (efi_fb_mod_CFLAGS): Rename this ...
2004 (efi_uga_mod_CFLAGS): ... to this.
2005 (efi_fb_mod_LDFLAGS): Rename this ...
2006 (efi_uga_mod_LDFLAGS): ... to this.
2007 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2008 'efi_uga.mod'.
2009 (efi_fb_mod_SOURCES): Rename this ...
2010 (efi_uga_mod_SOURCES): ... to this.
2011 (efi_fb_mod_CFLAGS): Rename this ...
2012 (efi_uga_mod_CFLAGS): ... to this.
2013 (efi_fb_mod_LDFLAGS): Rename this ...
2014 (efi_uga_mod_LDFLAGS): ... to this.
2015 * video/efi_fb.c: Move this ...
2016 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2017
fb6c1a7b
RM
20182009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2019
2020 * po/README: New file. Explain our PO file workflow.
2021
3bc7896c
RM
20222009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2023
2024 * po/ChangeLog: Remove. Move relevant entries back to ...
2025 * ChangeLog: ... here.
2026 * po/ca.po: Remove (now handled by TLP).
2027 * po/id.po: Likewise.
2028 * po/zh_CN.po: Likewise.
2029 * Makefile.in (LINGUAS): Initialize in a way that supports
2030 empty set.
2031
9ed4841d
RM
20322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2033
2034 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2035 reliing on po/LINGUAS.
2036 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2037 (po/%.po): ... this.
2038
0ad46fd7 20392009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2040
2041 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2042 (main): Use `program_name' instead of nonexistent `progname'.
2043
e30dd392
FZ
20442009-11-26 Felix Zielcke <fzielcke@z-51.de>
2045
2046 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2047 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2048
7656de4f
RM
20492009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2050
2051 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2052 commit.
2053 * conf/i386-efi.rmk: Likewise.
2054 * conf/i386-ieee1275.rmk: Likewise.
2055 * conf/powerpc-ieee1275.rmk: Likewise.
2056 * conf/sparc64-ieee1275.rmk: Likewise.
2057 * conf/x86_64-efi.rmk: Likewise.
2058
db77c4d4
FZ
20592009-11-26 Felix Zielcke <fzielcke@z-51.de>
2060
2061 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2062
a755bb04
FZ
20632009-11-26 Felix Zielcke <fzielcke@z-51.de>
2064
2065 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2066
8a4c07fd
RM
20672009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2068
2069 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2070 (grub_mkdevicemap_SOURCES): New variable.
2071 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2072 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2073 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2074 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2075 (grub_mkdevicemap_SOURCES): Remove.
2076 * conf/i386-efi.rmk: Likewise.
2077 * conf/i386-ieee1275.rmk: Likewise.
2078 * conf/i386-pc.rmk: Likewise.
2079 * conf/powerpc-ieee1275.rmk: Likewise.
2080 * conf/sparc64-ieee1275.rmk: Likewise.
2081 * conf/x86_64-efi.rmk: Likewise.
2082 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2083 (usage): Fix strings to use `program_name'.
2084 (main): Initialize gettext.
2085 * util/grub-editenv.c: Likewise.
2086 * util/grub-emu.c: Likewise.
2087 * util/grub-fstest.c: Likewise.
2088 * util/grub-mkdevicemap.c: Likewise.
2089 * util/grub-mkfont.c: Likewise.
2090 * util/grub-mkrelpath.c: Likewise.
2091 * util/grub-pe2elf.c: Likewise.
2092 * util/grub-probe.c: Likewise.
2093 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2094 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2095 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2096
2097 * util/misc.c: Include `"progname.h"'.
2098 (progname): Remove variable.
2099 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
2100
6f61ed55
FZ
21012009-11-25 Felix Zielcke <fzielcke@z-51.de>
2102
2103 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
2104 printf and print a newline after the menuentry header line.
2105 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2106
f022876b
FZ
21072009-11-25 Felix Zielcke <fzielcke@z-51.de>
2108
2109 autoconf >= 2.60 support $(localedir).
2110
2111 * INSTALL: Note that autoconf 2.60 is required.
2112 * configure.ac (AC_PREREQ): Bump to 2.60.
2113 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
2114 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2115
6717926e
YB
21162009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
2117
2118 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
2119 aclocal is run.
2120
08806a54
RM
21212009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2122
2123 * normal/main.c (grub_normal_read_line): Fix off-by-one
2124 buffer overflow.
2125
13b33fba
RM
21262009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2127
2128 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
2129 "parser.grub" in grub_command_execute() call.
2130
4a8572e9
CPE
21312009-11-24 Carles Pina i Estany <carles@pina.cat>
2132
2133 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
2134 * conf/i386-efi.rmk: Likewise.
2135 * conf/i386-ieee1275.rmk: Likewise.
2136 * conf/i386-pc.rmk: Likewise.
2137 * conf/powerpc-ieee1275.rmk: Likewise.
2138 * conf/sparc64-ieee1275.rmk: Likewise.
2139 * conf/x86_64-efi.rmk: Likewise.
2140 * gettext/gettex.c: Include <grub/i18n.h>.
2141 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
2142 here ...
2143 * include/grub/i18n.h: ... to here
2144 * include/grub/i18n.h: ... to here.
2145 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 2146 (grub_gettext_dummy): Move above user.
4a8572e9 2147
bee48093
FZ
21482009-11-24 Felix Zielcke <fzielcke@z-51.de>
2149
2150 * util/Makefile.in (install-local): Convert a `for' into a normal
2151 shell expansion.
2152
a031e91c
RM
21532009-11-24 Robert Millan <rmh.grub@aybabtu.com>
2154
2155 * autogen.sh: Add automake call.
2156 * config.guess: Remove.
2157 * config.sub: Likewise.
2158 * install-sh: Likewise.
2159
26bec39d
FZ
21602009-11-24 Felix Zielcke <fzielcke@z-51.de>
2161
2162 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
2163
8e2532fd
FZ
21642009-11-24 Felix Zielcke <fzielcke@z-51.de>
2165
2166 * util/Makefile.in (install-local): Convert a make `$(foreach)'
2167 function to a normal shell `for'.
2168
fefa1b7d
FZ
21692009-11-24 Felix Zielcke <fzielcke@z-51.de>
2170
2171 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2172
4501250b
FZ
21732009-11-24 Felix Zielcke <fzielcke@z-51.de>
2174
2175 * util/grub-mkrelpath.c: New file.
2176 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
2177 (grub_mkrelpath_SOURCES): New variable.
2178 * include/grub/util/misc.h: New function prototype.
2179 * util/misc.c (make_system_path_relative_to_its_root): New function.
2180
2181 * util/grub-mkconfig_lib.in (bindir): New variable.
2182 (grub_mkrelpath): Likewise.
2183 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
2184
2185 * util/probe.c (probe): Make the file path relative to its root.
2186 Change a info message to use the GRUB path. Enable again the
2187 check if we can read the file with GRUB facilities.
2188
2189 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
2190 to its root.
2191
11d9778b
FZ
21922009-11-24 Felix Zielcke <fzielcke@z-51.de>
2193
2194 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
2195 platform.
2196
4465287d
FZ
21972009-11-24 Felix Zielcke <fzielcke@z-51.de>
2198
2199 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
2200 strncmp().
2201
62b47f22
FZ
22022009-11-24 Felix Zielcke <fzielcke@z-51.de>
2203
2204 * util/getroot.c (grub_util_is_dmraid): New function.
2205 (grub_util_get_dev_abstraction): Treat dmraid and multipath
2206 devices as normal ones, not as LVM.
2207
1eafb9b9 22082009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
2209
2210 * conf/common.rmk: Add grub-gettext_lib target and updates
2211 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
2212 LDFLAGS.
2213 * gettext/gettext.c: New file. (Reads mo files).
2214 * include/grub/file.h (grub_file_pread): New prototype.
2215 * include/grub/i18n.h (_): New prototype.
2216 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
2217 prototypes.
2218 * kern/misc.c (grub_gettext_dummy): New function.
2219 * normal/menu_text.c: Include <grub/i18n.h>.
2220 * normal/menu_text.c (print_timeout): Gettexttize string.
2221 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
2222 * po/POTFILES: Add `normal/menu_text.c'.
2223 * po/ca.po: Add new translations.
c3ea6bd4
CPE
2224 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
2225 gettext module and defines locale_dir and lang in grub.cfg.
2226 * NEWS: Add gettext support.
2227
0fdb2568
RM
22282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2229
2230 * util/hostdisk.c: Include `<grub/i18n.h>'.
2231 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
2232 (make_device_name): Rewrite using asprintf.
2233 (convert_system_partition_to_system_disk): Replace 0 with NULL.
2234 (find_system_device): If a device is not found, generate one just
2235 by reusing the OS path name.
2236 (read_device_map): Make it permissible for device.map not to exist.
2237
f515aa62
RM
22382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2239
2240 * script/sh/execute.c: Move from here ...
2241 * script/execute.c: ... to here. Update all users.
2242 * script/sh/function.c: Move from here ...
2243 * script/function.c: ... to here. Update all users.
2244 * script/sh/lexer.c: Move from here ...
2245 * script/lexer.c: ... to here. Update all users.
2246 * script/sh/main.c: Move from here ...
2247 * script/main.c: ... to here. Update all users.
2248 * script/sh/parser.y: Move from here ...
2249 * script/parser.y: ... to here. Update all users.
2250 * script/sh/script.c: Move from here ...
2251 * script/script.c: ... to here. Update all users.
2252
f84b481b
RM
22532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2254
2255 * configure.ac: Detect all `emu' platforms. Define
2256 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
2257 --enable-grub-emu logic. Disable include/grub/machine
2258 symlink on `emu' platforms.
2259
2260 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
2261 * gensymlist.sh.in: Likewise.
2262
2263 * include/grub/i386/coreboot/machine.h: Remove file.
2264 * include/grub/i386/efi/machine.h: Likewise.
2265 * include/grub/i386/ieee1275/machine.h: Likewise.
2266 * include/grub/i386/pc/machine.h: Likewise.
2267 * include/grub/i386/qemu/machine.h: Likewise.
2268 * include/grub/powerpc/ieee1275/machine.h: Likewise.
2269 * include/grub/sparc64/ieee1275/machine.h: Likewise.
2270 * include/grub/x86_64/efi/machine.h: Likewise.
2271
2272 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
2273 * commands/halt.c: Likewise.
2274 * commands/reboot.c: Likewise.
2275 * include/grub/autoefi.h: Likewise.
2276 * include/grub/i386/at_keyboard.h: Likewise.
2277 * include/grub/i386/kernel.h: Likewise.
2278 * include/grub/i386/loader.h: Likewise.
2279 * include/grub/i386/pc/memory.h: Likewise.
2280 * kern/dl.c: Likewise.
2281 * kern/i386/coreboot/init.c: Likewise.
2282 * loader/i386/bsd.c: Likewise.
2283 * loader/i386/linux.c: Likewise.
2284 * loader/multiboot_loader.c: Likewise.
2285 * term/i386/pc/serial.c: Likewise.
2286 * term/usb_keyboard.c: Likewise.
2287
2288 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
2289 `<grub/machine/machine.h>'
2290 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
2291 * util/misc.c: Remove `<grub/machine/machine.h>' and
2292 `<grub/machine/time.h>'.
2293
2294 * Makefile.in (enable_grub_emu): Remove variable.
2295 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
2296
2297 * conf/any-emu.rmk: New file.
2298 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
2299 (grub_emu_init.c): Move from here ...
2300 * conf/any-emu.rmk: ... to here.
2301
2302 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
2303 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
2304 * conf/any-emu.rmk: ... to here.
2305
4efeab03
RM
23062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2307
2308 * include/grub/parser.h (grub_parser_register): Document need
2309 of `name' parameter.
2310 * normal/main.c (grub_normal_read_line): Simplify prompt string.
2311 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
2312 "sh" to "grub".
2313
ea1dd8bf
RM
23142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2315
2316 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
2317 `$(XGETTEXT)'.
2318 * include/grub/i18n.h (N_): New macro.
2319 * util/mkisofs/mkisofs.h: Likewise.
2320 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
2321 around N_().
2322 (usage): Use gettext() to translate help strings when printing them.
2323
0c140626
RM
23242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2325
2326 Based on patch from Bean
2327 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2328
2329 * video/efi_fb.c: New file.
2330 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
2331 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2332 variables.
2333 * conf/x86_64-efi.rmk: Likewise.
2334
87d58298
RM
23352009-11-22 Robert Millan <rmh.grub@aybabtu.com>
2336
2337 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
2338 * util/i386/pc/grub-setup.c: Likewise.
2339
994cc3a3
ST
23402009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2341
2342 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
2343 <hurd/fs.h>
2344 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
2345 file_get_storage_info to implement grub_guess_root_device.
2346
26a61d6a
FZ
23472009-11-21 Felix Zielcke <fzielcke@z-51.de>
2348
2349 * Makefile.in (target): Use make's builtin $(shell) function
2350 instead of calling directly $(SHELL) to create the locale directories,
2351 inside the $(foreach) function.
2352
74ff1dd5
FZ
23532009-11-21 Felix Zielcke <fzielcke@z-51.de>
2354
2355 * util/grub-mkrescue.in: Print an error and usage if output option
2356 has not been given.
2357
0b787d0e
FZ
23582009-11-21 Felix Zielcke <fzielcke@z-51.de>
2359
2360 Patch from Loïc Minier <loic.minier@ubuntu.com>.
2361 * util/grub.d/30_os-prober.in: Cope with Linux entries where
2362 root and /boot are on different devices.
2363
1164b270
RM
23642009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2365
2366 Fix build for srcdir != objdir.
2367
2368 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
2369 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
2370 $(srcdir).
2371 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
2372 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
2373 reference for input.
2374
13774a2f
RM
23752009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2376
2377 * util/grub-mkrescue.in: Use source directory direcly (without copiing
2378 or hardlinking it). Remove -J option, Joliet is not compatible with
2379 multiple source directories.
2380
efda854e
RM
23812009-11-21 Carles Pina i Estany <carles@pina.cat>
23822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
2383
2384 * util/grub-mkrescue.in: Recognize `--override-directory' option.
2385 (process_input_dir): New function. Process an arbitrary input
2386 directory.
2387 Misc adjustments to support both "override mode" and system-wide mode.
2388
6c09890c
FZ
23892009-11-20 Felix Zielcke <fzielcke@z-51.de>
2390
2391 * configure.ac (UNIFONT_BDF): Rename to ...
2392 (FONT_SOURCE): ... this. Update all users.
2393
a797824f
FZ
23942009-11-20 Felix Zielcke <fzielcke@z-51.de>
2395
2396 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
2397 to the list of unifont files to look for.
2398
cd4f42b0
RM
23992009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2400
2401 Patch from Joe Auricchio <jauricchio@gmail.com>
2402 * commands/minicmd.c (grub_mini_cmd_clear): New function.
2403 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
2404 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
2405
393c783d
FZ
24062009-11-19 Felix Zielcke <fzielcke@z-51.de>
2407
2408 * Makefile.in (install-local): Add a missing backslash.
2409
b2f1e327
FZ
24102009-11-19 Felix Zielcke <fzielcke@z-51.de>
2411
2412 * include/grub/x86_64/io.h: New file.
2413
f577f7a0
RM
24142009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2415
2416 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
2417 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
2418 Include `"progname.h"'.
2419 (main): Initialize gettext.
2420 * util/i386/pc/grub-setup.c: Gettexttize.
2421 * util/i386/pc/grub-mkimage.c: Likewise.
2422
2423 * Makefile.in (po/*.po): Redefine as ...
2424 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
2425
3bc7896c
RM
2426 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
2427
c37943b6
RM
24282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
2429
2430 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
2431 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
2432 (program_name): Remove.
2433 (main): Initialize gettext support.
6323f705
RM
2434 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
2435 Include `<libintl.h>'.
2436 (_): New macro.
c37943b6
RM
2437
2438 * util/mkisofs/eltorito.c: Gettexttize.
2439 * util/mkisofs/joliet.c: Likewise.
2440 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
2441 * util/mkisofs/multi.c: Likewise.
2442 * util/mkisofs/rock.c: Likewise.
2443 * util/mkisofs/tree.c: Likewise.
2444 * util/mkisofs/write.c: Likewise.
2445
3bc7896c
RM
2446 * po/POTFILES: Update with new files.
2447
5ce77c6e
RM
24482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2449
2450 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
2451 * util/mkisofs/iso9660.h: Likewise.
2452 * util/mkisofs/joliet.c: Likewise.
2453 * util/mkisofs/mkisofs.c: Likewise.
2454 * util/mkisofs/mkisofs.h: Likewise.
2455 * util/mkisofs/rock.c: Likewise.
2456 * util/mkisofs/tree.c: Likewise.
2457 * util/mkisofs/write.c: Likewise.
2458
2459 * util/mkisofs/eltorito.c (rcsid): Remove.
2460 * util/mkisofs/hash.c: Likewise.
2461 * util/mkisofs/joliet.c: Likewise.
2462 * util/mkisofs/name.c: Likewise.
2463 * util/mkisofs/rock.c: Likewise.
2464 * util/mkisofs/tree.c: Likewise.
2465 * util/mkisofs/write.c: Likewise.
2466
1dabbc77
RM
24672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2468
2469 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
2470 instead of static allocation.
2471 * util/mkisofs/match.h: Likewise.
2472
633877cb
RM
24732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2474
3bc7896c
RM
2475 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
2476 and `util/grub.d/10_linux.in'.
633877cb
RM
2477 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
2478 translatable Shell files.
2479
af1c0c85
RM
24802009-11-18 Robert Millan <rmh.grub@aybabtu.com>
2481
2482 * Makefile.in ($(srcdir)/aclocal.m4): New target.
2483
769ae37b
RM
24842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2485
2486 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 2487 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
2488 * util/grub.d/10_kfreebsd.in (bindir): New variable.
2489 Add gettext initialization.
2490 (kfreebsd_entry): Make menuentry output translatable.
2491
24922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2493
2494 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
2495 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
2496 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
2497 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
2498 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 2499 * po/LINGUAS: New file.
769ae37b
RM
2500
25012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2502
2503 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
2504 other things).
2505 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
2506 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
2507 bindtextdomain() calls for gettext initialization.
2508
25092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2510
2511 * gnulib/progname.c: New file (imported from Gnulib).
2512 * gnulib/progname.h: Likewise.
2513 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2514 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
2515 (usage): Replace `progname' with `program_name'.
2516 (main): Use set_program_name() for program name initialization.
2517
25182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2519
2520 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
2521 from here ...
2522 * Makefile.in (CPPFLAGS): ... to here.
2523
25242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2525
2526 * aclocal.m4: Move from here ...
2527 * acinclude.m4: ... to here.
2528 * autogen.sh: Add call to `aclocal'.
2529 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
2530
25312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2532
2533 * Makefile.in (CLEANFILES): Add `po/*.mo'.
2534 (LINGUAS): New variable.
2535 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
2536 (install-local): Install MO files.
2537 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
2538 * include/grub/i18n.h: New file.
3bc7896c
RM
2539 * po/POTFILES: New file.
2540 * po/ca.po: New file.
769ae37b
RM
2541 * util/grub.d/10_linux.in (bindir): New variable.
2542 Add gettext initialization.
2543 (linux_entry): Make menuentry output translatable.
2544 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
2545 (usage): Make --help output translatable.
2546 (main): Initialize gettext.
2547
02c0a6ad
RM
25482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2549
2550 * import_gcry.py: New file (written by Vladimir with minor
2551 adjustments).
2552 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
2553 ciphers.
2554 * INSTALL: Document that Python is required for bootstrap.
2555
25562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2557
2558 Import ciphers from libgcrypt 1.4.4.
2559
2560 * lib/libgcrypt/cipher/ChangeLog
2561 * lib/libgcrypt/cipher/ac.c
2562 * lib/libgcrypt/cipher/arcfour.c
2563 * lib/libgcrypt/cipher/bithelp.h
2564 * lib/libgcrypt/cipher/blowfish.c
2565 * lib/libgcrypt/cipher/camellia-glue.c
2566 * lib/libgcrypt/cipher/camellia.c
2567 * lib/libgcrypt/cipher/camellia.h
2568 * lib/libgcrypt/cipher/cast5.c
2569 * lib/libgcrypt/cipher/cipher.c
2570 * lib/libgcrypt/cipher/crc.c
2571 * lib/libgcrypt/cipher/des.c
2572 * lib/libgcrypt/cipher/dsa.c
2573 * lib/libgcrypt/cipher/ecc.c
2574 * lib/libgcrypt/cipher/elgamal.c
2575 * lib/libgcrypt/cipher/hash-common.c
2576 * lib/libgcrypt/cipher/hash-common.h
2577 * lib/libgcrypt/cipher/hmac-tests.c
2578 * lib/libgcrypt/cipher/md.c
2579 * lib/libgcrypt/cipher/md4.c
2580 * lib/libgcrypt/cipher/md5.c
2581 * lib/libgcrypt/cipher/primegen.c
2582 * lib/libgcrypt/cipher/pubkey.c
2583 * lib/libgcrypt/cipher/rfc2268.c
2584 * lib/libgcrypt/cipher/rijndael-tables.h
2585 * lib/libgcrypt/cipher/rijndael.c
2586 * lib/libgcrypt/cipher/rmd.h
2587 * lib/libgcrypt/cipher/rmd160.c
2588 * lib/libgcrypt/cipher/rsa.c
2589 * lib/libgcrypt/cipher/seed.c
2590 * lib/libgcrypt/cipher/serpent.c
2591 * lib/libgcrypt/cipher/sha1.c
2592 * lib/libgcrypt/cipher/sha256.c
2593 * lib/libgcrypt/cipher/sha512.c
2594 * lib/libgcrypt/cipher/tiger.c
2595 * lib/libgcrypt/cipher/twofish.c
2596 * lib/libgcrypt/cipher/whirlpool.c
2597
af2f93ac
RM
25982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2599
2600 Fix build for systems without error().
2601
2602 * gnulib/error.c: New file (imported from Gnulib).
2603 * gnulib/error.h: Likewise.
2604 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
2605 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
2606 (this variable is now used by error()).
2607
73fb3dd5
FZ
26082009-11-16 Felix Zielcke <fzielcke@z-51.de>
2609
814f5e96
FZ
2610 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
2611 instead of relying that char is signed.
73fb3dd5 2612
a691ca33
VS
26132009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
2616 blocksize different from specified.
2617 (grub_pxefs_read): Likewise.
2618
2af8f0f4
FZ
26192009-11-16 Felix Zielcke <fzielcke@z-51.de>
2620
2621 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
2622
2623 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
2624 (grub_ata_readwrite): Likewise. Update 2 format strings.
2625 (grub_atapi_read): Likewise.
2626
2627 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
2628 * conf/i386.rmk (pkglib_MODULES): ... to here ...
2629 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
2630 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
2631 (ata_mod_LDFLAGS): Move from here ...
2632 * conf/i386.rmk: ... to here ...
2633 * conf/x86_64-efi.rmk: ... and here.
2634 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
2635 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
2636
83bdecaf
RM
26372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2638
2639 Relicense multiboot.h, with RMS' blessing.
2640
2641 * include/multiboot.h: Change to X11 license.
2642
fd6fd3d7
RM
26432009-11-15 Robert Millan <rmh.grub@aybabtu.com>
2644
2645 Support --version in grub-mkisofs.
2646
2647 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
2648 (OPTION_VERSION): New macro.
2649 (ld_options): Recognize --version.
2650 (usage): Move `program_name' from here ...
2651 (program_name): ... to here. Add `static' qualifier.
2652 (main): Recognize `OPTION_VERSION'.
2653
16a88c49
FZ
26542009-11-15 Felix Zielcke <fzielcke@z-51.de>
2655
2656 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
2657 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
2658
a4158476
RM
26592009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2660
2661 Fix help2man generation for mkisofs.
2662
2663 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
2664 (usage): Send output to stdout (rather than stderr).
2665
fc2208b0
RM
26662009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2667
2668 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
2669 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2670 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
2671 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2672 (bin_SCRIPTS): Add `grub-mkfloppy'.
2673 (grub_mkfloppy_SOURCES): New variable.
2674
2675 * util/grub-mkrescue.in: New file.
2676 * util/i386/pc/grub-mkfloppy.in: New file.
2677
2678 * util/i386/coreboot/grub-mkrescue.in: Remove.
2679 * util/i386/pc/grub-mkrescue.in: Remove.
2680
8d0edf4a
RM
26812009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2682
2683 * include/grub/multiboot.h (struct grub_multiboot_header): Move
2684 from here ...
2685 * include/multiboot.h (struct multiboot_header): ... to here. Update
2686 all users.
2687 * include/grub/multiboot.h (struct grub_multiboot_info): Move
2688 from here ...
2689 * include/multiboot.h (struct multiboot_info): ... to here. Update
2690 all users.
2691 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
2692 from here ...
2693 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
2694 Update all users.
2695 * include/grub/multiboot.h (struct grub_mod_list): Move
2696 from here ...
2697 * include/multiboot.h (struct multiboot_mod_list): ... to here.
2698 Update all users.
2699
a73f5969
RM
27002009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2701
2702 * include/multiboot2.h (multiboot_word): Rename from this ...
2703 (multiboot2_word): ... to this. Update all users.
2704 (multiboot_header): Rename from this ...
2705 (multiboot2_header): ... to this. Update all users.
2706 (multiboot_tag_header): Rename from this ...
2707 (multiboot2_tag_header): ... to this. Update all users.
2708 (multiboot_tag_start): Rename from this ...
2709 (multiboot2_tag_start): ... to this. Update all users.
2710 (multiboot_tag_name): Rename from this ...
2711 (multiboot2_tag_name): ... to this. Update all users.
2712 (multiboot_tag_module): Rename from this ...
2713 (multiboot2_tag_module): ... to this. Update all users.
2714 (multiboot_tag_memory): Rename from this ...
2715 (multiboot2_tag_memory): ... to this. Update all users.
2716 (multiboot_tag_unused): Rename from this ...
2717 (multiboot2_tag_unused): ... to this. Update all users.
2718 (multiboot_tag_end): Rename from this ...
2719 (multiboot2_tag_end): ... to this. Update all users.
2720
1c8927f0
RM
27212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2722
2723 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
2724 this platform we should support Multiboot1 first.
2725
2726 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2727 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
2728 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
2729
6e1e0d89
RM
27302009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2731
2732 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
2733 of write calls (converting them to fwrite() if they aren't already).
2734 (get_torito_desc): Likewise.
2735 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
2736
7f2b34d8
RM
27372009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2738
2739 * util/i386/pc/grub-install.in: Move from here ...
2740 * util/grub-install.in: ... to here. Update all users.
2741
c0ef3311
CW
27422009-11-11 Colin Watson <cjwatson@ubuntu.com>
2743
2744 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
2745
e1f240ff
RM
27462009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2747
2748 Support for El Torito without floppy emulation.
2749
2750 * util/mkisofs/eltorito.c: Include `<errno.h>'.
2751 (init_boot_catalog): Improve error handling.
2752 (get_torito_desc): Don't use floppy emulation unless requested by
2753 user. Patch boot information table when requested via
2754 `-boot-info-table'.
2755 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
2756 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
2757 (use_boot_info_table): New variables.
2758 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
2759 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
2760 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
2761 `--eltorito-emul-floppy'.
2762 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
2763 and `OPTION_ELTORITO_EMUL_FLOPPY'.
2764 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
2765 (use_boot_info_table, get_731): New prototypes.
2766 * util/mkisofs/write.c (get_731): New function.
2767
af7d4de5
FZ
27682009-11-11 Felix Zielcke <fzielcke@z-51.de>
2769
2770 Fix the generation of the man page.
2771
2772 * util/pc/i386/grub-install.in: Source
2773 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2774
2c55dbc0
RM
27752009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2776
2777 Large file support for grub-mkisofs.
2778
2779 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
2780 * util/mkisofs/mkisofs.c (next_extent, last_extent)
2781 (session_start): Upgrade type to `uint64_t'. Update all users.
2782 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
2783 (struct directory_entry): Upgrade type of `starting_block' and
2784 `size' to `uint64_t'. Update all users.
2785 (struct deferred): Remove unused structure.
2786 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
2787 Update all users.
2788 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
2789 file is larger than `UINT32_MAX'.
2790 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
2791 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
2792 return value.
2793 (struct deferred_write): Upgrade type of `extent' and `size' to
2794 `uint64_t'. Update all users.
2795 (last_extent_written): Upgrade type to `uint64_t'. Update all
2796 users.
2797 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
2798 Update all users. Upgrade type of `remain' to `int64_t' and
2799 `use' to `size_t'. Use error() to handle fread() errors.
2800 (write_files): Rely on write_one_file() rather than calling
2801 xfwrite() directly.
2802
6a9cead5
FZ
28032009-11-09 Felix Zielcke <fzielcke@z-51.de>
2804
2805 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
2806
4825d790
RM
28072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2808
2809 * util/mkisofs/fnmatch.c: Remove.
2810 * util/mkisofs/getopt1.c: Likewise.
2811 * util/mkisofs/getopt.c: Likewise.
2812 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
2813 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
2814 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
2815 `gnulib/getopt1.c' and `gnulib/getopt.c'.
2816 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
2817
2818 * configure.ac: Detect `mingw32msvc' host_os.
2819 Check for lstat(), getuid() and getgid().
2820
2821 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
2822 instances of `u_char' with `uint8_t'.
2823
2824 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
2825 [!HAVE_GETUID] (getuid): New function (stub).
2826 [!HAVE_GETGID] (getgid): Likewise.
2827 [!HAVE_LSTAT] (lstat): Likewise.
2828 [!S_IROTH] (S_IROTH): New macro (dummy).
2829 [!S_IRGRP] (S_IRGRP): Likewise.
2830
84b860d8
RM
28312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2832
2833 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
2834 conditional expression).
2835
66e9b712
RM
28362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2837
2838 Import from Gnulib.
2839
2840 * gnulib/fnmatch.c: New file.
2841 * gnulib/fnmatch.h: Likewise.
2842 * gnulib/fnmatch_loop.c: Likewise.
2843 * gnulib/getopt.c: Likewise.
2844 * gnulib/getopt.h: Likewise.
2845 * gnulib/getopt1.c: Likewise.
2846 * gnulib/getopt_int.h: Likewise.
2847 * gnulib/gettext.h: Likewise.
2848
34f4a5b0
RM
28492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2850
2851 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
2852 * normal/handler.c (read_handler_list): Likewise.
2853
ac451143
RM
28542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2855
2856 Misc cleanup.
2857
2858 * kern/command.c (grub_register_command_prio): Use
2859 grub_zalloc() instead of explicitly zeroing data.
2860 * kern/list.c: Include `<grub/mm.h>'.
2861 (grub_named_list_find): Replace `0' with `NULL'.
2862 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
2863 (fs_module_list): Change type to `grub_named_list_t'. Update all
2864 users.
2865 * normal/dyncmd.c (read_command_list): Add space between function
2866 call and parenthesis.
2867 * normal/handler.c (read_handler_list): Likewise.
2868
4089b167
RM
28692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2870
2871 * normal/auth.c (punishment_delay): Moved from here ...
2872 (grub_auth_strcmp): ... to here (inside function).
2873
325f5037
RM
28742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2875
2876 * include/grub/list.h (struct grub_named_list): Remove `const'
2877 qualifier from `name'.
2878 (struct grub_prio_list): Likewise.
2879
7aea29a3
RM
28802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2881
2882 * normal/auth.c: Include `<grub/time.h>'.
2883 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2884
3fd6f044
RM
28852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2886
2887 * normal/auth.c (punishment_delay): New variable.
2888 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
2889 (grub_auth_check_authentication): Punish failed login attempts with
2890 an incremental (2^N) delay.
2891
a4cd68e4
RM
28922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2893
2894 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
2895 path with $(srcdir).
2896
7ad12f43
VS
28972009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2900
c1129f03
RM
29012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2902
2903 * util/i386/coreboot/grub-mkrescue.in: New file.
2904 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
2905 variables.
2906
2907 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
2908 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
2909 * configure.ac: Add header and function checks to satisfy grub-mkisofs
2910 requirements.
2911 * util/mkisofs/defaults.h: New file.
2912 * util/mkisofs/eltorito.c: Likewise.
2913 * util/mkisofs/exclude.h: Likewise.
2914 * util/mkisofs/fnmatch.c: Likewise.
2915 * util/mkisofs/getopt.c: Likewise.
2916 * util/mkisofs/getopt1.c: Likewise.
2917 * util/mkisofs/hash.c: Likewise.
2918 * util/mkisofs/include/fctldefs.h: Likewise.
2919 * util/mkisofs/include/mconfig.h: Likewise.
2920 * util/mkisofs/include/prototyp.h: Likewise.
2921 * util/mkisofs/include/statdefs.h: Likewise.
2922 * util/mkisofs/iso9660.h: Likewise.
2923 * util/mkisofs/joliet.c: Likewise.
2924 * util/mkisofs/match.c: Likewise.
2925 * util/mkisofs/match.h: Likewise.
2926 * util/mkisofs/mkisofs.c: Likewise.
2927 * util/mkisofs/mkisofs.h: Likewise.
2928 * util/mkisofs/multi.c: Likewise.
2929 * util/mkisofs/name.c: Likewise.
2930 * util/mkisofs/rock.c: Likewise.
2931 * util/mkisofs/tree.c: Likewise.
2932 * util/mkisofs/write.c: Likewise.
2933
ec8bb77d
VS
29342009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2937 being insecure.
2938
3716b12c
RM
29392009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2940
2941 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2942 `grub-mkimage' (and use $0 when possible).
2943
b97b7b91
RM
29442009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2945
2946 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2947 error message for excessively large memory map.
2948
04114812
RM
29492009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2950
2951 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2952 executable bit.
2953
e4eb2373
RM
29542009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2955
2956 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2957 message for coreboot users.
2958
c926e1d5 29592009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2960
2961 Fix build with GNU gold.
2962
2963 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2964 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2965 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2966 link addresses.
2967 * aclocal.m4: Likewise.
2968
86e5b1db 29692009-11-04 Felix Zielcke <fzielcke@z-51.de>
2970
2971 * configure.ac (AC_PREREQ): Bump to 2.59d.
2972 * INSTALL: Make it more clear when Autoconf and Ruby are
2973 needed and when to run `./autogen.sh'.
2974
246cd78f 29752009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2976
2977 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
2978 OSes.
2979
4f9dfb37 29802009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2981
2982 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
2983
b82bd5e1 29842009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2985
2986 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
2987 giving it to GNU Mach.
2988
ff1a9bca 29892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2990
2991 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
2992 GNU partition number to get internal GRUB partition number.
2993
61697d9c 29942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2995
2996 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
2997 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
2998
a50569e1 29992009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3000
3001 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3002 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3003 case.
3004
5b153867 30052009-11-01 Felix Zielcke <fzielcke@z-51.de>
3006
3007 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3008
d9e2cd70 30092009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3010
3011 Fix build problem.
3012
3013 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3014 `-isystem=$(srcdir)/include'.
3015
805111a4 30162009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3017
3018 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3019 checked (grub-install doesn't currently rely on it).
3020
fa6e945f 30212009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3022
3023 Revert SVN r2660.
3024
3025 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3026 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3027 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3028 * conf/i386-ieee1275.rmk: Likewise.
3029 * conf/i386-pc.rmk: Likewise.
3030 * conf/powerpc-ieee1275.rmk: Likewise.
3031 * conf/sparc64-ieee1275.rmk: Likewise.
3032 * conf/x86_64-efi.rmk: Likewise.
3033
cee15086 30342009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3035
3036 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3037
95b9239e 30382009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3039
3040 * include/grub/misc.h: Stop checking for APPLE_CC.
3041
2ed19dfd 30422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3043
3044 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3045 doesn't cause an infinite call loop.
3046
fdcdde19 30472009-10-28 Felix Zielcke <fzielcke@z-51.de>
3048
3049 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3050 strings.
3051
cefabfe1 30522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3053
3054 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3055 variable.
3056 * Makefile.in: Likewise.
3057
ed96ab6d 30582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3059
3060 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3061
0579b753 30622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3063
3064 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3065
478df409 30662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3067
3068 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3069
083d1679 30702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3071
3072 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3073 from here ...
3074 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3075
5947ae32 30762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3077
3078 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3079 in $(MAKEINFO) invocation. This makes it clear in output that
3080 errors are being ignored.
3081
94180ff6 30822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3083
3084 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3085 from here ...
3086 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3087 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
3088 * conf/i386-ieee1275.rmk: Likewise.
3089 * conf/i386-pc.rmk: Likewise.
3090 * conf/powerpc-ieee1275.rmk: Likewise.
3091 * conf/sparc64-ieee1275.rmk: Likewise.
3092 * conf/x86_64-efi.rmk: Likewise.
3093
9031b03a 30942009-10-26 Colin Watson <cjwatson@ubuntu.com>
3095
3096 * util/grub-editenv.c (main): If only a command is given, use
3097 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
3098 (usage): FILENAME is now optional and has a default.
3099
e4f6809b 31002009-10-26 Colin Watson <cjwatson@ubuntu.com>
3101
3102 Improve grub-mkconfig performance when there are several menu
3103 entries on a single filesystem.
3104
3105 * util/grub.d/10_linux.in (linux_entry): Cache the output of
3106 prepare_grub_to_access_device.
3107 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3108 * util/grub.d/30_os-prober.in: Likewise.
3109
67937d4d 31102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3111
3112 * util/grub.d/10_freebsd.in: Remove.
3113 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
3114 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
3115
ee3756cc 31162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3117
5c35048e 3118 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 3119
4dea1c6f 31202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3121
3122 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
3123 grub_util_error() call.
3124
042484d7 31252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3126
3127 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
3128 `reserved_first_sector' member.
3129 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
3130 `reserved_first_sector' to 1.
3131 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
3132 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
3133 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
3134 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
3135 filesystems which begin at first sector.
3136 (options): New option --skip-fs-probe.
3137 (main): Handle --skip-fs-probe and pass it to setup().
3138
d64448a7 31392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3140
3141 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
3142 (memset): Fix function prototype.
3143
508d42ec 31442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31452009-10-25 Vasily Averin <vvs@parallels.com>
3146
3147 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
3148 `dirent.direntlen == 0'.
3149
b240e30c 31502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3151
3152 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
3153 `cpio'.
3154 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
3155
346e7fbe 31562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3157
3158 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
3159 `__trampoline_setup' and `__ucmpdi2'.
3160 * include/grub/powerpc/libgcc.h: Only export symbols for functions
3161 that libgcc provides.
3162
cdb308b0 31632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3164
3165 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
3166 * include/grub/sparc64/libgcc.h (memset): Likewise.
3167 * include/grub/misc.h (memset, memcmp): New function prototypes.
3168
fb26abc2 31692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3170
3171 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
3172 `cpio'.
3173 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
3174
f6693890 31752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3176
3177 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
3178 * docs/grub.cfg: Compensate for recent change in multiboot
3179 loader (since 2009-08-14 it won't pass filename to payload).
3180 * util/grub.d/10_hurd.in: Likewise.
3181
0933cdc0 31822009-10-21 Felix Zielcke <fzielcke@z-51.de>
3183
3184 * config.guess: Update to latest version from config git
3185 repository.
3186 * config.sub: Likewise.
3187
3b2fe8c2 31882009-10-20 Robert Millan <rmh.grub@aybabtu.com>
3189
3190 Fix build on sparc64.
3191
3192 * configure.ac: Perform checks for libgcc symbols before
3193 adding `-nostdlib' to LDFLAGS.
3194
46695a62 31952009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 Let user specify OpenBSD root device.
3198
3199 * loader/i386/bsd.c (openbsd_root): New variable.
3200 (openbsd_opts): New option 'root'.
3201 (OPENBSD_ROOT_ARG): New macro.
3202 (grub_openbsd_boot): Use 'openbsd_root'.
3203 (grub_cmd_openbsd): Fill 'openbsd_root'.
3204
d2b6b7fc 32052009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3206
3207 * NEWS: Misc adjustments.
3208
421bd7ac 32092009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
3212
f1d29d87 32132009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3214
3215 * configure.ac: Bump version to 1.97.
3216
6f3cd880 32172009-10-16 Colin Watson <cjwatson@ubuntu.com>
3218
3219 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
3220 -mno-3dnow on x86 architectures. Some toolchains enable these
3221 features by default, but they rely on registers that aren't enabled
3222 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
3223
035f7122 32242009-10-15 Robert Millan <rmh.grub@aybabtu.com>
3225
3226 Make entry text a bit more readable.
3227
3228 * util/grub.d/10_linux.in: Add `with' before `Linux'.
3229
44998e58 32302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
3233
cd2851b3 32342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
3237 operations.
3238
c6f3b249 32392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * configure.ac: Add missing dollar.
3242
6b5886ba 32432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
3246
3247 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
3248 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
3249 exports.
3250 * include/grub/sparc64/libgcc.h: Likewise. Use
3251 preprocessor conditionals.
3252
e9d66f6d 32532009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3254
3255 * conf/common.rmk (grub-dumpbios): Remove rule.
3256 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
3257 * util/grub-dumpbios.in: Remove file.
3258
9155bc17 32592009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3260
3261 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
3262 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
3263
3264 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
3265 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
3266 users.
3267
3268 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
3269 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
3270 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
3271 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
3272 users.
3273
bf7f7a18 32742009-10-12 Robert Millan <rmh.grub@aybabtu.com>
3275
3276 * term/tparm.c: Switch to GPLv3.
3277
86564c26 32782009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3279
3280 * include/grub/i386/cpuid.h: Add header protection.
3281
5c936493 32822009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3283
3284 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
3285
3286 * include/grub/i386/cpuid.h: New file.
3287 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
3288 (has_longmode): Rename to ...
3289 (grub_cpuid_has_longmode): ... this. Update all users. Remove
3290 `static' attribute.
3291 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
3292 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
3293 on a CPU that doesn't implement AMD64 instruction set.
3294
186e7cf2 32952009-10-06 Colin Watson <cjwatson@ubuntu.com>
3296
3297 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
3298 that version.texi is rebuilt on version number changes.
3299
83b65c4a 33002009-10-06 Colin Watson <cjwatson@ubuntu.com>
3301
3302 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
3303 Fixes bug #27602.
3304
d244281c 33052009-10-06 Colin Watson <cjwatson@ubuntu.com>
3306
3307 * util/i386/pc/grub-install.in: Source
3308 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
3309 that the --grub-probe option will work.
3310 * util/sparc64/ieee1275/grub-install.in: Likewise.
3311
da25306d 33122009-10-05 Robert Millan <rmh.grub@aybabtu.com>
3313
3314 * configure.ac: Bump version to 1.97~beta4.
3315
e8ee83c0 33162009-10-03 Robert Millan <rmh.grub@aybabtu.com>
3317
3318 Resync grub-mkdevicemap in x86_64-efi.
3319
3320 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
3321 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
3322 `util/devicemap.c'.
3323
50dcabcf 33242009-10-01 Colin Watson <cjwatson@ubuntu.com>
3325
3326 * util/grub-editenv.c (create_envblk_file): Write new block with a
3327 .new suffix and then rename it into place, to ensure atomic
3328 creation.
3329
0e51c3a7 33302009-09-28 Robert Millan <rmh.grub@aybabtu.com>
3331
3332 Do not automatically install headers.
3333
3334 * Makefile.in (include_DATA): Remove. Update all users.
3335
31299a95 33362009-09-26 Robert Millan <rmh.grub@aybabtu.com>
3337
3338 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
3339 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
3340
3341 * util/osdetect.lua: Remove.
3342 * script/lua/lauxlib.c: Likewise.
3343 * script/lua/ldebug.c: Likewise.
3344 * script/lua/grub_main.c: Likewise.
3345 * script/lua/lauxlib.h: Likewise.
3346 * script/lua/ldebug.h: Likewise.
3347 * script/lua/ltablib.c: Likewise.
3348 * script/lua/liolib.c: Likewise.
3349 * script/lua/lstrlib.c: Likewise.
3350 * script/lua/lualib.h: Likewise.
3351 * script/lua/ldo.c: Likewise.
3352 * script/lua/ldump.c: Likewise.
3353 * script/lua/ldo.h: Likewise.
3354 * script/lua/loslib.c: Likewise.
3355 * script/lua/lundump.c: Likewise.
3356 * script/lua/grub_lib.c: Likewise.
3357 * script/lua/ldblib.c: Likewise.
3358 * script/lua/lundump.h: Likewise.
3359 * script/lua/lmem.c: Likewise.
3360 * script/lua/grub_lib.h: Likewise.
3361 * script/lua/lmathlib.c: Likewise.
3362 * script/lua/lstate.c: Likewise.
3363 * script/lua/ltm.c: Likewise.
3364 * script/lua/lvm.c: Likewise.
3365 * script/lua/lmem.h: Likewise.
3366 * script/lua/lstate.h: Likewise.
3367 * script/lua/ltm.h: Likewise.
3368 * script/lua/ltable.c: Likewise.
3369 * script/lua/lvm.h: Likewise.
3370 * script/lua/llex.c: Likewise.
3371 * script/lua/lgc.c: Likewise.
3372 * script/lua/grub_lua.h: Likewise.
3373 * script/lua/loadlib.c: Likewise.
3374 * script/lua/lfunc.c: Likewise.
3375 * script/lua/lopcodes.c: Likewise.
3376 * script/lua/lparser.c: Likewise.
3377 * script/lua/ltable.h: Likewise.
3378 * script/lua/llex.h: Likewise.
3379 * script/lua/lgc.h: Likewise.
3380 * script/lua/lfunc.h: Likewise.
3381 * script/lua/lbaselib.c: Likewise.
3382 * script/lua/lopcodes.h: Likewise.
3383 * script/lua/lparser.h: Likewise.
3384 * script/lua/lzio.c: Likewise.
3385 * script/lua/linit.c: Likewise.
3386 * script/lua/lobject.c: Likewise.
3387 * script/lua/llimits.h: Likewise.
3388 * script/lua/lstring.c: Likewise.
3389 * script/lua/lzio.h: Likewise.
3390 * script/lua/lapi.c: Likewise.
3391 * script/lua/lcode.c: Likewise.
3392 * script/lua/lua.h: Likewise.
3393 * script/lua/lobject.h: Likewise.
3394 * script/lua/lstring.h: Likewise.
3395 * script/lua/lapi.h: Likewise.
3396 * script/lua/lcode.h: Likewise.
3397 * script/lua/luaconf.h: Likewise.
3398
cb8a2c38 33992009-09-26 Colin Watson <cjwatson@ubuntu.com>
3400
3401 * docs/grub.texi (Command-line and menu entry commands): Document
3402 date and echo commands.
3403
6b9b6276 34042009-09-24 Pavel Roskin <proski@gnu.org>
3405
3406 * include/grub/kernel.h (struct grub_module_header): Remove
3407 `grub_module_header_types'. Make `type' unsigned. Make `size'
3408 32-bit on all platforms.
3409 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
3410 8-bit field. Use grub_host_to_target32() for `size'.
3411 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
3412 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
3413 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
3414
4e5a02a7 34152009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3416
3417 Fix "lost keypress" bug in at_keyboard.
3418
3419 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
3420 Checks for readyness of input buffer (without flushing it).
3421 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
3422 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
3423
c6dcedf6 34242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3425
3426 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
3427 size check within GRUB_MACHINE_PCBIOS section.
3428
74c958b1 34292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
3430
3431 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
3432 return value.
3433 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
3434 KEYBOARD_ISREADY check.
3435 (grub_at_keyboard_checkkey): Rename to ...
3436 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
3437 Remove gratuitous cast.
3438
ff420223 34392009-09-23 Colin Watson <cjwatson@ubuntu.com>
3440
3441 * configure.ac: Call AC_PROG_MKDIR_P.
3442 * Makefile.in (docs/stamp-vti): Create docs directory. Create
3443 version.texi in $(builddir) rather than $(srcdir).
3444 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
3445 to makeinfo's @include search path.
3446
d96875df 34472009-09-23 Felix Zielcke <fzielcke@z-51.de>
3448
3449 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
3450
9b3f8365 34512009-09-23 Felix Zielcke <fzielcke@z-51.de>
3452
3453 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
3454 for `*.dpkg-new'.
3455
c44c90db 34562009-09-21 Colin Watson <cjwatson@ubuntu.com>
3457
3458 Build info documentation. Some code borrowed from Automake.
3459
3460 * configure.ac: Check for makeinfo.
3461 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
3462 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
3463 docs/version.texi.
3464 (MOSTLYCLEANFILES): Add vti.tmp.
3465 (docs/version.texi, docs/stamp-vti): Update automatically.
3466 (docs/grub.info): Build info documentation. Use --force and ignore
3467 errors for now.
3468 (all-local): Add $(INFOS).
3469 (install-local): Install info files.
3470 (uninstall): Uninstall info files.
3471 * docs/version.texi: Remove from revision control. This file is
3472 automatically generated on build now.
3473 * gendistlist.sh: Add `*.info'.
3474
e0b37bb5 34752009-09-21 Felix Zielcke <fzielcke@z-51.de>
3476
3477 * kern/term.c: Fix indentation.
3478
5a78865b 34792009-09-21 Felix Zielcke <fzielcke@z-51.de>
3480
3481 * util/hostdisk.c: Fix a comment.
3482
dace7e8a 34832009-09-20 Robert Millan <rmh.grub@aybabtu.com>
3484
3485 Fix regression introduced in r2539.
3486
3487 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
3488 to 0xA1.
3489
a83d079b 34902009-09-19 Colin Watson <cjwatson@ubuntu.com>
3491
3492 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 3493 os-prober. Under normal operation, it does not print anything to
3494 stderr; if it does, we need to debug it, and throwing away stderr
3495 makes that excessively difficult.
a83d079b 3496
be94a509 34972009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
3500
63f745e8 35012009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3502
3503 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
3504 AC_LANG_PROGRAM from autoconf.
3505 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
3506 prototypes (fixes warning).
3507
3508 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
3509 `--disable-werror' was used.
3510
bbb2a70f 35112009-09-16 Robert Millan <rmh.grub@aybabtu.com>
3512
3513 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
3514 uninitialized `lastaddr'.
3515
77c24f1d 35162009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3517
0f0b8c87 3518 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 3519
07197f23 35202009-09-14 Colin Watson <cjwatson@ubuntu.com>
3521
3522 * commands/test.c (get_fileinfo): Return immediately if
3523 grub_fs_probe fails.
3524
dabf1798 35252009-09-14 José Martínez <xosemp@gmail.com>
3526
3527 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
3528
d52109a7 35292009-09-14 Colin Watson <cjwatson@ubuntu.com>
3530
3531 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
3532 output.
3533
56532179 35342009-09-13 Robert Millan <rmh.grub@aybabtu.com>
3535
3536 * configure.ac: Remove --enable-grub-pe2elf. Only build
3537 grub-pe2elf when needed by the build system itself.
3538 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
3539
8ef070f5 35402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3541
3542 * configure.ac: Bump version to 1.97~beta3.
3543 * docs/version.texi: Likewise.
3544
61229557 35452009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3546
3547 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
3548 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
3549 from here ...
3550 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
3551 (grub_linux_setup_video): ... to here (with some adjustments).
3552
5c9f8d84 35532009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3554
3555 Fix memory corruption issue (spotted by Colin Watson).
3556
3557 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
3558 causing returned size to be stored in an incorrect memory location.
3559 Fix use of uninitialized value when storing the returned size.
3560
e8f5d6e9 35612009-09-12 Yves Blusseau <blusseau@zetam.org>
3562
3563 Change clean rules to properly remove files
3564
3565 * genmk.rb: add new clean rules
3566 * Makefile.in (clean): add the new targets
3567 (mostlyclean): likewise
3568
cda2a409 35692009-09-11 Colin Watson <cjwatson@ubuntu.com>
3570
3571 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
3572 to grub_uint64_t.
3573 * fs/ntfs.c (init_file): Understand 64-bit sizes for
3574 non-resident files.
3575
86695375 35762009-09-11 Colin Watson <cjwatson@ubuntu.com>
3577
3578 * configure.ac: Don't look for help2man when cross-compiling. Fixes
3579 part of bug #27349.
3580
8aa1541a 35812009-09-10 Felix Zielcke <fzielcke@z-51.de>
3582
3583 * util/grub-mkconfig.in: Make the created config mode 400 and
3584 print a warning if it fails.
3585
48d9bb0a 35862009-09-10 Robert Millan <rmh.grub@aybabtu.com>
3587
3588 * util/grub.d/40_custom.in: Ask user to type custom entries below
3589 comment, rather than below 'exec tail' line.
3590
3b0521be 35912009-09-10 Colin Watson <cjwatson@ubuntu.com>
3592
3593 * util/grub.d/40_custom.in: Make sure that the explanatory text is
3594 visible in grub.cfg.
3595
50051d55 35962009-09-10 Colin Watson <cjwatson@ubuntu.com>
3597
3598 * util/grub.d/40_custom.in: Make it a little clearer how to use this
3599 file.
3600
c0d34387 36012009-09-10 Felix Zielcke <fzielcke@z-51.de>
3602
3603 * docs/grub.cfg: Add an example menu entry for memtest86+.
3604
80a608f3 36052009-09-09 Felix Zielcke <fzielcke@z-51.de>
3606
a2094832 3607 * config.guess: Update to latest version from config git.
80a608f3 3608 * config.sub: Likewise.
3609
99423078 36102009-09-08 Colin Watson <cjwatson@ubuntu.com>
3611
3612 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
3613 unknown-command case. Fixes bug #27320.
3614
44454e4c 36152009-09-08 Felix Zielcke <fzielcke@z-51.de>
3616
3617 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
3618 `help' if the command exists.
3619
e30d87ad 36202009-09-06 Robert Millan <rmh.grub@aybabtu.com>
3621
3622 * INSTALL: Require GCC 4.1.3 or later.
3623
9a86f1ec 36242009-09-06 Yves Blusseau <blusseau@zetam.org>
3625
3626 * Makefile.in (RMKFILES): add i386-qemu.rmk
3627 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
3628 $(srcdir)/stamp-h.in
3629
7f26d466 36302009-09-05 Robert Millan <rmh.grub@aybabtu.com>
3631
3632 * util/grub-probe.c (probe): Comment out buggy codepath, which
3633 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
3634 should be re-enabled after 1.97.
3635
3a613259 36362009-09-05 Felix Zielcke <fzielcke@z-51.de>
3637
3638 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
3639 find searches for.
3640
197f76c7 36412009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
3644 unnecessary calls to grub_error.
3645
70ba68ce 36462009-09-04 Colin Watson <cjwatson@ubuntu.com>
3647
3648 * NEWS: Mention `keystatus' and Unicode fonts.
3649
4ff0d7a4 36502009-09-04 Robert Millan <rmh.grub@aybabtu.com>
3651
3652 * configure.ac: Bump version to 1.97~beta2.
3653 * docs/version.texi: Likewise.
3654
77c55a87 36552009-09-03 Colin Watson <cjwatson@ubuntu.com>
3656
3657 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
3658 containing unwind information in some cases where it previously did
3659 not. Use -fno-dwarf2-cfi-asm if available to restore the old
3660 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
3661 discussion.
3662
f79572cd 36632009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
3664
3665 Embedding loadenv module into grub-emu
3666
3667 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
3668 commands/loadenv.c
3669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
3670 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
3671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
3672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
3673 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
3674 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
3675
93a81088 36762009-09-03 Magnus Granberg <zorry@ume.nu>
3677
3678 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
3679 include -fPIE in the default specs.
3680 * configure.ac: Check if pie_possible is yes and add -fno-PIE
3681 to TARGET_CFLAGS.
3682
160034b2 36832009-09-03 Felix Zielcke <fzielcke@z-51.de>
3684
3685 * INSTALL: Note that GNU Bison 2.3 or later is required.
3686
087c07c4 36872009-09-03 Colin Watson <cjwatson@ubuntu.com>
3688
3689 * kern/i386/pc/startup.S: Fix typo.
3690
cbf978c0 36912009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
3694 according to GCS.
3695
36962009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 3697
3698 * docs/grub.texi (Naming convention): Describe one-based partition
3699 numbering.
3700 (Device syntax): Likewise.
3701 (File name syntax): Likewise.
3702 (Block list syntax): Likewise.
3703 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
3704 menu.lst.
3705 (File name syntax): Likewise.
3706 (Command-line and menu entry commands): Document acpi, blocklist,
3707 crc, export, insmod, keystatus, ls, set, and unset commands.
3708
f3e8cdfd 37092009-09-02 Colin Watson <cjwatson@ubuntu.com>
3710
3711 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
3712 to avoid implying that only one of --shift, --ctrl, or --alt may be
3713 used.
3714
c0bc232b 37152009-09-02 Colin Watson <cjwatson@ubuntu.com>
3716
3717 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
3718 rather than comparing against S_IFREG, which will almost never work.
3719
aa0f752d 37202009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
3723 (write_blocklists): Likewise.
3724
ecb3166a 37252009-09-01 Colin Watson <cjwatson@ubuntu.com>
3726
3727 * script/lua/grub_lua.h (fputs): Supply a format string as the first
3728 argument to grub_printf.
3729
c403a125 37302009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 3731
3732 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 3733 non GNU test.
31aba781 3734
b5e7312c 37352009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * kern/file.c (grub_file_read): Spelling fix
3738
fe00f472 37392009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
3742 loading of headers in some cases.
3743
cc55302e 37442009-08-30 Robert Millan <rmh.grub@aybabtu.com>
3745
3746 * configure.ac: Bump version to 1.97~beta1.
3747 * docs/version.texi: Likewise.
3748
5c90cdd2 37492009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 3750
3751 * include/grub/i386/xnu.h: Add license header.
3752 include grub/err.h explicitly.
3753
c90edae4 37542009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3755
3756 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
3757 to `ufs' in the vfs.root.mountfrom kernel parameter.
3758
d8888b5c 37592009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3760
3761 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
3762
3763 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
3764 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
3765
3766 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
3767 `ARRAY_SIZE' macro.
3768
6f07b921 37692009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * kern/file.c (grub_file_read): Check offset.
3772 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
3773 * fs/jfs.c (grub_jfs_read_file): Likewise.
3774 * fs/ntfs.c (grub_ntfs_read): Likewise.
3775 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
3776 * fs/minix.c (grub_minix_read_file): Correct offset check.
3777 * fs/ufs.c (grub_ufs_read_file): Likewise.
3778
b4f34077 37792009-08-28 Colin Watson <cjwatson@ubuntu.com>
3780
3781 * term/i386/pc/console.c (bios_data_area): Cast
3782 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
3783
e7c69859 37842009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 1-bit optimised blitters.
3787
3788 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
3789 prototype.
3790 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3791 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3792 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3793 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3794 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3795 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3796 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
3797 function.
3798 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3799 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3800 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3801 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3802 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3803 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3804 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
3805 when possible.
3806 * video/video.c (grub_video_get_blit_format): Return
3807 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
3808
a57da43f 38092009-08-28 Colin Watson <cjwatson@ubuntu.com>
3810
3811 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
3812 the first argument to grub_printf.
3813
4cbe67e5 38142009-08-28 Colin Watson <cjwatson@ubuntu.com>
38152009-08-28 Robert Millan <rmh.grub@aybabtu.com>
3816
3817 Add `getkeystatus' terminal method. Add a new `keystatus' command
3818 to query it.
3819
3820 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
3821 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
3822 modifier key bitmasks.
3823 (struct grub_term_input): Add `getkeystatus' member.
3824 (grub_getkeystatus): Add prototype.
3825 * kern/term.c (grub_getkeystatus): New function.
3826
3827 * include/grub/i386/pc/memory.h
3828 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
3829 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
3830 Data Area layout.
3831 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
3832 (grub_console_term_input): Set `getkeystatus' member.
3833 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
3834 constants.
3835 (grub_usb_keyboard_getreport): Likewise.
3836 (grub_usb_keyboard_checkkey): Likewise.
3837 (grub_usb_keyboard_getkeystatus): New function.
3838 (grub_usb_keyboard_term): Set `getkeystatus' member.
3839
3840 * commands/keystatus.c: New file.
3841 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
3842 (keystatus_mod_SOURCES): New variable.
3843 (keystatus_mod_CFLAGS): Likewise.
3844 (keystatus_mod_LDFLAGS): Likewise.
3845 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
3846 commands/keystatus.c.
3847 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3848 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3849 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3852 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 3853
6e2a9085 38542009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Split befs.mod and afs.mod into *_be.mod and *.mod
3857
3858 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
3859 (grub_fstest_SOURCES): Likewise.
3860 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
3861 (afs_be_mod_SOURCES): New variable.
3862 (afs_be_mod_CFLAGS): Likewise.
3863 (afs_be_mod_LDFLAGS): Likewise.
3864 (befs_be_mod_SOURCES): Likewise.
3865 (befs_be_mod_CFLAGS): Likewise.
3866 (befs_be_mod_LDFLAGS): Likewise.
3867 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
3868 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3870 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3871 (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.
3875 * fs/afs_be.c: New file.
3876 * fs/befs_be.c: New file.
3877 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
3878 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
3879 (U16): Replaced with ...
3880 (grub_afs_to_cpu16): ...this. All users updated.
3881 (U32): Replaced with ...
3882 (grub_afs_to_cpu32): ...this. All users updated.
3883 (U64): Replaced with ...
3884 (grub_afs_to_cpu64): ...this. All users updated.
3885 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
3886 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 3887 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 3888 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3889 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3890 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3891 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3892 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3893 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3894 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3895 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3896
32a71655 38972009-08-26 Bean <bean123ch@gmail.com>
3898
3899 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
3900 64-bit number.
3901 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3902 (grub_xfs_inode_block): Change return type to grub_uint64_t.
3903 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
3904
552bf6c5 39052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 NetBSD memory map support.
3908
3909 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
3910 (grub_netbsd_btinfo_mmap_header): New structure.
3911 (grub_netbsd_btinfo_mmap_entry): Likewise.
3912 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
3913
1ae2078c 39142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 Enable bsd.mod on coreboot.
3917
3918 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3919 (bsd_mod_SOURCES): New variable.
3920 (bsd_mod_CFLAGS): Likewise.
3921 (bsd_mod_LDFLAGS): Likewise.
3922 (bsd_mod_ASFLAGS): Likewise.
3923 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3924 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3925
beefc598 39262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Cleanup NetBSD root support.
3929
3930 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3931 grub_bsd_get_device.
3932 Fix typo.
3933
3b76e68b 39342009-08-25 Felix Zielcke <fzielcke@z-51.de>
3935
3936 * util/grub.d/00_header.in: Move check for the video backend of
3937 gfxterm from here ...
3938 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3939 a suitable video backend.
3940
aea664ea 39412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Fix breakage in grub-setup.
3944
3945 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3946 "msdos_partition_map".
3947
ff747d50 39482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Fix breakage in normal/auth.c.
3951
3952 * normal/auth.c (grub_iswordseparator): New function.
3953
e7e1f93f 39542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 Authentication support.
3957
3958 * commands/password.c: New file.
3959 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3960 (password_mod_SOURCES): New variable.
3961 (password_mod_CFLAGS): Likewise.
3962 (password_mod_LDFLAGS): Likewise.
3963 (normal_mod_SOURCES): Add normal/auth.c.
3964 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3965 normal/auth.c.
3966 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3968 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3970 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3971 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3972 * include/grub/auth.h: New file.
3973 * include/grub/err.h (grub_err_t): New enum value
3974 GRUB_ERR_ACCESS_DENIED.
3975 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3976 'users'.
3977 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
3978 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
3979 users updated.
3980 * normal/auth.c: New file.
3981 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
3982 (grub_cmdline_run): Don't allow to go to command line without
3983 authentication.
3984 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
3985 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
3986 menuentry without superuser rights.
3987 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
3988 user isn't a superuser.
3989
70f1161d 39902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Save space by inlining misc.c functions.
3993
3994 * kern/misc.c (grub_iswordseparator): Made static.
3995 * kern/misc.c (grub_strcat): Moved from here ...
3996 * include/grub/misc.h (grub_strcat): ... here. Inlined.
3997 * kern/misc.c (grub_strncat): Moved from here ...
3998 * include/grub/misc.h (grub_strncat): ... here. Inlined.
3999 * kern/misc.c (grub_strcasecmp): Moved from here ...
4000 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4001 * kern/misc.c (grub_strncasecmp): Moved from here ...
4002 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4003 * kern/misc.c (grub_isalpha): Moved from here ...
4004 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4005 * kern/misc.c (grub_isdigit): Moved from here ...
4006 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4007 * kern/misc.c (grub_isgraph): Moved from here ...
4008 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4009 * kern/misc.c (grub_tolower): Moved from here ...
4010 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4011
48e40bff 40122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * script/sh/function.c (grub_script_function_find): Cut error message
4015 not to flood terminal.
4016 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4017 limit.
4018 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4019
c385bfc3 40202009-08-24 Colin Watson <cjwatson@ubuntu.com>
4021
4022 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4023 `report' grub_uint8_t *.
4024 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4025 Use a 50-millisecond timeout rather than just repeating
4026 grub_usb_keyboard_getreport 50 times.
4027 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4028
2d21e3e8 40292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Rename *_partition_map to part_*
4032
4033 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4034 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4035 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4036 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4037 All users updated.
4038 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4039 All users updated.
4040 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4041 * util/grub-probe.c (probe_partmap): Don't transform partition name
4042 to get module name.
4043
dd103c4e 40442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Fix OpenBSD and NetBSD support.
4047
4048 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4049 memory address conflict.
4050 (OPENBSD_MMAP_ACPI): New definition.
4051 (OPENBSD_MMAP_NVS): Likewise.
4052 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4053 and OPENBSD_MMAP_NVS.
4054 Add memory map terminator
4055 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4056 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4057
16c84d74 40582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 Let user specify NetBSD root device.
4061
4062 * loader/i386/bsd.c (netbsd_root): New variable.
4063 (netbsd_opts): New option 'root'.
4064 (NETBSD_ROOT_ARG): New macro.
4065 (grub_netbsd_boot): Use 'netbsd_root'.
4066 (grub_bsd_unload): Free 'netbsd_root'.
4067 (grub_cmd_netbsd): Fill 'netbsd_root'.
4068
adb29902 40692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 Support for 64-bit NetBSD.
4072
4073 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4074 point when booting non-FreeBSD.
4075
f5ae9f74 40762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 Support --no-smp and --no-acpi for NetBSD.
4079
4080 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4081 (NETBSD_AB_NOACPI): Likewise.
4082 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4083 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4084
de74f136 40852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
4088 errors.
4089 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
4090 errors. Call grub_error when needed.
4091
e9a925da 40922009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * commands/search.c (search_fs): Try searching without autoload first.
4095 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4096 filesystem module explicitly for faster booting.
4097
5174302b 40982009-08-23 Colin Watson <cjwatson@ubuntu.com>
4099
4100 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
4101
c8c80635 41022009-08-23 Colin Watson <cjwatson@ubuntu.com>
4103
4104 * util/grub.d/30_os-prober.in: Disable os-prober if
4105 `GRUB_DISABLE_OS_PROBER' was set to true.
4106
71acf5e5 41072009-08-23 Robert Millan <rmh.grub@aybabtu.com>
4108
4109 * partmap/pc.c: Rename to ...
4110 * partmap/msdos.c: ... this. Update all users.
4111 (grub_pc_partition_map): Rename to ...
4112 (grub_msdos_partition_map): ... this. Update all users.
4113
4114 * parttool/pcpart.c: Rename to ...
4115 * parttool/msdospart.c: ... this. Update all users.
4116
4117 * include/grub/pc_partition.h: Rename to ...
4118 * include/grub/msdos_partition.h: ... this. Update all users.
4119 (grub_pc_partition_bsd_entry): Rename to ...
4120 (grub_msdos_partition_bsd_entry): ... this. Update all users.
4121 (grub_pc_partition_disk_label): Rename to ...
4122 (grub_msdos_partition_disk_label): ... this. Update all users.
4123 (grub_pc_partition_entry): Rename to ...
4124 (grub_msdos_partition_entry): ... this. Update all users.
4125 (grub_pc_partition_mbr): Rename to ...
4126 (grub_msdos_partition_mbr): ... this. Update all users.
4127 (grub_pc_partition): Rename to ...
4128 (grub_msdos_partition): ... this. Update all users.
4129 (grub_pc_partition_is_empty): Rename to ...
4130 (grub_msdos_partition_is_empty): ... this. Update all users.
4131 (grub_pc_partition_is_extended): Rename to ...
4132 (grub_msdos_partition_is_extended): ... this. Update all users.
4133 (grub_pc_partition_is_bsd): Rename to ...
4134 (grub_msdos_partition_is_bsd): ... this. Update all users.
4135
4136 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
4137 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
4138 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
4139 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
4140 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
4141 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
4142 (gpt_mod_LDFLAGS): Rename to ...
4143 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
4144 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
4145 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
4146 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
4147 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
4148 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
4149 (part_gpt_mod_LDFLAGS): ... this.
4150 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
4151 `pcpart.mod' to `msdospart.mod'.
4152 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
4153 to ...
4154 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
4155 (msdospart_mod_LDFLAGS): ... this.
4156
c11fded5 41572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
4160 (openbsd_opts): Likewise.
4161 (netbsd_opts): Likewise.
4162 (freebsd_flags): Added 0 terminator.
4163 (openbsd_flags): Likewise.
4164 (netbsd_flags): Likewise.
4165 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
4166 (grub_cmd_freebsd): Transformed into extended command.
4167 (grub_cmd_openbsd): Likewise.
4168 (grub_cmd_netbsd): Likewise.
4169 (cmd_freebsd): Changed type to grub_extcmd_t.
4170 (cmd_openbsd): Likewise.
4171 (cmd_netbsd): Likewise.
4172 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
4173 grub_cmd_openbsd as extended commands.
4174 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
4175 cmd_netbsd and cmd_openbsd
4176
11d1c769 41772009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
4180
7a9094e5 41812009-08-21 Pavel Roskin <proski@gnu.org>
4182
5496c37e 4183 * Makefile.in (install-local): When checking if a file is in the
4184 build directory, use "test -e" to detect symlinks.
4185
7a9094e5 4186 * Makefile.in (install-local): Remove all files in
4187 $(DESTDIR)$(pkglibdir) before installing new files there.
4188
e53cea11 41892009-08-18 Felix Zielcke <fzielcke@z-51.de>
4190
4191 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
4192 grub-mkelfimage.
4193
9aced544 41942009-08-18 Felix Zielcke <fzielcke@z-51.de>
4195
4196 * util/grub-mkconfig.in: Don't use gfxterm by default if not
4197 explicitly specified by the user.
4198
b7da6bab 41992009-08-18 Pavel Roskin <proski@gnu.org>
4200
4201 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
4202 grub_uint8_t pointer for data.
4203 * include/grub/fbutil.h (struct grub_video_fbblit_info):
4204 Likewise.
4205 * video/fb/fbutil.c: Remove unnecessary casts.
4206
19f1b335 42072009-08-17 Michal Suchanek <hramrach@centrum.cz>
4208
4209 VBE cleanup.
4210
4211 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
4212 (grub_vbe_set_video_mode): Save active mode info
4213 only after setting the mode.
4214 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
4215 second argument.
4216
2f467aa9 42172009-08-17 Michal Suchanek <hramrach@centrum.cz>
4218
4219 Rename variables for clarity.
4220
4221 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
4222 (active_vbe_mode_info): ... this. All users updated.
4223 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
4224 All users updated.
4225 (initial_mode): Rename to ...
4226 (initial_vbe_mode): ... this. All users updated.
4227 (mode_in_use): Rename to ..
4228 (vbe_mode_in_use): ... this. All users updated.
4229 (mode_list): Rename to ..
4230 (vbe_mode_list): ... this. All users updated.
4231 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
4232 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
4233 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
4234 'mode_list_size' to 'vbe_mode_list_size'.
4235 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
4236 'best_mode_info' to 'best_vbe_mode_info' and
4237 'best_mode' to 'best_vbe_mode'
4238
6025fcd7 42392009-08-17 Michal Suchanek <hramrach@centrum.cz>
4240
4241 Remove duplicate grub_video_fb_get_video_ptr.
4242
4243 * include/grub/fbutil.h (get_data_ptr): Rename to ...
4244 (grub_video_fb_get_video_ptr): ... this.
4245 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
4246 * video/fb/fbutil.c: Add comment about addressing.
4247 (get_data_ptr): Rename to ...
4248 (grub_video_fb_get_video_ptr): ... this. All users updated.
4249 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
4250
cc8c6faf 42512009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4252
4253 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
4254 grub_dprintf() that was just added.
4255
08aa61f0 42562009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4257
4258 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
4259 (DEFAULT_VIDEO_MODE): Remove macros.
4260 (grub_linux_boot): Remove assumption that Linux has FB support,
4261 and use "text" as default video mode.
4262
7cef4f75 42632009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
4266 grub_dprintf.
4267 * fs/fat.c (grub_fat_read_data): Likewise.
4268
e1f39873 42692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
4272 payload.
4273 (grub_module): Likewise.
4274
c166d79e 42752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
4278 mbi->cmdline but free playground.
4279
c60cee8e 42802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Handle group offset on UFS1.
4283
4284 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
4285 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
4286
c0d8b5d4 42872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 Split ufs.mod into ufs1.mod and ufs2.mod.
4290
4291 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
4292 (grub_fstest_SOURCES): Likewise.
4293 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
4294 (ufs_mod_SOURCES): Remove.
4295 (ufs_mod_CFLAGS): Likewise.
4296 (ufs_mod_LDFLAGS): Likewise.
4297 (ufs1_mod_SOURCES): New variable.
4298 (ufs1_mod_CFLAGS): Likewise.
4299 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 4300 (ufs2_mod_SOURCES): New variable.
4301 (ufs2_mod_CFLAGS): Likewise.
4302 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 4303 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
4304 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4305 Likewise.
4306 (grub_emu_SOURCES): Likewise.
4307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4308 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4309 (grub_setup_SOURCES): Likewise.
4310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4311 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
4312 (grub_setup_SOURCES): Likewise.
4313 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
4314 Likewise.
4315 * fs/ufs2.c: New file.
4316 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
4317
d3539132 43182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 Framebuffer split.
4321
4322 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
4323 subsystem at the end.
4324 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
4325 (video_fb_mod_SOURCES): New variable.
4326 (video_fb_mod_CFLAGS): Likewise.
4327 (video_fb_mod_LDFLAGS): Likewise.
4328 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
4329 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
4330 * video/i386/pc/vbeblit.c: Moved from here ...
4331 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
4332 * video/i386/pc/vbefill.c: Moved from here ...
4333 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
4334 * video/i386/pc/vbeutil.c: Moved from here ...
4335 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
4336 * include/grub/i386/pc/vbeblit.h: Moved from here ...
4337 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
4338 * include/grub/i386/pc/vbefill.h: Moved from here ...
4339 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
4340 * include/grub/i386/pc/vbeutil.h: Moved from here ...
4341 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
4342 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
4343 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
4344 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
4345 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
4346 (grub_video_adapter): Added 'get_info_and_fini'.
4347 (grub_video_get_info_and_fini): New prototype.
4348 (grub_video_set_mode): make modestring const char *.
4349 * loader/i386/linux.c (grub_linux_setup_video): Use
4350 grub_video_get_info_and_fini.
4351 (grub_linux_boot): Move modesetting just before booting.
4352 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
4353 grub_video_get_info_and_fini.
4354 * video/i386/pc/vbe.c: Moved framebuffer part ...
4355 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
4356 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
4357 grub_video_fbstd_colors and grub_video_fb_set_palette.
4358 (grub_video_vbe_init): Clear 'framebuffer' variable and use
4359 grub_video_fb_init.
4360 (grub_video_vbe_fini): Use grub_video_fb_fini.
4361 (grub_video_vbe_setup): Use framebuffer.render_target instead of
4362 render_target and use grub_video_fb_set_active_render_target and
4363 grub_video_fb_set_palette.
4364 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
4365 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
4366 (grub_video_vbe_adapter): Use framebuffer.
4367 * video/video.c (grub_video_get_info_and_fini): New function.
4368 (grub_video_set_mode): Make modestring const char *.
4369 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
4370 values are already initialised.
4371
d404ee56 43722009-08-14 Pavel Roskin <proski@gnu.org>
4373
4374 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
4375 ABS and APPLE_CC.
4376 * boot/i386/pc/diskboot.S: Likewise.
4377 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
4378 sectors allow compilation on MacOSX.
4379 * conf/i386-pc.rmk: Enable unconditional compilation of
4380 lnxboot.img.
4381
9a10df16 43822009-08-13 Colin Watson <cjwatson@ubuntu.com>
4383
4384 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
4385 * util/grub.d/00_header.in: Enter interruptible sleep if
4386 GRUB_HIDDEN_TIMEOUT is set.
4387
be3c9ca7 43882009-08-13 Yves Blusseau <blusseau@zetam.org>
4389
4390 * include/grub/symbol.h: Add the LOCAL macro.
4391 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
4392 starting with "L_".
4393
1f9e557e 43942009-08-13 Pavel Roskin <proski@gnu.org>
4395
9ca62843 4396 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
4397 any modern compilers we support.
4398
1f9e557e 4399 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
4400 Use local labels starting with "L_" so that Apple assembler
4401 knows they are local.
4402
81623db6 44032009-08-10 Robert Millan <rmh.grub@aybabtu.com>
4404
4405 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
4406 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
4407 (bsd_kernel_types): ... this enum.
4408
4409 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
4410 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
4411 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
4412
4413 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
4414 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
4415 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
4416 messages.
4417
f5d35e7a 44182009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4419
4420 * util/grub-dumpdevtree: Moved from here ...
4421 * util/i386/efi/grub-dumpdevtree: ... to here.
4422 (hexify): New function. Converts a string to its hex version.
4423 Generate hex versions of "efi" and "device-properties" by calling
4424 hexify() on the ASCII strings rather than by hardcoding numbers.
4425
d1e1d527 44262009-08-08 Robert Millan <rmh.grub@aybabtu.com>
4427
4428 * fs/jfs.c: Update copyright year.
4429
1ebbe064 44302009-08-08 Felix Zielcke <fzielcke@z-51.de>
4431
4432 * util/grub.d/00_header.in: Fix a comment.
4433 * util/grub.d/10_linux.in: Likewise.
4434 * util/grub.d/10_windows.in: Likewise.
4435 * util/grub.d/10_hurd.in: Likewise.
4436
a78c8d24 44372009-08-08 Felix Zielcke <fzielcke@z-51.de>
4438
4439 * util/grub-mkconfig.in: Allow the user to specify the used font
4440 with GRUB_FONT.
4441
29a6b9e8 44422009-08-08 Pavel Roskin <proski@gnu.org>
4443
b5f16cc4 4444 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
4445 available, xfs.mod needs it now.
4446
2f5cb827 4447 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
4448 the "g" modifier in sed when the intention is to strip something
4449 once. This fixes comparison of kernels with multiple dashes.
4450
29a6b9e8 4451 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
4452 on it. Add missing space before closing bracket. Fix
4453 misleading formatting.
4454
892a3d98 44552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4456
4457 * docs/grub.texi: Major overhaul. Remove all sections that are
4458 specific to GRUB Legacy, or mostly composed of Legacy-specific
4459 information.
4460
ed94253f 44612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4462
4463 * docs/version.texi: New file. Provides version information for
4464 grub.texi.
4465
126d6628 44662009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4467
4468 * docs/grub.texi: Update CVS information to SVN.
4469 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
4470
998b5aa9 44712009-08-07 Felix Zielcke <fzielcke@z-51.de>
4472
4473 * util/grub-mkconfig.in: Remove a wrong `fi'.
4474
818e094a 44752009-08-07 Felix Zielcke <fzielcke@z-51.de>
4476
4477 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
4478 (grub_jfs_uuid): New function.
4479 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
4480
b969c52f 44812009-08-07 Felix Zielcke <fzielcke@z-51.de>
4482
4483 * util/grub-mkconfig_lib.in (font_path): Move the functionality
4484 of it to ...
4485 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
4486 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
4487
7a4894cc 44882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4489
4490 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
4491 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
4492 Update all users.
4493
4494 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
4495 not just "vmlinu[zx]".
4496 Moved from here ...
4497 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
4498 all users.
4499
4500 * util/grub.d/10_linux.in (find_latest): Moved from here ...
4501 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
4502 all users.
4503
4e2171f8 45042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
4505
4506 * util/grub.d/10_freebsd.in: Use an absolute device path for
4507 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
4508
6dcfcb32 45092009-08-06 Felix Zielcke <fzielcke@z-51.de>
4510
4511 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4512 handling of multiple abstraction modules.
4513
f56a8756 45142009-08-04 Robert Millan <rmh.grub@aybabtu.com>
4515
4516 Fix a bug resulting in black screen when loading Linux using a
4517 packed video mode.
4518
4519 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
4520 function.
4521
4522 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
4523 (grub_vbe_bios_getset_dac_palette_width): New function.
4524 (grub_vbe_bios_get_dac_palette_width)
4525 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
4526 grub_vbe_bios_getset_dac_palette_width()).
4527
4528 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
4529 check for return status.
4530 (grub_vbe_get_video_mode_info): When getting information for a packed
4531 mode (<= 8 bpp), obtain DAC palette width using
4532 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
4533 {red,green,blue}_mark_size.
4534
222671b2 45352009-08-04 Felix Zielcke <fzielcke@z-51.de>
4536
ecb1a6d9 4537 * commands/search.c (options): Fix help output to match actual code.
222671b2 4538
f84114f5 45392009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
4542 of homegrown code.
4543
bd288a20 45442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 4545
4546 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
4547 on XFS or ReiserFS.
4548
8aab5e25 45492009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 Support Apple partition map with sector size different from 512 bytes.
4552
4553 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
4554 (apple_partition_map_iterate): Respect 'aheader.blocksize'
4555 and 'apart.partmap_size'.
4556
6ad6258a 45572009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
45582009-08-01 Robert Millan <rmh.grub@aybabtu.com>
4559
4560 Fix cpuid command.
4561
4562 * commands/i386/cpuid.c (options): New variable.
4563 (grub_cmd_cpuid): Return real error.
4564 (GRUB_MOD_INIT(cpuid)): Declare options.
4565
67459bc6 45662009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
4569 valid.
4570
fbc6ab54 45712009-07-31 Bean <bean123ch@gmail.com>
4572
4573 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
4574 log2_inode.
4575 (grub_fshelp_node): Move inode field to the end.
4576 (grub_xfs_data): Remove inode field.
4577 (grub_xfs_inode_block): Calculate inode size using sblock.
4578 (grub_xfs_inode_offset): Likewise.
4579 (grub_xfs_read_inode): Calculate inode size using sblock.
4580 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
4581 (grub_xfs_iterate_dir): Calculate inode size using sblock.
4582 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
4583 to match inode size.
4584 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
4585 not accessible when data is null.
4586 (grub_xfs_open): Likewise.
4587
f45d6cfc 45882009-07-31 Bean <bean123ch@gmail.com>
4589
4590 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
4591 Don't change pv->disk if it's already set.
4592
4593 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
4594 (grub_raid_register): ... here.
4595 (grub_raid_rescan): Removed.
4596
4597 * include/grub/raid.h (grub_raid_rescan): Removed.
4598
4599 * util/grub-fstest.c: Remove include file <grub/raid.h>.
4600 (fstest): Replace grub_raid_rescan with module fini function followed
4601 by init function.
4602
4603 * util/grub-probe.c: Add include file <grub/raid.h>.
4604 (probe_raid_level): New function.
4605 (probe): Detect abstraction by walking the disk device, support two
4606 level of abstraction (LVM on RAID) when detecting partition map.
4607
24443b5a 46082009-07-31 Pavel Roskin <proski@gnu.org>
4609
4610 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
4611 to grub_zalloc(), it was erroneous.
4612 Reported by Bean <bean123ch@gmail.com>
4613
a275d9e7 46142009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 4617 embedding zone, not only the first one.
a275d9e7 4618
56c5a47f 46192009-07-29 Joe Auricchio <jauricchio@gmail.com>
4620
4621 * term/gfxterm.c (clear_char): New function.
4622 (grub_virtual_screen_setup): Use clear_char.
4623 (scroll_up): Likewise.
4624 (grub_virtual_screen_cls): Likewise.
4625
67bb323a 46262009-07-29 Felix Zielcke <fzielcke@z-51.de>
4627
4628 * util/deviceiter.c (get_acceleraid_disk_name): New static
4629 function.
4630 (grub_util_iterate_devices): Handle Accelraid devices.
4631 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
4632
388a7c75 46332009-07-28 Robert Millan <rmh.grub@aybabtu.com>
4634
4635 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
4636 separator for the suggested gfxpayload string (';' collides with the
4637 parser and needs escaping).
4638
3bb7abcf 46392009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
4642 Clear direction flag before jumping to OS.
4643 (grub_multiboot2_real_boot): Likewise.
4644
2ddd36d7 46452009-07-28 Felix Zielcke <fzielcke@z-51.de>
4646
4647 * util/i386/pc/grub-install: Fix parsing of --disk-module
4648 option.
4649
c521b62b 46502009-07-28 Felix Zielcke <fzielcke@z-51.de>
4651
4652 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
4653 when embedding.
4654
880e0a0c 46552009-07-26 Felix Zielcke <fzielcke@z-51.de>
4656
4657 * util/grub-mkconfig.in (package_version): New variable.
4658 Use it do display the version.
4659
2366e356 46602009-07-25 Felix Zielcke <fzielcke@z-51.de>
4661
4662 * kern/file.c (grub_file_open): Revert to previous check with
4663 grub_errno.
4664
7ad8c80e 46652009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
4668 from help line. It's out of sync with code.
4669
72b9658b 46702009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
4673 entries on failed boot.
4674
77435277 46752009-07-25 Felix Zielcke <fzielcke@z-51.de>
4676
4677 * kern/file.c (grub_file_open): Fix an error check.
4678
fcaa8b21 46792009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
4680
35d16c74 4681 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
4682 partition map couldn't be identified.
fcaa8b21 4683
48904cd1 46842009-07-23 Pavel Roskin <proski@gnu.org>
4685
ef3c317f 4686 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
4687 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
4688 case of little endian words becomes just an optimization.
4689 Respect const modifier.
ad8ea1f4 4690 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 4691
48904cd1 4692 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
4693 to avoid loss of upper bits if align is unsigned and shorter
4694 than addr.
4695
260c9a89 46962009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 UUID support for UFS
4699
4700 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
4701 (grub_ufs_uuid): New function.
4702 (grub_ufs_fs): add .uuid
4703
f76ce889 47042009-07-21 Pavel Roskin <proski@gnu.org>
4705
4706 * kern/dl.c (grub_dl_check_header): Make static.
4707
6a6cbcaf 47082009-07-21 Felix Zielcke <fzielcke@z-51.de>
4709
4710 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
4711 add drivemap for Vista. It breaks Windows 7.
4712
cffcddb2 47132009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
4716 128 bytes
4717
1ef44b80 47182009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Add BFS support
4721
4722 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
4723 (grub_fstest_SOURCES): Likewise.
4724 (pkglib_MODULES): Add befs.mod.
4725 (befs_mod_SOURCES): New variable.
4726 (befs_mod_CFLAGS): Likewise.
4727 (befs_mod_LDFLAGS): Likewise.
4728 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4729 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4731 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4732 (grub_setup_SOURCES): Likewise.
4733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4735 (grub_setup_SOURCES): Likewise.
4736 * fs/befs.c: New file.
4737 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
4738 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
4739 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
4740 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
4741 (B_KEY_INDEX_ALIGN): New declaration.
4742 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
4743 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
4744 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
4745 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
4746 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
4747 (grub_afs_mount) [MODE_BFS]: Likewise.
4748 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
4749 (grub_afs_fs): Use GRUB_AFS_FSNAME
4750 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
4751 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
4752 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
4753 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
4754
4f253044 47552009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
4756
4757 * util/getroot.c (find_root_device): Add support for MacOSX.
4758 * util/hostdisk.c: Likewise.
4759
57a55913 47602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * font/font.c (find_glyph): Check whether a font is present to avoid
4763 segmentation fault.
75421ca9 4764
47652009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 4766
4767 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
4768
e98cd0c2 47692009-07-20 Pavel Roskin <proski@gnu.org>
4770
4771 * configure.ac: Trim excessively wordy excuses.
4772
1d2d169a 47732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 Add symlink, mtime and label support to AtheFS.
4776
4777 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
4778 (grub_afs_iterate_dir): Handle symlinks.
4779 (grub_afs_open): Use grub_afs_read_symlink.
4780 (grub_afs_dir): Likewise.
4781 Pass mtime.
4782 (grub_afs_label): New function.
4783 (grub_afs_fs): Add grub_afs_label.
4784 (grub_afs_read_symlink): New function.
4785
186f3189 47862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 Fix AtheFS support.
4789
4790 * fs/afs.c: Fix comments style.
4791 (grub_afs_blockrun): Declare as packed.
4792 (grub_afs_datastream): Likewise.
4793 (grub_afs_bnode): Likewise.
4794 (grub_afs_btree): Likewise.
4795 (grub_afs_sblock): Likewise.
4796 Declare `name' as char.
4797 (grub_afs_inode): Declare as packed.
4798 Change void *vnode to grub_uint32_t unused.
4799 (grub_afs_iterate_dir): Check that key_size is positive.
4800 (grub_afs_mount): Don't read superblock twice.
75421ca9 4801 (grub_afs_dir): Don't free node in case of error,
186f3189 4802 grub_fshelp_find_file already handles this.
4803 (grub_afs_open): Likewise.
4804
5680109e 48052009-07-19 Pavel Roskin <proski@gnu.org>
4806
4807 * Makefile.in: Remove LIBLZO and enable_lzo.
4808 * conf/i386-pc.rmk: Remove lzo support.
4809 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
4810 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
4811 support.
4812 * kern/i386/pc/lzo1x.S: Remove.
4813 * kern/i386/pc/startup.S: Remove lzo support.
4814 * util/i386/pc/grub-mkimage.c: Likewise.
4815
ac70fa32 48162009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
4819 * fs/xfs.c (grub_xfs_dir): Likewise.
4820 * fs/afs.c (grub_afs_dir): Likewise.
4821 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4822 (grub_iso9660_open): Likewise.
4823 * fs/jfs.c (grub_jfs_open): Likewise.
4824 * fs/ext2.c (grub_ext2_dir): Likewise.
4825 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
4826 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 4827
eab58da2 48282009-07-16 Pavel Roskin <proski@gnu.org>
4829
d2838156 4830 * configure.ac: Never add "-c" to CFLAGS.
4831
55c70904 4832 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
4833
43e6200c 4834 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
4835 grub_cv_cc_efiemu should be used.
4836
ce7a733d 4837 * configure.ac: Typo fixes.
4838
eab58da2 4839 * kern/mm.c (grub_zalloc): New function.
4840 (grub_debug_zalloc): Likewise.
4841 * include/grub/mm.h: Declare grub_zalloc() and
4842 grub_debug_zalloc().
4843 * util/misc.c (grub_zalloc): New function.
4844 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
4845 instead of grub_malloc(), remove unneeded initializations.
4846 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
4847 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
4848 * commands/parttool.c (grub_cmd_parttool): Likewise.
4849 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4850 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
4851 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
4852 * disk/usbms.c (grub_usbms_finddevs): Likewise.
4853 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
4854 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
4855 (grub_cmd_efiemu_pnvram): Likewise.
4856 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
4857 * fs/iso9660.c (grub_iso9660_mount): Likewise.
4858 (grub_iso9660_iterate_dir): Likewise.
4859 * fs/jfs.c (grub_jfs_opendir): Likewise.
4860 * fs/ntfs.c (list_file): Likewise.
4861 (grub_ntfs_mount): Likewise.
4862 * kern/disk.c (grub_disk_open): Likewise.
4863 * kern/dl.c (grub_dl_load_core): Likewise.
4864 * kern/elf.c (grub_elf_file): Likewise.
4865 * kern/env.c (grub_env_context_open): Likewise.
4866 (grub_env_set): Likewise.
4867 (grub_env_set_data_slot): Likewise.
4868 * kern/file.c (grub_file_open): Likewise.
4869 * kern/fs.c (grub_fs_blocklist_open): Likewise.
4870 * loader/i386/multiboot.c (grub_module): Likewise.
4871 * loader/xnu.c (grub_xnu_create_key): Likewise.
4872 (grub_xnu_create_value): Likewise.
4873 * normal/main.c (grub_normal_add_menu_entry): Likewise.
4874 (read_config_file): Likewise.
4875 * normal/menu_entry.c (make_screen): Likewise.
4876 * partmap/sun.c (sun_partition_map_iterate): Likewise.
4877 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
4878 * script/sh/script.c (grub_script_parse): Likewise.
4879 * video/bitmap.c (grub_video_bitmap_create): Likewise.
4880 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4881 * video/readers/png.c (grub_png_output_byte): Likewise.
4882 (grub_video_reader_png): Likewise.
4883
830afef7 48842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 4885
4886 Enable all targets that can be built by default
4887
830afef7 4888 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 4889 grub-mkfont and grub-fstest if they can be built
4890
ee293aee 48912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Fix hang and segmentation fault in grub-emu-usb
4894
4895 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
4896 * util/usb.c (grub_libusb_devices): likewise
4897 (grub_libusb_init): rename to ...
4898 (GRUB_MOD_INIT (libusb)):...this
4899 (grub_libusb_fini): rename to ..
4900 (GRUB_MOD_FINI (libusb)):...this
4901 * disk/usbms.c (grub_usbms_transfer): fix retry logic
4902 * include/grub/disk.h (grub_raid_init): removed, it's useless
4903 (grub_raid_fini): likewise
4904 (grub_lvm_init): likewise
4905 (grub_lvm_fini): likewise
4906 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
4907 by grub_init_all
4908
94414221 49092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Fix libusb
4912
4913 * Makefile.in (LIBUSB): new macro
4914 * genmk.rb (Utility/print_tail): new method
4915 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
4916 (top level): call util.print_tail at the end.
4917
59ade63d 49182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 Make FreeBSD accept zpool.cache
4921
4922 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4923 type is /boot/zfs/zpool.cache
4924
a58da8c7 49252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 Fix 64-bit efiemu
4928
4929 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4930 correct wrong typedef
4931 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4932
20591577 49332009-07-15 Pavel Roskin <proski@gnu.org>
4934
560ca572 4935 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4936 * kern/disk.c (struct grub_disk_cache): Likewise.
4937
e8e8e4fd 4938 * commands/probe.c (options): Typo fix.
4939
fde24e10 4940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4941 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4942 accordingly.
4943 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4944
379c54c1 4945 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4946 the end of "Error" to make the message more readable.
4947
7bd8f5bf 4948 * boot/i386/pc/boot.S (kernel_segment): Remove.
4949 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4950 for destination.
4951
40b132c5 4952 * boot/i386/pc/boot.S (boot_version): Remove.
4953 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4954 Remove.
4955
20591577 4956 * include/grub/i386/pc/boot.h: Sort all offsets.
4957 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4958 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4959 * boot/i386/pc/boot.S: Assert location of every offset listed in
4960 include/grub/i386/pc/boot.h.
4961
2df32b2c 49622009-07-13 Pavel Roskin <proski@gnu.org>
4963
44b5d879 4964 * include/grub/i386/coreboot/machine.h: Rename
4965 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4966 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4967 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4968
17dc3751 4969 * kern/dl.c: Force native word size to suppress warnings when
4970 compiling grub-emu.
4971
2df32b2c 4972 * kern/device.c (grub_device_iterate): Change struct part_ent to
4973 hold the name, not a pointer to it. Use one grub_malloc() per
4974 partition, not two. Free partition_name if grub_malloc() fails.
4975 Set ents to NULL only before grub_partition_iterate() is called.
4976
75c59f59 49772009-07-11 Bean <bean123ch@gmail.com>
4978
4979 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
4980 childname.
4981
0ae1bf88 49822009-07-10 Bean <bean123ch@gmail.com>
49832009-07-10 Robert Millan <rmh.grub@aybabtu.com>
4984
4985 * kern/ieee1275/openfw.c (grub_children_iterate)
4986 (grub_devalias_iterate): Fix size evaluation for property or path
4987 strings, which was broken since r2132.
4988
8279cade 49892009-07-07 Pavel Roskin <proski@gnu.org>
4990
7d8a52d3 4991 * commands/search.c (search_file): Merge into ...
4992 (search_fs): ... this. Accept search type as argument.
4993 (grub_cmd_search): Pass search type to search_fs().
4994
25f9a05a 4995 * include/grub/util/console.h: New file.
4996 * util/console.c: Use it instead of grub/machine/console.h.
4997 * util/grub-emu.c: Likewise.
4998
8279cade 4999 * lib/arg.c (find_long_option): Remove.
5000 (find_long): Add `len' argument, make `s' const char *.
5001 (grub_arg_parse): Parse long options in place, not in a
5002 temporary buffer.
5003
4a11b60f 50042009-07-06 Pavel Roskin <proski@gnu.org>
5005
99f68041 5006 * commands/search.c (search_fs): Fix potential NULL pointer
5007 dereference.
5008
4a11b60f 5009 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5010 function pointer.
5011
e110f4de 50122009-07-06 Daniel Mierswa <impulze@impulze.org>
5013
5014 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5015 comparison.
5016
46eeb6a2 50172009-07-05 Pavel Roskin <proski@gnu.org>
5018
bab74958 5019 * include/grub/i386/linux.h (struct linux_kernel_params):
5020 Restore padding3, it's still needed.
5021
46eeb6a2 5022 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5023 FreeBSD.
5024 * util/osdetect.lua: Likewise.
5025
b4a1dc79 50262009-07-05 Bean <bean123ch@gmail.com>
5027
5028 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5029
5030 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5031 (grub_lua_getenv): Likewise.
5032 (grub_lua_setenv): Likewise.
5033 (save_errno): New function.
5034 (push_result): Likewise.
5035 (grub_lua_enum_device): Likewise.
5036 (grub_lua_enum_file): Likewise.
5037 (grub_lua_file_open): Likewise.
5038 (grub_lua_file_close): Likewise.
5039 (grub_lua_file_seek): Likewise.
5040 (grub_lua_file_read): Likewise.
5041 (grub_lua_file_getline): Likewise.
5042 (grub_lua_file_getsize): Likewise.
5043 (grub_lua_file_getpos): Likewise.
5044 (grub_lua_file_eof): Likewise.
5045 (grub_lua_file_exist): Likewise.
5046 (grub_lua_add_menu): Likewise.
5047
5048 * script/lua/grub_lua.h (isupper): New inline function.
5049 (islower): Likewise.
5050 (ispunct): Likewise.
5051 (isxdigit): Likewise.
5052 (strcspn): Change to normal function.
5053 (strpbkr): New function declaration.
5054 (memchr): Likewise.
5055
5056 * script/lua/grub_main.c (scan_str): New function.
5057 (strcspn): Likewise.
5058 (strpbrk): Likewise.
5059 (memchr): Likewise.
5060
5061 * script/lua/linit.c (lualibs): Enable the string library.
5062
5063 * util/osdetect.lua: New file.
5064
2da92295 50652009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5066
5067 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5068 `capabilities' member.
5069
b2582ec9 50702009-07-02 Pavel Roskin <proski@gnu.org>
5071
5072 * genparttoollist.sh: Add missing newline at the end.
5073
32622956 50742009-07-01 Pavel Roskin <proski@gnu.org>
5075
87a7339e 5076 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5077
d23af54e 5078 * util/hostdisk.c (open_device): Remove `const' from
5079 `sysctl_size', as sysctlbyname() can change it (in this case it
5080 doesn't actually happen).
5081
c94b18a9 5082 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5083 using signed long int constants.
5084
c6cd3ef0 5085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
5086 constant to avoid a warning on FreeBSD.
5087
0df63420 5088 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
5089 where it's needed.
5090
999577f1 5091 * Makefile.in: Install include/grub/machine symlink.
5092
6f41557f 5093 * Makefile.in: When installing symlinks, use "cp -fR", which
5094 works on FreeBSD and MacOSX.
5095 From Yves Blusseau <cl7m42e02@sneakemail.com>
5096
c8d22988 5097 * kern/dl.c (grub_dl_resolve_symbol): Make static.
5098 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
5099
1b96e952 5100 * util/misc.c: Move grub_reboot() and grub_halt() ...
5101 * util/grub-emu.c: ... here. Make main_env static.
5102 * include/grub/util/misc.h: Remove main_env.
5103
2ef0084d 5104 * kern/mm.c: Use correct format to print size_t.
5105
32622956 5106 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
5107 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
5108 * kern/powerpc/dl.c: Likewise.
5109 * kern/sparc64/dl.c: Likewise.
5110 * kern/x86_64/dl.c: Likewise.
5111
3f7f0cd0 51122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5113
5114 Fix grub-emu build on sparc64-ieee1275.
5115
75421ca9 5116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 5117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
5118
211d06b5 51192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
5122 (grub_reboot, grub_halt): New functions.
5123
5124 * util/i386/pc/misc.c: Delete. Update all users.
5125 * util/sparc64/ieee1275/misc.c: Likewise.
5126 * util/powerpc/ieee1275/misc.c: Likewise.
5127
aaf53e3c 51282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5129
5130 * conf/i386.rmk (setjmp_mod_SOURCES)
5131 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
5132 * conf/common.rmk (setjmp_mod_SOURCES)
5133 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
5134 to use $(target_cpu).
5135 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
5136 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
5137 * conf/powerpc-ieee1275.rmk: Likewise.
5138 * conf/sparc64-ieee1275.rmk: Likewise.
5139
5140 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
5141 $(target_cpu) for kern/$(target_cpu)/dl.c.
5142 * conf/i386-efi.rmk: Likewise.
5143 * conf/i386-ieee1275.rmk: Likewise.
5144 * conf/x86_64-efi.rmk: Likewise.
5145 * conf/i386-coreboot.rmk: Likewise.
5146 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
5147 $(target_cpu) for kern/$(target_cpu)/dl.c and for
5148 kern/$(target_cpu)/cache.S.
5149 * conf/sparc64-ieee1275.rmk: Likewise.
5150
a337130b 51512009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5152
5153 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
5154 type to `grub_uint8_t', and adjust `padding9' accordingly.
5155
c6fe4d53 51562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5157
b09db61d 5158 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
5159
c6fe4d53 5160 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
5161 assembly in final jump, using register constraints.
5162
b09db61d 5163 (grub_linux_boot): For text mode, initialize `have_vga' using
5164 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
5165
5166 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
5167 right before the final jump.
5168
5169 Set `video_mode' to 0x3.
5170
5171 Document initialization of `video_page', `video_mode' and
5172 `video_ega_bx'.
5173
28333ad0 51742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5175
5176 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
5177 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 5178 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 5179
02164e1b 51802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5181
5182 Fix build on Debian / sparc.
5183
5184 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
5185
18b6c557 51862009-06-28 Pavel Roskin <proski@gnu.org>
5187
85f2aab6 5188 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
5189 fix a warning.
5190
18b6c557 5191 * util/grub.d/10_linux.in: Match SUSE style initrd names.
5192
ad760f81 51932009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5194
5195 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
5196 `err'.
5197
87a4623b 51982009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5199
5200 Revert r2338.
5201
5202 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
5203 file can't be opened. grub_file_open() is already supposed to set
75421ca9 5204 grub_errno / grub_errmsg appropriately.
87a4623b 5205 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5206
8231fb77 52072009-06-27 Pavel Roskin <proski@gnu.org>
52082009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5209
5210 * include/grub/dl.h: Include grub/elf.h.
5211 (struct grub_dl): Add symtab field.
5212 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
5213 GRUB_MODULES_MACHINE_READONLY.
5214 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
5215 of the header for read-only modules.
5216 (grub_dl_unload): Free mod->symtab for read-only modules.
5217 * kern/i386/dl.c: Use mod->symtab.
5218 * kern/powerpc/dl.c: Likewise.
5219 * kern/sparc64/dl.c: Likewise.
5220 * kern/x86_64/dl.c: Likewise.
5221
5222 * conf/i386-qemu.rmk: New file.
5223 * kern/i386/qemu/startup.S: Likewise.
5224 * kern/i386/qemu/mmap.c: Likewise.
5225 * boot/i386/qemu/boot.S: Likewise.
5226 * include/grub/i386/qemu/time.h: Likewise.
5227 * include/grub/i386/qemu/serial.h: Likewise.
5228 * include/grub/i386/qemu/kernel.h: Likewise.
5229 * include/grub/i386/qemu/console.h: Likewise.
5230 * include/grub/i386/qemu/boot.h: Likewise.
5231 * include/grub/i386/qemu/init.h: Likewise.
5232 * include/grub/i386/qemu/machine.h: Likewise.
5233 * include/grub/i386/qemu/loader.h: Likewise.
5234 * include/grub/i386/qemu/memory.h: Likewise.
5235
5236 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
5237 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
5238 [qemu] (pkglib_IMAGES): Add `boot.img'.
5239 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
5240 [qemu] (boot_img_FORMAT): New variables.
5241 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
5242 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
5243 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
5244 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5245 [qemu] (kernel_img_FORMAT): New variables.
5246
5247 * configure.ac: Recognise `i386-qemu'.
5248
5249 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
5250 (for no compression).
5251 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
5252 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
5253 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
5254 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
5255 ifdefs).
5256
97fe384e 52572009-06-27 Pavel Roskin <proski@gnu.org>
5258
5259 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
5260 read.
5261 * efiemu/prepare32.c: Likewise.
5262 * efiemu/prepare64.c: Likewise.
5263
c402ab17 52642009-06-26 Pavel Roskin <proski@gnu.org>
5265
5266 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
5267 * include/grub/elf.h: Define symbols without "32" or "64" based
5268 on GRUB_TARGET_WORDSIZE.
5269 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
5270 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
5271 ELF definitions.
5272 * efiemu/loadcore64.c: Likewise.
5273 * loader/i386/bsd32.c: Likewise.
5274 * loader/i386/bsd64.c: Likewise.
5275 * kern/dl.c: Remove own ELF definitions.
5276 * util/i386/efi/grub-mkimage.c: Likewise.
5277
9bbdfd4d 52782009-06-23 Robert Millan <rmh.grub@aybabtu.com>
5279
5280 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
5281 segment 0x0 unconditionally, because the reference generated by
5282 GAS is an absolute address.
5283
a42ce6e9 52842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5285
5286 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
5287 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
5288
c952cf92 52892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5290
5291 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
5292 indexes. Check for -f explicitly.
cc3752ad 5293 (search_file): Improve error message.
5294 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 5295
132a0a59 52962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5297
5298 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
5299 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
5300
387a140c 53012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5302
5303 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
5304 * conf/i386-ieee1275.rmk: Likewise.
5305 * conf/i386-coreboot.rmk: Likewise.
5306
5307 * kern/i386/pc/startup.S (grub_stop): Remove function.
5308 * kern/i386/ieee1275/startup.S: Likewise.
5309 * kern/i386/coreboot/startup.S: Likewise.
5310 * kern/i386/misc.S (grub_stop): New function.
5311
41da9665 53122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5313
5314 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
5315 * kern/i386/realmode.S (real_to_prot): ... to here.
5316
bf337234 53172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
5318
5319 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
5320 with `kernel.img'.
5321 (kernel_elf_SOURCES): Rename to ...
5322 (kernel_img_SOURCES): ... this.
5323 (kernel_elf_HEADERS): Rename to ...
5324 (kernel_img_HEADERS): ... this. Update all users.
5325 (kernel_elf_ASFLAGS): Rename to ...
5326 (kernel_img_ASFLAGS): ... this.
5327 (kernel_elf_CFLAGS): Rename to ...
5328 (kernel_img_CFLAGS): ... this.
5329 (kernel_elf_LDFLAGS): Rename to ...
5330 (kernel_img_LDFLAGS): ... this.
5331 * conf/i386-coreboot.rmk: Likewise.
5332 * conf/powerpc-ieee1275.rmk: Likewise.
5333
5334 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
5335 with "kernel.img".
5336
f52196ff 53372009-06-21 Pavel Roskin <proski@gnu.org>
5338
c3cee413 5339 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
5340 to match nested functions.
5341 * loader/sparc64/ieee1275/linux.c: Likewise.
5342
f52196ff 5343 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
5344
58750afc 53452009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5346
5347 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
5348 all i386 platforms.
5349
15355c7d 53502009-06-21 Robert Millan <rmh.grub@aybabtu.com>
5351
5352 Fix asm file handling on ELF, and remove workarounds.
5353
5354 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 5355 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 5356 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
5357 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
5358
3f3ec72b 53592009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 Load BSD ELF modules
5362
5363 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
5364 and loader/i386/bsd64.c
5365 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
5366 (FREEBSD_MODTYPE_ELF_MODULE): New definition
5367 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
5368 (grub_freebsd_load_elfmodule32): New declaration
5369 (grub_freebsd_load_elfmoduleobj64): Likewise
5370 (grub_freebsd_load_elf_meta32): Likewise
5371 (grub_freebsd_load_elf_meta64): Likewise
5372 (grub_freebsd_add_meta): Likewise
5373 (grub_freebsd_add_meta_module): Likewise
5374 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
5375 (grub_freebsd_add_meta_module): Likewise and move module-specific
5376 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
5377 (grub_cmd_freebsd): Add elf-kernel specific parts
5378 based on grub_freebsd_add_meta_module
5379 (grub_cmd_freebsd_module): Add type parsing moved from
5380 grub_freebsd_add_meta_module
5381 (grub_cmd_freebsd_module_elf): New function
5382 (cmd_freebsd_module_elf): New variable
5383 (GRUB_MOD_INIT): Register freebsd_module_elf
5384 * loader/i386/bsd32.c: New file
5385 * loader/i386/bsd64.c: Likewise
5386 * loader/i386/bsdXX.c: Likewise
5387 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
5388 (grub_elf64_load): Likewise
5389 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
5390 All users updated
5391 (grub_elf64_load_hook_t): Likewise
5392
0db15301 53932009-06-21 Colin Watson <cjwatson@ubuntu.com>
5394
5395 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
5396 variable.
5397 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
5398 don't write a menu entry for recovery mode.
5399
546796c1 54002009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5401
5402 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
5403 after it's no longer needed.
5404
cd7310d5 54052009-06-20 Robert Millan <rmh.grub@aybabtu.com>
5406
5407 * include/grub/i386/loader.h (grub_linux_prot_size)
5408 (grub_linux_tmp_addr, grub_linux_real_addr)
5409 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
5410 GRUB_MACHINE_PCBIOS.
5411 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
5412 common grub_util_info() call to ...
5413 (generate_image): ... here.
5414 Fix use of uninitialized memory, comparison of signed with
5415 unsigned integers and memory leak.
5416 Remove bogus module address message.
5417
ab32d3b5 54182009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
5421 grub_raid_register
5422 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
5423
024ef597 54242009-06-19 Pavel Roskin <proski@gnu.org>
5425
5426 * configure.ac: Remove stray AC_MSG_CHECKING.
5427
3ac72b51 54282009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 5431
e14cd814 54322009-06-18 Pavel Roskin <proski@gnu.org>
5433
5434 * conf/common.rmk: Add fs_file.mod.
5435 * disk/fs_file.c: New file.
5436 * include/grub/disk.h (enum grub_disk_dev_id): Add
5437 GRUB_DISK_DEVICE_FILE_ID.
5438
26586d98 54392009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 Fix build with Apple's toolchain. Part 2
5442
5443 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
5444 a fake start
5445
26de2bcd 54462009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 Fix build with Apple's toolchain. Part 1
5449
5450 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
5451 for long calls
5452 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 5453 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 5454 Apple's toolchain
5455
09b3490b 54562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 Fix warnings
5459
5460 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
5461 (decomp_block): initialize ch
5462 use grub_memcpy instead of memcpy
5463
c22a006a 54642009-06-17 Pavel Roskin <proski@gnu.org>
5465
d3638678 5466 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
5467 version, use declarations needed to use vga_text as the startup
5468 console.
5469
c22a006a 5470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
5471 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
5472 the kernel.
5473 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
5474 and grub_at_keyboard_fini(), it's done on module load and
5475 unload.
5476
05b129e0 54772009-06-17 Felix Zielcke <fzielcke@z-51.de>
5478
5479 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
5480 file can't be found.
5481 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5482
cf24ed9e 54832009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Fix newline handling
5486
5487 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 5488 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 5489 (grub_script_yylex): don't segfault on unterminated script
5490 newline terminates command and variable
5491
74aa8e4b 54922009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 avoid double grub_adjust_range call. Bug reported by David Simner
5495
5496 * kern/disk.c (grub_disk_write): change to raw disk access before
5497 calling disk_read
5498
1bd265f3 54992009-06-17 Colin Watson <cjwatson@ubuntu.com>
5500
5501 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
5502 spaces, for the benefit of help2man.
5503 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5504
a2d08c06 55052009-06-16 Pavel Roskin <proski@gnu.org>
5506
5507 * kern/i386/halt.c: Include grub/machine/init.h.
5508 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
5509
b97bcb19 55102009-06-16 Felix Zielcke <fzielcke@z-51.de>
5511
5512 * util/grub.d/30_os-prober.in: Use ${root} in the generated
5513 drivemap menuentry.
5514
0644f96c 55152009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
5516
5517 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
5518 `echo' command.
5519
3ef17a2e 55202009-06-16 Pavel Roskin <proski@gnu.org>
5521
5522 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
5523 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
5524 save %dx, we only need %dl and we never change it.
5525 * boot/i386/pc/cdboot.S: Don't set the root drive.
5526 * boot/i386/pc/pxeboot.S: Likewise.
5527 * include/grub/i386/pc/boot.h: Remove
5528 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
5529 GRUB_BOOT_MACHINE_DRIVE_CHECK.
5530 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
5531 * kern/i386/pc/init.c (make_install_device): Remove references
5532 to grub_root_drive.
5533 * kern/i386/pc/startup.S: Likewise.
5534 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
5535
693fe637 55362009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 xnu_uuid command
5539
5540 * commands/xnu_uuid.c: new file
5541 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
5542 (xnu_uuid_mod_SOURCES): new variable
5543 (xnu_uuid_mod_CFLAGS): likewise
5544 (xnu_uuid_mod_LDFLAGS): likewise
5545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5546 * conf/i386-ieee1275.rmk: likewise
5547 * conf/i386-pc.rmk: likewise
5548 * conf/powerpc-ieee1275.rmk: likewise
5549 * conf/sparc64-ieee1275.rmk: likewise
5550 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
5551
c9da87d0 55522009-06-16 Pavel Roskin <proski@gnu.org>
5553
5554 * configure.ac: Avoid '==' in test command, it's not portable.
5555
9c6f4596 55562009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Probe command
5559
5560 * commands/probe.c: new file
5561 * conf/common.rmk (pkglib_MODULES): add probe.mod
5562 (probe_mod_SOURCES): new variable
5563 (probe_mod_CFLAGS): likewise
5564 (probe_mod_LDFLAGS): likewise
5565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5566 * conf/i386-ieee1275.rmk: likewise
5567 * conf/i386-pc.rmk: likewise
5568 * conf/powerpc-ieee1275.rmk: likewise
5569 * conf/sparc64-ieee1275.rmk: likewise
5570
70b7f9fd 55712009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 Fix handling of string like \"hello\" and "a
5574 b"
5575
5576 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
5577 (grub_script_yylex): fix parsing of quoting, escaping and newline
5578
71c79a6b 55792009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5580
dd74360c 5581 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 5582 handling
dd74360c 5583
0644f96c 55842009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 5585
5586 * util/grub-mkconfig.in: Fix parsing of --output option.
5587
e40893c3 55882009-06-12 Pavel Roskin <proski@gnu.org>
5589
5590 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
5591 genmk.rb don't need to be generated or installed.
5592
3a1acfe2 55932009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * commands/i386/pc/drivemap_int13h.S: add more comments
5596
3a4575d4 55972009-06-11 Pavel Roskin <proski@gnu.org>
5598
0658e928 5599 * Makefile.in (uninstall): Uninstall manuals.
5600
ca0388f0 5601 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
5602 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
5603 and update-grub_lib in two places.
5604 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
5605
e3b27c39 5606 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
5607 a compiler warning.
5608
3a4575d4 5609 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
5610 `entry_lo' to fix variable shadowing.
5611
af1f4f55 56122009-06-11 Christian Franke <franke@computer.org>
5613
5614 * kern/misc.c (__enable_execute_stack): Add missing return type
5615 to prevent gcc warning.
5616
5225e649 56172009-06-11 Felix Zielcke <fzielcke@z-51.de>
5618
5619 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
5620
7d83bd47 56212009-06-11 Pavel Roskin <proski@gnu.org>
5622
c1cb63ba 5623 * Makefile.in: Don't rely on any scripts being executable.
5624 Always use $(SHELL) to run shell scripts.
5625
7d83bd47 5626 * configure.ac: Always define ___main if using -nostdlib. This
5627 fixes tests on Cygwin.
5628
948f48e7 56292009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
5630
5631 UDF fix
5632
7d83bd47 5633 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 5634 is in bytes and not in blocks
7d83bd47 5635
8ada9bc1 56362009-06-11 Pavel Roskin <proski@gnu.org>
5637
5638 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
5639 warning.
5640
25ad2323 56412009-06-11 Felix Zielcke <fzielcke@z-51.de>
5642
5643 * util/grub.d/30_os-prober.in: Fix a comment. Source
5644 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
5645 to set the root device. Place drivemap command in the generated
5646 chain entry.
5647
e65acb0c 56482009-06-11 Pavel Roskin <proski@gnu.org>
5649
5650 * configure.ac: Remove host_m32. Issues with 64-bit utilities
5651 have long been resolved.
5652
f285fe2d 56532009-06-11 Colin Watson <cjwatson@ubuntu.com>
5654
bd47b0b5 5655 * util/grub.d/10_linux.in: Capitalise "Linux".
5656
f285fe2d 5657 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
5658
a0c62e4e 56592009-06-11 Pavel Roskin <proski@gnu.org>
5660
b6783cb2 5661 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
5662 fix a gcc warning and ensure that the function won't ever exit.
5663
dde032e8 5664 * kern/i386/ieee1275/init.c: Add missing prototype for
5665 grub_stop_floppy().
5666
22cd079d 5667 * loader/ieee1275/multiboot2.c [__i386__]: Include
5668 grub/cpu/multiboot.h.
5669
a0c62e4e 5670 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
5671 casts to short - they are not portable and cause warnings. Fix
5672 use of uninitialized values in input_buf. Use ARRAY_SIZE.
5673
63963d17 56742009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Drivemap fixes
5677
5678 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
5679 new function
5680 (grub_get_root_biosnumber_saved): new variable
5681 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
5682 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 5683 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 5684 %dx after the call if necessary
5685 * conf/common.rmk (pkglib_MODULES): remove boot.mod
5686 (boot_mod_SOURCES): remove
5687 (boot_mod_CFLAGS): remove
5688 (boot_mod_LDFLAGS): remove
5689 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
5690 (boot_mod_SOURCES): new variable
5691 (boot_mod_CFLAGS): likewise
5692 (boot_mod_LDFLAGS): likewise
5693 * conf/i386-efi.rmk: likewise
5694 * conf/i386-ieee1275.rmk: likewise
5695 * conf/i386-pc.rmk: likewise
5696 * conf/powerpc-ieee1275.rmk: likewise
5697 * conf/sparc64-ieee1275.rmk: likewise
5698 * conf/x86_64-efi.rmk: likewise
5699 * include/grub/i386/pc/biosnum.h: new file
5700 * lib/i386/pc/biosnum.c: likewise
5701 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
5702 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
5703 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 5704
33abf7ae 57052009-06-10 Pavel Roskin <proski@gnu.org>
5706
5ac35b35 5707 * io/gzio.c (test_header): Don't reuse one buffer for all data.
5708 Use separate variables. Read only the file size at the end, but
5709 not the checksum that we don't use.
5710
5c5215d5 5711 * kern/file.c (grub_file_read): Use void pointer for the buffer.
5712 Adjust all callers.
5713
27d5fef7 5714 * kern/ieee1275/openfw.c: Remove libc includes.
5715 * kern/ieee1275/cmain.c: Likewise.
5716 * include/grub/ieee1275/ieee1275.h: Likewise.
5717
33abf7ae 5718 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
5719 compiler warnings.
5720
19d50c2b 57212009-06-10 Felix Zielcke <fzielcke@z-51.de>
5722
5723 * Makefile.in: Remove all trailing whitespace.
5724 * conf/i386-pc.rmk: Likewise.
5725 * conf/powerpc-ieee1275.rmk: Likewise.
5726 * conf/sparc64-ieee1275.rmk: Likewise.
5727 * docs/grub.texi: Likewise.
5728 * docs/texinfo.tex: Likewise.
5729 * disk/fs_uuid.c: Likewise.
5730 * disk/lvm.c: Likewise.
5731 * disk/scsi.c: Likewise.
5732 * disk/ata.c: Likewise.
5733 * disk/ieee1275/ofdisk.c: Likewise.
5734 * disk/i386/pc/biosdisk.c: Likewise.
5735 * disk/host.c: Likewise.
5736 * disk/raid.c: Likewise.
5737 * disk/efi/efidisk.c: Likewise.
5738 * disk/usbms.c: Likewise.
5739 * disk/memdisk.c: Likewise.
5740 * disk/loopback.c: Likewise.
5741 * kern/powerpc/dl.c: Likewise.
5742 * kern/device.c: Likewise.
5743 * kern/dl.c: Likewise.
5744 * kern/sparc64/dl.c: Likewise.
5745 * kern/ieee1275/ieee1275.c: Likewise.
5746 * kern/term.c: Likewise.
5747 * kern/fs.c: Likewise.
5748 * kern/i386/dl.c: Likewise.
5749 * kern/i386/pc/startup.S: Likewise.
5750 * kern/i386/pc/init.c: Likewise.
5751 * kern/i386/pc/mmap.c: Likewise.
5752 * kern/i386/pc/lzo1x.S: Likewise.
5753 * kern/i386/ieee1275/init.c: Likewise.
5754 * kern/i386/realmode.S: Likewise.
5755 * kern/i386/tsc.c: Likewise.
5756 * kern/partition.c: Likewise.
5757 * kern/corecmd.c: Likewise.
5758 * kern/file.c: Likewise.
5759 * kern/efi/efi.c: Likewise.
5760 * kern/efi/init.c: Likewise.
5761 * kern/efi/mm.c: Likewise.
5762 * kern/main.c: Likewise.
5763 * kern/err.c: Likewise.
5764 * kern/env.c: Likewise.
5765 * kern/disk.c: Likewise.
5766 * kern/generic/millisleep.c: Likewise.
5767 * kern/generic/rtc_get_time_ms.c: Likewise.
5768 * kern/misc.c: Likewise.
5769 * kern/parser.c: Likewise.
5770 * genmk.rb: Likewise.
5771 * configure.ac: Likewise.
5772 * boot/i386/pc/diskboot.S: Likewise.
5773 * boot/i386/pc/pxeboot.S: Likewise.
5774 * boot/i386/pc/boot.S: Likewise.
5775 * boot/i386/pc/lnxboot.S: Likewise.
5776 * boot/i386/pc/cdboot.S: Likewise.
5777 * parttool/pcpart.c: Likewise.
5778 * video/readers/tga.c: Likewise.
5779 * video/video.c: Likewise.
5780 * video/bitmap.c: Likewise.
5781 * lib/envblk.c: Likewise.
5782 * lib/i386/setjmp.S: Likewise.
5783 * fs/xfs.c: Likewise.
5784 * fs/afs.c: Likewise.
5785 * fs/fat.c: Likewise.
5786 * fs/ntfs.c: Likewise.
5787 * fs/udf.c: Likewise.
5788 * fs/affs.c: Likewise.
5789 * fs/iso9660.c: Likewise.
5790 * fs/hfs.c: Likewise.
5791 * fs/fshelp.c: Likewise.
5792 * fs/ext2.c: Likewise.
5793 * fs/jfs.c: Likewise.
5794 * fs/reiserfs.c: Likewise.
5795 * fs/hfsplus.c: Likewise.
5796 * fs/minix.c: Likewise.
5797 * fs/cpio.c: Likewise.
5798 * fs/sfs.c: Likewise.
5799 * fs/ufs.c: Likewise.
5800 * efiemu/prepare.c: Likewise.
5801 * efiemu/loadcore_common.c: Likewise.
5802 * efiemu/runtime/efiemu.sh: Likewise.
5803 * efiemu/runtime/efiemu.S: Likewise.
5804 * efiemu/runtime/efiemu.c: Likewise.
5805 * efiemu/pnvram.c: Likewise.
5806 * efiemu/main.c: Likewise.
5807 * efiemu/i386/pc/cfgtables.c: Likewise.
5808 * efiemu/i386/loadcore64.c: Likewise.
5809 * efiemu/i386/loadcore32.c: Likewise.
5810 * efiemu/loadcore.c: Likewise.
5811 * efiemu/symbols.c: Likewise.
5812 * efiemu/mm.c: Likewise.
5813 * include/grub/autoefi.h: Likewise.
5814 * include/grub/datetime.h: Likewise.
5815 * include/grub/term.h: Likewise.
5816 * include/grub/hfs.h: Likewise.
5817 * include/grub/lvm.h: Likewise.
5818 * include/grub/i386/tsc.h: Likewise.
5819 * include/grub/i386/linux.h: Likewise.
5820 * include/grub/i386/xnu.h: Likewise.
5821 * include/grub/i386/efiemu.h: Likewise.
5822 * include/grub/i386/pc/biosdisk.h: Likewise.
5823 * include/grub/i386/pc/memory.h: Likewise.
5824 * include/grub/i386/pc/vbe.h: Likewise.
5825 * include/grub/parttool.h: Likewise.
5826 * include/grub/video.h: Likewise.
5827 * include/grub/memory.h: Likewise.
5828 * include/grub/fs.h: Likewise.
5829 * include/grub/partition.h: Likewise.
5830 * include/grub/xnu.h: Likewise.
5831 * include/grub/efi/api.h: Likewise.
5832 * include/grub/efi/pe32.h: Likewise.
5833 * include/grub/efi/memory.h: Likewise.
5834 * include/grub/multiboot.h: Likewise.
5835 * include/grub/usbdesc.h: Likewise.
5836 * include/grub/multiboot2.h: Likewise.
5837 * include/grub/acpi.h: Likewise.
5838 * include/grub/efiemu/efiemu.h: Likewise.
5839 * include/grub/disk.h: Likewise.
5840 * include/grub/ieee1275/ieee1275.h: Likewise.
5841 * include/grub/net.h: Likewise.
5842 * include/grub/machoload.h: Likewise.
5843 * include/grub/macho.h: Likewise.
5844 * include/multiboot.h: Likewise.
5845 * genmoddep.awk: Likewise.
5846 * normal/main.c: Likewise.
5847 * normal/menu_entry.c: Likewise.
5848 * normal/menu_viewer.c: Likewise.
5849 * normal/completion.c: Likewise.
5850 * normal/cmdline.c: Likewise.
5851 * normal/misc.c: Likewise.
5852 * normal/datetime.c: Likewise.
5853 * bus/usb/usbtrans.c: Likewise.
5854 * bus/usb/ohci.c: Likewise.
5855 * bus/usb/uhci.c: Likewise.
5856 * bus/usb/usb.c: Likewise.
5857 * mmap/efi/mmap.c: Likewise.
5858 * mmap/i386/pc/mmap_helper.S: Likewise.
5859 * mmap/i386/pc/mmap.c: Likewise.
5860 * mmap/i386/mmap.c: Likewise.
5861 * mmap/i386/uppermem.c: Likewise.
5862 * mmap/mmap.c: Likewise.
5863 * commands/acpi.c: Likewise.
5864 * commands/echo.c: Likewise.
5865 * commands/blocklist.c: Likewise.
5866 * commands/loadenv.c: Likewise.
5867 * commands/usbtest.c: Likewise.
5868 * commands/boot.c: Likewise.
5869 * commands/parttool.c: Likewise.
5870 * commands/search.c: Likewise.
5871 * commands/cat.c: Likewise.
5872 * commands/i386/pc/play.c: Likewise.
5873 * commands/i386/pc/drivemap.c: Likewise.
5874 * commands/i386/pc/vbeinfo.c: Likewise.
5875 * commands/i386/pc/acpi.c: Likewise.
5876 * commands/i386/pc/vbetest.c: Likewise.
5877 * commands/ls.c: Likewise.
5878 * commands/cmp.c: Likewise.
5879 * commands/test.c: Likewise.
5880 * commands/efi/acpi.c: Likewise.
5881 * commands/gptsync.c: Likewise.
5882 * commands/help.c: Likewise.
5883 * partmap/amiga.c: Likewise.
5884 * partmap/apple.c: Likewise.
5885 * partmap/acorn.c: Likewise.
5886 * partmap/pc.c: Likewise.
5887 * partmap/sun.c: Likewise.
5888 * partmap/gpt.c: Likewise.
5889 * script/sh/lexer.c: Likewise.
5890 * script/sh/function.c: Likewise.
5891 * font/font.c: Likewise.
5892 * font/font_cmd.c: Likewise.
5893 * loader/powerpc/ieee1275/linux.c: Likewise.
5894 * loader/efi/chainloader.c: Likewise.
5895 * loader/multiboot_loader.c: Likewise.
5896 * loader/macho.c: Likewise.
5897 * loader/i386/multiboot.c: Likewise.
5898 * loader/i386/linux.c: Likewise.
5899 * loader/i386/pc/linux.c: Likewise.
5900 * loader/i386/pc/multiboot2.c: Likewise.
5901 * loader/i386/pc/chainloader.c: Likewise.
5902 * loader/i386/pc/xnu.c: Likewise.
5903 * loader/i386/bsd_trampoline.S: Likewise.
5904 * loader/i386/efi/linux.c: Likewise.
5905 * loader/i386/multiboot_elfxx.c: Likewise.
5906 * loader/i386/bsd_helper.S: Likewise.
5907 * loader/i386/bsd.c: Likewise.
5908 * loader/i386/linux_trampoline.S: Likewise.
5909 * loader/i386/xnu_helper.S: Likewise.
5910 * loader/i386/xnu.c: Likewise.
5911 * loader/i386/bsd_pagetable.c: Likewise.
5912 * loader/i386/multiboot_helper.S: Likewise.
5913 * loader/xnu.c: Likewise.
5914 * loader/xnu_resume.c: Likewise.
5915 * io/gzio.c: Likewise.
5916 * term/efi/console.c: Likewise.
5917 * term/terminfo.c: Likewise.
5918 * term/ieee1275/ofconsole.c: Likewise.
5919 * term/i386/pc/serial.c: Likewise.
5920 * term/i386/pc/vesafb.c: Likewise.
5921 * term/i386/pc/vga.c: Likewise.
5922 * term/usb_keyboard.c: Likewise.
5923 * term/gfxterm.c: Likewise.
5924 * aclocal.m4: Likewise.
5925 * util/lvm.c: Likewise.
5926 * util/grub.d/30_os-prober.in: Likewise.
5927 * util/grub.d/10_hurd.in: Likewise.
5928 * util/console.c: Likewise.
5929 * util/grub-macho2img.c: Likewise.
5930 * util/grub-probe.c: Likewise.
5931 * util/hostfs.c: Likewise.
5932 * util/i386/pc/grub-mkimage.c: Likewise.
5933 * util/i386/pc/grub-setup.c: Likewise.
5934 * util/i386/efi/grub-mkimage.c: Likewise.
5935 * util/grub-mkconfig.in: Likewise.
5936 * util/raid.c: Likewise.
5937 * util/resolve.c: Likewise.
5938 * util/grub-mkdevicemap.c: Likewise.
5939 * util/grub-emu.c: Likewise.
5940 * util/getroot.c: Likewise.
5941 * util/hostdisk.c: Likewise.
5942 * util/usb.c: Likewise.
5943 * util/grub-editenv.c: Likewise.
5944 * util/misc.c: Likewise.
5945
d2d49665 59462009-06-10 Felix Zielcke <fzielcke@z-51.de>
5947
5948 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5949 `genparttoollist.sh'.
5950 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5951 Add `*.sh' to the list find searches for and change `mdate.sh'
5952 to `mdate-sh'.
5953
fe052e37 59542009-06-10 Pavel Roskin <proski@gnu.org>
5955
2763ac18 5956 * include/grub/multiboot2.h: Provide compatibility defines for
5957 multiboot2.h.
5958 * include/multiboot2.h: Include stdint.h only if needed, using
5959 angle brackets.
5960 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5961 grub/multiboot2.h.
5962 * loader/ieee1275/multiboot2.c: Likewise.
5963 * loader/multiboot2.c: Likewise.
5964 * loader/multiboot_loader.c: Likewise.
5965
437e6adc 5966 * configure.ac: Use -nostdlib when probing for the target. It
5967 should not be required to have libc for the target.
5968
06a6836c 5969 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5970 they fail without libc headers for the target.
5971 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5972 exports.
5973 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5974 preprocessor conditionals.
5975
fe052e37 5976 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5977 build system doesn't need to be aware of the tar.c internals.
5978
afd22553 59792009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 5980
afd22553 5981 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 5982
6b787c4f 59832009-06-09 Robert Millan <rmh.grub@aybabtu.com>
5984
5985 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
5986 disk limit to 26 for IDE, Virtio, Xen and SCSI.
5987
59882009-06-09 Felix Zielcke <fzielcke@z-51.de>
5989
5990 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 5991 aren't available if ata.mod gets used.
6b787c4f 5992
473d1e45 59932009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 5994
473d1e45 5995 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 5996 initialising controller.
473d1e45 5997 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 5998
255a27d4 59992009-06-08 Felix Zielcke <fzielcke@z-51.de>
6000
6001 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6002 to choose between ata and biosdisk module on i386-pc.
6003
473d1e45 60042009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6005
d55842d8 6006 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6007 Subclass and Programming Interface fields in terms of the 3 byte
6008 Class Code register.
6009 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6010
fa5db0b1 6011 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6012 interface is OHCI. Add grub_dprintf for symmetry with
6013 bus/usb/uhci.c.
6014 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6015 interface is UHCI. Add interf variable for programming
6016 interface. Print interface with class/subclass.
6017
c0947beb 6018 * bus/usb/ohci.c: Set interf with correct field.
6019
69da8877 6020 * bus/usb/uhci.c: Remove unneeded doubled lines.
6021 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6022 Remove whitespace inside comment.
6023
9e172e30 60242009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6025
6026 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6027 as fallback an equivalent option without depth.
6028
de65ee2b 60292009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 Not fail if unable to retrieve C/H/S on LBA disks
6032
473d1e45 6033 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6034 if unable to retrieve C/H/S on LBA disks
6035
b57ea2c9 60362009-06-08 Pavel Roskin <proski@gnu.org>
6037
6038 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6039 about aliasing.
6040
af361263 60412009-06-08 Felix Zielcke <fzielcke@z-51.de>
6042
6043 * Makefile.in (uninstall): Remove all $lib_DATA files.
6044
4c9ec6b3 60452009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 Bugfix: install on partitionless device
6048
6049 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6050 is a whole disk
6051
e76fc924 60522009-06-08 Felix Zielcke <fzielcke@z-51.de>
6053
6054 * Makefile.in (uninstall): Remove all $include_DATA files.
6055
ba5a0d05 60562009-06-08 Felix Zielcke <fzielcke@z-51.de>
6057
6058 * commands/true.c: New file. Implement the true and false commands.
6059 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6060 (true_mod_SOURCES): New variable.
6061 (true_mod_CFLAGS): Likewise.
6062 (true_mod_LDFLAGS): Likewise.
6063
c8048e32 60642009-06-05 Colin D Bennett <colin@gibibit.com>
6065
6066 Optimized font character lookup using binary search instead of linear
6067 search. Fonts now are required to have the character index ordered by
6068 code point.
6069
6070 * font/font.c (load_font_index): Verify that fonts have ordered
6071 character indices.
6072 (find_glyph): Use binary search instead of linear search to find a
6073 character in a font.
6074
408305be 60752009-06-05 Michael Scherer <misc@mandriva.org>
6076
6077 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6078 uses case sensitive btree.
6079 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6080 only for case insensitive filesystems.
6081
8ee1e0d9 60822009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6085 * conf/common.rmk (search_mod_CFLAGS): likewise
6086
a9966eb1 60872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6088
473d1e45 6089 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 6090 compensate a compiler bug
6091
9e7100fb 60922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6093
473d1e45 6094 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 6095 instead of '\b'
473d1e45 6096
ede21d71 60972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 Definitions for creating asm symbols with Apple's CC
6100
6101 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
6102 [APPLE_CC] (VARIABLE): likewise
6103
9dbf7653 61042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 Disable lnxboot.img when compiled
6107 with Apple's CC
6108
6109 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
6110 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
6111 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
6112 [! APPLE_CC] (CODE_LENG): skip
6113 [! APPLE_CC] (setup_sects): likewise
6114 [! APPLE_CC]: skip filling
473d1e45 6115
e93cdc3d 61162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Address in trampolines based on 32-bit registers when compiled
6119 with Apple's CC
6120
473d1e45 6121 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 6122 for addresses
6123 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
6124
6c688477 61252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 Avoid aliases when compiling with Apple's CC for PCBIOS machine
6128
6129 * kern/misc.c [APPLE_CC] (memcpy): new function
6130 [APPLE_CC] (memmove): likewise
6131 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 6132 (memcpy): define alias conditionally on !APPLE_CC
6c688477 6133 (memset): likewise
6134 (abort): likewise
6135 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
6136 APPLE_CC are defined
6137 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
6138 (grub_assert_fail): make prototype conditional
6139
e37ffc5c 61402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
6143
473d1e45 6144 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
6145 grub-macho2img
e37ffc5c 6146 (CLEANFILES): add grub-macho2img
6147 (grub_macho2img_SOURCES): new variable
6148 * kern/i386/pc/startup.S (bss_start): new variable
6149 (bss_end): likewise
6150 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
6151 * util/grub-macho2img.c: new file
6152
cf00df31 61532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Use objconv when compiling with Apple's CC
6156
6157 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
6158 (efiemu64.o): likewise
6159 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
6160 when compiling with Apple's CC
6161 (efiemu64_s.o): likewise
6162 * configure.ac: check for objconv when compiling with Apple's CC
6163 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 6164
d119a20c 61652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 Define segment as well as section when compiling with
6168 Apple's CC
6169
6170 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
6171 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
6172 (efiemu_convert_pointer): likewise
6173 (efiemu_set_virtual_address_map): likewise
6174 (efiemu_convert_pointer): likewise
6175 (efiemu_getcrc32): likewise
6176 (init_crc32_table): likewise
6177 (reflect): likewise
6178 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
6179 (GRUB_MOD_DEP): likewise
473d1e45 6180
c8600122 61812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Allow a compilation without -mcmodel=large
6184
6185 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
6186 when compiled without -mcmodel=large
473d1e45 6187 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 6188 without -mcmodel=large
473d1e45 6189 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 6190 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 6191
e8df1d4e 61922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Remove nested functions in efiemu core
6195
6196 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 6197
cc6c3ac1 61982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
6201
6202 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
6203 temporary storage
473d1e45 6204 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
6205 using Apple's CC
cc6c3ac1 6206 (grub_cpu_is_tsc_supported): likewise
6207 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 6208
3e325901 62092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Absolute addressing through constant with Apple's cc
6212
6213 * kern/i386/pc/startup.S: Define necessary constants
6214 and address through it when using ABS with Apple's CC
6215 * boot/i386/pc/diskboot.S: likewise
6216 * boot/i386/pc/boot.S: likewise
6217 * boot/i386/pc/lnxboot.S: likewise
6218 * boot/i386/pc/cdboot.S: likewise
6219 * mmap/i386/pc/mmap_helper.S: likewise
6220 * commands/i386/pc/drivemap_int13h.S: likewise
6221
2b167a72 62222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Check if compiler is apple cc
6225
6226 * Makefile.in (ASFLAGS): new variable
6227 (TARGET_ASFLAGS): likewise
6228 (TARGET_MODULE_FORMAT): likewise
6229 (TARGET_APPLE_CC): likewise
6230 (OBJCONV): likewise
6231 (TARGET_IMG_CFLAGS): likewise
6232 (TARGET_CPPFLAGS): add includedir
6233 * configure.ac: call grub_apple_cc and grub_apple_target_cc
6234 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
6235 Check for linker script only if compiler isn't Apple's CC
6236 (TARGET_MODULE_FORMAT): set
6237 (TARGET_APPLE_CC): likewise
6238 (TARGET_ASFLAGS): likewise
6239 (ASFLAGS): likewise
6240 Check for objcopy only if compiler isn't Apple's CC
6241 Check for BSS symbol only if compiler isn't Apple's CC
6242 * genmk.rb: adapt nm options if we use Apple's utils
6243 * aclocal.m4 (grub_apple_cc): new test
6244 (grub_apple_target_cc): likewise
473d1e45 6245
fb14123e 62462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 Simplify sed expressions and improve awk
6249
6250 * Makefile.in (install-local): simplify sed expression
6251 * gencmdlist.sh: likewise
6252 * genmoddep.awk: avoid adding module as a dependency of itself
6253
5b889789 62542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 Add missing start symbols
6257
6258 * boot/i386/pc/boot.S: add start
fb14123e 6259 * boot/i386/pc/pxeboot.S: likewise
473d1e45 6260
fd2bf2e3 62612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 6264
6265 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 6266 (relocate_addresses): consider both r_addend and value at offset
6267 (make_mods_section): zerofill modinfo and header
6268 (convert_elf): write prefix here
473d1e45 6269
5389763d 62702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Use .asciz instead of .string
6273
6274 * i386/pc/diskboot.S: use .asciz instead of .string
6275 * i386/pc/boot.S: likewise
6276 * include/grub/dl.h (GRUB_MOD_DEP): likewise
6277 (GRUB_MOD_NAME): likewise
473d1e45 6278
3eb5ed4e 62792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 gfxpayload support
6282
6283 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
6284 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
6285 (grub_video_setup): remove
6286 (grub_video_set_mode): new prototype
6287 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
6288 (vid_mode): remove
6289 (linux_vesafb_res): compile only on PCBIOS
6290 (grub_linux_boot): support gfxpayload
6291 * loader/i386/pc/xnu.c (video_hook): new function
6292 (grub_xnu_set_video): support gfxpayload
6293 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
6294 (DEFAULT_VIDEO_HEIGHT): likewise
6295 (DEFAULT_VIDEO_FLAGS): likewise
6296 (DEFAULT_VIDEO_MODE): new definition
6297 (video_hook): new function
6298 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 6299 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 6300 loading xnu
6301 * video/video.c (grub_video_setup): removed
473d1e45 6302 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 6303 grub_video_setup
6304
4b0e1143 63052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 Avoid calling biosdisk in drivemap
6308
6309 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
6310 (revparse_biosdisk): likewise
6311 (list_mappings): derive name from id directly
6312 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 6313
fda6cb98 63142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Script fixes
6317
6318 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
6319 (grub_lexer_param): add tokenonhold
6320 (grub_script_create_cmdline): remove cmdline. All callers updated
6321 (grub_script_function_create): make functionname
6322 grub_script_arg. All callers updated
6323 (grub_script_execute_argument_to_string): new prototype
6324 * kern/parser.c (state_transitions): reorder
6325 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 6326 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 6327 make global
6328 (grub_script_execute_cmdline): use new format
6329 * script/sh/function.c (grub_script_function_create): make functionname
6330 grub_script_arg. All callers updated
473d1e45 6331 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 6332 (grub_script_yylex): remove
6333 (grub_script_yylex2): renamed to ...
6334 (grub_script_yylex): ...renamed
6335 parse the expressions like a${b}c
6336 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
6337 (GRUB_PARSER_TOKEN_VAR): remove
6338 (GRUB_PARSER_TOKEN_NAME): likewise
6339 ("if"): declare as typeless
6340 ("while"): likewise
6341 ("function"): likewise
6342 ("else"): likewise
6343 ("then"): likewise
6344 ("fi"): likewise
6345 (text): remove
6346 (argument): likewise
6347 (script): accept empty scripts and make exit on error
6348 (arguments): use GRUB_PARSER_TOKEN_ARG
6349 (function): likewise
6350 (command): move error handling to script
6351 (menuentry): move grub_script_lexer_ref before
473d1e45 6352 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 6353 argument. All callers updated
6354
f4448a07 63552009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6356
6357 Prevent GRUB from probing floppies during boot.
6358
6359 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
6360 * commands/search.c (options): Add --no-floppy.
6361 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
6362 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
6363 --no-floppy when searching for UUIDs.
6364
2bf5885a 63652009-06-04 Robert Millan <rmh.grub@aybabtu.com>
6366
6367 Simplify the code duplication in commands/search.c.
6368
6369 * commands/search.c (search_label, search_fs_uuid): Merge into ...
6370 (search_fs): ... this. Update all users.
6371
f6fd460a 63722009-06-03 Felix Zielcke <fzielcke@z-51.de>
6373
6374 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
6375
cbb3c83e 63762009-05-28 Pavel Roskin <proski@gnu.org>
6377
57788cfd 6378 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
6379 Remove the original symlink explicitly.
6380
cbb3c83e 6381 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
6382 just one slash. That's how grub_fshelp_find_file() does it.
6383
cd0d5e30 63842009-05-26 Pavel Roskin <proski@gnu.org>
6385
f0f8bbe2 6386 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
6387 to `str'.
6388
cd0d5e30 6389 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
6390 possibly unused.
6391
8c2cab51 63922009-05-25 Christian Franke <franke@computer.org>
6393
6394 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
6395 register.
6396 (grub_atapi_identify): Add wait after drive select.
6397 (grub_ata_identify): Do more strict status register check before
6398 calling grub_atapi_identify (). Suppress error message if status
6399 register is 0x00 after command failure. Add status register
6400 check after PIO read to avoid bogus identify due to stuck DRQ.
6401 Thanks to Pavel Roskin for testing.
6402 (grub_device_initialize): Remove unsafe status register check.
6403 Thanks to 'phcoder' for problem report and patch.
6404 Prevent sign extension in debug message.
6405
230c0ad6 64062009-05-23 Colin D Bennett <colin@gibibit.com>
6407
6408 Cleaned up `include/grub/normal.h'. Grouped prototypes by
6409 definition file, and functions defined in `normal/menu.c' have had
6410 their prototypes moved to `include/grub/menu.h' for consistency.
6411
6412 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
6413 from normal.h.
6414 (grub_menu_get_entry): Likewise.
6415 (grub_menu_get_timeout): Likewise.
6416 (grub_menu_set_timeout): Likewise.
6417 (grub_menu_execute_entry): Likewise.
6418 (grub_menu_execute_with_fallback): Likewise.
6419 (grub_menu_entry_run): Likewise.
6420
6421 * include/grub/normal.h: Re-ordered and grouped function
6422 prototypes by file that the function is defined in.
6423 (grub_menu_execute_callback): Removed; moved to menu.h.
6424 (grub_menu_get_entry): Likewise.
6425 (grub_menu_get_timeout): Likewise.
6426 (grub_menu_set_timeout): Likewise.
6427 (grub_menu_execute_entry): Likewise.
6428 (grub_menu_execute_with_fallback): Likewise.
6429 (grub_menu_entry_run): Likewise.
6430 (grub_menu_addentry): Renamed from this ...
6431 (grub_normal_add_menu_entry): ... to this.
6432
6433 * normal/main.c (grub_menu_addentry): Renamed from this ...
6434 (grub_normal_add_menu_entry): ... to this.
6435
6436 * script/sh/execute.c (grub_script_execute_menuentry): Update
6437 reference to renamed grub_menu_addentry function.
6438
861f03a5 64392009-05-23 Felix Zielcke <fzielcke@z-51.de>
6440
6441 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
6442
96b1619a 64432009-05-22 Pavel Roskin <proski@gnu.org>
6444
bf6a5fb2 6445 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
6446 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
6447 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
6448 compiling for the i386 targets, but not for the utilities.
6449
96b1619a 6450 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
6451 to grub_uint8_t.
6452 (grub_root_drive): Likewise.
6453 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
6454 remove alignment.
6455 (grub_root_drive): Change size to byte.
6456 (grub_start_addr): Remove.
6457 (grub_end_addr): Likewise.
6458 (grub_apm_bios_info): Likewise.
6459
b729776b 64602009-05-21 Felix Zielcke <fzielcke@z-51.de>
6461
6462 * normal/i386: Remove.
6463 * normal/powerpc: Likewise.
6464 * normal/sparc64: Likewise.
6465 * normal/x86_64: Likewise.
6466
0a15ce80 64672009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 6470 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 6471 * loader/i386/xnu_helper.S: Likewise
d6da58e6 6472
33db9015 64732009-05-18 Colin D Bennett <colin@gibibit.com>
6474
d6da58e6 6475 Display error messages when parsing a Lua statement fails.
6476 Previously, executing a syntactically invalid statement like
6477 ")foo" or "bar;" would silently fail.
33db9015 6478
6479 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 6480 (grub_lua_parse_line): Improved reporting of Lua parser and
6481 execution errors.
33db9015 6482
46422c89 64832009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 Remove -Werror which causes build to fail on some systems
6486
6487 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
6488 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
6489 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 6490
22f53a96 64912009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 trampoline for linux on 64-bit platform
6494
18f547ad 6495 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
6496 loader/i386/efi/linux_trampoline.S
6497 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 6498 declaration
d6da58e6 6499 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
6500 here
22f53a96 6501 * loader/i386/linux_trampoline.S: moved here
d6da58e6 6502 * loader/i386/efi/linux.c (allocate_pages): reserve space for
6503 trampoline
22f53a96 6504 (jumpvector): removed
6505 (grub_linux_trampoline_start): new declaration
6506 (grub_linux_trampoline_end): likewise
6507 (grub_linux_boot): use trampoline when on 64-bit platform
6508 * loader/i386/linux.c: likewise
6509
cb5a0f40 65102009-05-16 Pavel Roskin <proski@gnu.org>
6511
6512 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
6513 const to avoid a warning.
6514 (grub_lua_setenv): Likewise.
6515 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
6516 lmsg to fix a warning.
6517
334f2c28 65182009-05-16 Felix Zielcke <fzielcke@z-51.de>
6519
6520 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 6521 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6522 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
6523 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6524 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6525 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
6526 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
6527 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 6528
59e5d3ec 65292009-05-16 Felix Zielcke <fzielcke@z-51.de>
6530
6531 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
6532
9d87a1ba 65332009-05-16 Bean <bean123ch@gmail.com>
6534
6535 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
6536 (lua_mod_SOURCES): New variable.
6537 (lua_mod_CFLAGS): Likewise.
6538 (lua_mod_LDFLAGS): Likewise.
6539
6540 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
6541 (setjmp_mod_SOURCES): New variable.
6542 (setjmp_mod_CFLAGS): Likewise.
6543 (setjmp_LDFLAGS): Likewise.
6544
6545 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
6546 (setjmp_mod_SOURCES): New variable.
6547 (setjmp_mod_CFLAGS): Likewise.
6548 (setjmp_LDFLAGS): Likewise.
6549
6550 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6551 (setjmp_mod_SOURCES): New variable.
6552 (setjmp_mod_CFLAGS): Likewise.
6553 (setjmp_LDFLAGS): Likewise.
6554
6555 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6556 (setjmp_mod_SOURCES): New variable.
6557 (setjmp_mod_CFLAGS): Likewise.
6558 (setjmp_LDFLAGS): Likewise.
6559
6560 * normal/i386/setjmp.S: Moved from here ...
6561 * lib/i386/setjmp.S: ... Moved here
6562 * normal/x86_64/setjmp.S: Moved from here ...
6563 * lib/x86_64/setjmp.S: ... Moved here
6564 * normal/powerpc/setjmp.S: Moved from here ...
6565 * lib/powerpc/setjmp.S: ... Moved here
6566 * normal/sparc64/setjmp.S: Moved from here ...
6567 * lib/sparc64/setjmp.S: ... Moved here
6568
6569 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
6570 returns_twice in mingw.
6571
6572 * script/lua/grub_lib.c: New file.
6573 * script/lua/grub_lib.h: Likewise.
6574 * script/lua/grub_lua.h: Likewise.
6575 * script/lua/grub_main.c: Likewise.
6576 * script/lua/lapi.c: Likewise.
6577 * script/lua/lapi.h: Likewise.
6578 * script/lua/lauxlib.c: Likewise.
6579 * script/lua/lauxlib.h: Likewise.
6580 * script/lua/lbaselib.c: Likewise.
6581 * script/lua/lcode.c: Likewise.
6582 * script/lua/lcode.h: Likewise.
6583 * script/lua/ldblib.c: Likewise.
6584 * script/lua/ldebug.c: Likewise.
6585 * script/lua/ldebug.h: Likewise.
6586 * script/lua/ldo.c: Likewise.
6587 * script/lua/ldo.h: Likewise.
6588 * script/lua/ldump.c: Likewise.
6589 * script/lua/lfunc.c: Likewise.
6590 * script/lua/lfunc.h: Likewise.
6591 * script/lua/lgc.c: Likewise.
6592 * script/lua/lgc.h: Likewise.
6593 * script/lua/linit.c: Likewise.
6594 * script/lua/liolib.c: Likewise.
6595 * script/lua/llex.c: Likewise.
6596 * script/lua/llex.h: Likewise.
6597 * script/lua/llimits.h: Likewise.
6598 * script/lua/lmathlib.c: Likewise.
6599 * script/lua/lmem.c: Likewise.
6600 * script/lua/lmem.h: Likewise.
6601 * script/lua/loadlib.c: Likewise.
6602 * script/lua/lobject.c: Likewise.
6603 * script/lua/lobject.h: Likewise.
6604 * script/lua/lopcodes.c: Likewise.
6605 * script/lua/lopcodes.h: Likewise.
6606 * script/lua/loslib.c: Likewise.
6607 * script/lua/lparser.c: Likewise.
6608 * script/lua/lparser.h: Likewise.
6609 * script/lua/lstate.c: Likewise.
6610 * script/lua/lstate.h: Likewise.
6611 * script/lua/lstring.c: Likewise.
6612 * script/lua/lstring.h: Likewise.
6613 * script/lua/lstrlib.c: Likewise.
6614 * script/lua/ltable.c: Likewise.
6615 * script/lua/ltable.h: Likewise.
6616 * script/lua/ltablib.c: Likewise.
6617 * script/lua/ltm.c: Likewise.
6618 * script/lua/ltm.h: Likewise.
6619 * script/lua/lua.h: Likewise.
6620 * script/lua/luaconf.h: Likewise.
6621 * script/lua/lualib.h: Likewise.
6622 * script/lua/lundump.c: Likewise.
6623 * script/lua/lundump.h: Likewise.
6624 * script/lua/lvm.c: Likewise.
6625 * script/lua/lvm.h: Likewise.
6626 * script/lua/lzio.c: Likewise.
6627 * script/lua/lzio.h: Likewise.
6628
5e898c9d 66292009-05-16 Bean <bean123ch@gmail.com>
6630
6631 * include/grub/kernel.h (grub_module_header_types): Add type
6632 OBJ_TYPE_CONFIG.
6633
6634 * kern/main.c (grub_load_config): New function.
6635 (grub_main): Call grub_load_config to read boot config.
6636
6637 * grub-mkimage (generate_image): New parameter config_path.
6638 (options): New option --config.
6639 (main): Parse --config option, and pass it to generate_image.
6640
cf353a47 66412009-05-14 Christian Franke <franke@computer.org>
6642
6643 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
6644 This fixes build on Cygwin.
6645
3834887f 66462009-05-14 Pavel Roskin <proski@gnu.org>
6647
6648 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
6649 jump. This saves two bytes, so the typical case of 2 swapped
6650 drives would fit 32 bytes.
6651
8090fc01 66522009-05-13 Pavel Roskin <proski@gnu.org>
6653
ac963883 6654 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
6655 grub_uint32_t to avoid a warning.
6656
8090fc01 6657 * loader/i386/linux.c (allocate_pages): When assigning
6658 real_mode_mem, cast through grub_size_t to fix a warning. The
6659 code already makes sure that the value would fit a pointer.
6660 (grub_linux_setup_video): Cast render_target->data to
6661 grub_size_t to fix a warning.
6662
18f547ad 66632009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 6664
6665 * commands/i386/pc/drivemap.c: New file - implement drivemap
6666 command.
6667 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
6668 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
6669
6f6a8b28 66702009-05-13 Pavel Roskin <proski@gnu.org>
6671
6672 * util/i386/pc/grub-setup.c (setup): Remove unused variable
6673 embedding_area_exists.
6674
15fbf4c4 66752009-05-13 Robert Millan <rmh.grub@aybabtu.com>
6676
6677 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
6678 it easier to understand / work with.
59978c8a 6679 Improve warning messages for cases where there's no embedding area,
6680 or when it is too small (or core.img too large).
15fbf4c4 6681
238e871f 66822009-05-13 Pavel Roskin <proski@gnu.org>
6683
0ab3a9a4 6684 * loader/i386/pc/multiboot2.c: Add necessary includes for
6685 grub_multiboot2_real_boot().
6686
a2c8c5f8 6687 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
6688 PX record is always little-endian. We only need the lower 2
6689 bytes of the mode.
6690
faec96af 6691 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
6692 facilitate code reuse.
6693 (grub_cpio_mount): Use "struct head", not a char buffer. This
6694 fixes a warning reported by gcc 4.4.
6695
238e871f 6696 * kernel/disk.c (grub_disk_read): Use void pointer for the
6697 buffer.
6698 (grub_disk_write): Use const void pointer for the buffer.
6699 Adjust all callers. Remove unnecessary casts.
6700
901d2f0c 67012009-05-10 Robert Millan <rmh.grub@aybabtu.com>
6702
6703 * util/i386/pc/grub-install.in: Update copyright year.
6704
18f547ad 67052009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 6706
6707 gptsync
6708
6709 * commands/gptsync.c: new file
6710 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
6711 (gptsync_mod_SOURCES): new variable
6712 (gptsync_mod_CFLAGS): likewise
6713 (gptsync_mod_LDFLAGS): likewise
18f547ad 6714 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 6715 new definition
6716 (GRUB_PC_PARTITION_TYPE_HFS): likewise
6717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
6718 * conf/i386-ieee1275.rmk: likewise
6719 * conf/i386-pc.rmk: likewise
6720 * conf/powerpc-ieee1275.rmk: likewise
6721
b4ba690a 67222009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 Fixed grub-emu
6725
6726 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
6727 (grub_dl_ref): likewise
6728
317e1a44 67292009-05-08 Robert Millan <rmh.grub@aybabtu.com>
6730
6731 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
6732 split in two functions (one for msdos and one for gpt).
6733
041b8094 67342009-05-08 Pavel Roskin <proski@gnu.org>
6735
752473c2 6736 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
6737 not modified.
6738
041b8094 6739 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
6740 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
6741 Initialize them with -1. Add sanity check for bad1. Eliminate
6742 nerr variable.
6743
172800ce 67442009-05-08 David S. Miller <davem@davemloft.net>
6745
6746 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
6747
29aa5e81 67482009-05-06 Robert Millan <rmh.grub@aybabtu.com>
6749
6750 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 6751 existence.
29aa5e81 6752
96613b62 67532009-05-05 Felix Zielcke <fzielcke@z-51.de>
6754
6755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 6756 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 6757
eef73c8a 67582009-05-05 David S. Miller <davem@davemloft.net>
6759
6760 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
6761
119494b5 67622009-05-05 Pavel Roskin <proski@gnu.org>
6763
6764 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
6765 of grub_dl_ref() and grub_dl_unref().
6766 * commands/parttool.c: Remove preprocessor conditionals around
6767 grub_dl_ref() and grub_dl_unref().
6768 * fs/affs.c: Likewise.
6769 * fs/afs.c: Likewise.
6770 * fs/cpio.c: Likewise.
6771 * fs/ext2.c: Likewise.
6772 * fs/fat.c: Likewise.
6773 * fs/hfs.c: Likewise.
6774 * fs/hfsplus.c: Likewise.
6775 * fs/iso9660.c: Likewise.
6776 * fs/jfs.c: Likewise.
6777 * fs/minix.c: Likewise.
6778 * fs/ntfs.c: Likewise.
6779 * fs/reiserfs.c: Likewise.
6780 * fs/sfs.c: Likewise.
6781 * fs/udf.c: Likewise.
6782 * fs/ufs.c: Likewise.
6783 * fs/xfs.c: Likewise.
6784 * include/grub/dl.h: Likewise.
6785 * loader/xnu.c: Likewise.
6786
de5fd76e 67872009-05-04 Pavel Roskin <proski@gnu.org>
6788
6789 * commands/acpi.c: Remove unused variable my_mod.
6790 * partmap/amiga.c: Likewise.
6791 * partmap/apple.c: Likewise.
6792 * partmap/gpt.c: Likewise.
6793 * partmap/pc.c: Likewise.
6794 * partmap/sun.c: Likewise.
6795 * term/gfxterm.c: Likewise.
6796 * term/i386/pc/vesafb.c: Likewise.
6797 * term/i386/pc/vga.c: Likewise.
6798
983598ad 67992009-05-04 David S. Miller <davem@davemloft.net>
6800
6801 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
6802 pointer args to grub_ieee1275_get_property().
6803
8aadec43 6804 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
6805
9554b15e 6806 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
6807 devices, and do not traverse down under controller nodes.
6808
67e23c90 6809 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
6810 (grub_ofdisk_open): Use it to un-escape "," characters.
6811 * kern/disk.c (find_part_sep): New.
6812 (grub_disk_open): Use it to find the first non-escaped ','
6813 character in the disk name.
6814 * util/ieee1275/devicemap.c (escape_of_path): New.
6815 (grub_util_emit_devicemap_entry): Use it.
6816 * util/sparc64/ieee1275/grub-install.in: Update script to
6817 strip partition specifiers properly by not triggering on
6818 '\' escaped ',' characters.
6819
74bfdd2f 68202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6821
6822 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
6823 to 0x300.
6824 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
6825 resolutions.
6826 (linux_vesafb_modes): Add a lot of additional modes to the list (based
6827 on documentation from Wikipedia).
6828
4241d2b1 68292009-05-04 Pavel Roskin <proski@gnu.org>
6830
6831 * disk/ata.c: Spelling fixes.
6832 * disk/raid.c: Likewise.
6833 * disk/usbms.c: Likewise.
6834 * disk/dmraid_nvidia.c: Likewise.
6835 * kern/ieee1275/openfw.c: Likewise.
6836 * kern/ieee1275/init.c: Likewise.
6837 * kern/ieee1275/cmain.c: Likewise.
6838 * boot/i386/pc/cdboot.S: Likewise.
6839 * video/readers/png.c: Likewise.
6840 * video/i386/pc/vbe.c: Likewise.
6841 * fs/udf.c: Likewise.
6842 * fs/hfs.c: Likewise.
6843 * fs/reiserfs.c: Likewise.
6844 * efiemu/runtime/efiemu.c: Likewise.
6845 * efiemu/main.c: Likewise.
6846 * efiemu/mm.c: Likewise.
6847 * include/grub/elf.h: Likewise.
6848 * include/grub/xnu.h: Likewise.
6849 * include/grub/usbdesc.h: Likewise.
6850 * include/grub/usb.h: Likewise.
6851 * include/grub/script_sh.h: Likewise.
6852 * include/grub/lib/LzmaEnc.h: Likewise.
6853 * include/grub/efiemu/efiemu.h: Likewise.
6854 * include/grub/command.h: Likewise.
6855 * normal/menu.c: Likewise.
6856 * normal/main.c: Likewise.
6857 * normal/datetime.c: Likewise.
6858 * bus/usb/uhci.c: Likewise.
6859 * mmap/i386/uppermem.c: Likewise.
6860 * mmap/mmap.c: Likewise.
6861 * commands/acpi.c: Likewise.
6862 * commands/test.c: Likewise.
6863 * partmap/apple.c: Likewise.
6864 * font/font.c: Likewise.
6865 * loader/sparc64/ieee1275/linux.c: Likewise.
6866 * loader/macho.c: Likewise.
6867 * loader/i386/bsd_trampoline.S: Likewise.
6868 * loader/i386/bsd.c: Likewise.
6869 * loader/xnu.c: Likewise.
6870 * term/i386/pc/vesafb.c: Likewise.
6871 * term/usb_keyboard.c: Likewise.
6872 * util/resolve.c: Likewise.
6873 * util/getroot.c: Likewise.
6874
0cfc0083 68752009-05-04 Felix Zielcke <fzielcke@z-51.de>
6876
6877 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
6878
7c1d00cd 68792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6880
6881 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
6882 build error.
6883
b01f0548 68842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6885
6886 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
6887 parameter only available on BIOS.
6888
ecc3eb22 68892009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Removed wrong semicolon in declaration
6892
6893 * grub/misc.h (grub_dprintf): remove semicolon
6894
112972a9 68952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6896
6897 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
6898 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
6899 is done by grub_cmd_linux() now).
6900 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
6901 restore video to text mode.
6902 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
6903 indicates lack of "vga=" parameter. "vga=0" is mapped to
6904 `GRUB_LINUX_VID_MODE_NORMAL'.
6905
afd5c115 69062009-05-04 Felix Zielcke <fzielcke@z-51.de>
6907
6908 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
6909 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
6910 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 6911 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 6912 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
6913 `grub_script.tab.c'.
6914
6915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6916 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6918 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6919 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6920
faa517ce 6921 * Makefile.in: Remove duplicated 2008 in Copyright line.
6922
ae0c0bdc 69232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6924
473d1e45 6925 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6926 unconditionally.
6927 * include/grub/util/misc.h (grub_util_warn): New declaration.
6928
6929 * util/i386/pc/grub-install.in: Understand --force and pass it down
6930 to grub-setup.
6931
6932 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6933 down to setup().
6934 (setup): Improve error messages and add warnings when requested to
6935 install in odd layouts. Refuse to install using blocklists unless
6936 --force was set.
6937
18f547ad 69382009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6939
6940 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6941
6d260daa 69422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 Updated copyright year
6945
6946 * fs/hfsplus.c: updated copyright year
18f547ad 6947
69f853f8 69482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 HFS+ UUID
6951
18f547ad 6952 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6953 in the space previously used by unused3
6954 (grub_hfsplus_uuid): new function
6955 (grub_hfsplus_fs): added uuid field
6956
4c402e73 69572009-05-03 Pavel Roskin <proski@gnu.org>
6958
6959 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6960 suppress warnings. It's no longer needed.
6961 * disk/host.c: Likewise.
6962 * disk/ata_pthru.c: Likewise.
6963 * disk/loopback.c: Likewise.
6964 * hook/datehook.c: Likewise.
6965 * parttool/pcpart.c: Likewise.
6966 * fs/i386/pc/pxe.c: Likewise.
6967 * fs/ntfscomp.c: Likewise.
6968 * efiemu/main.c: Likewise.
6969 * mmap/mmap.c: Likewise.
6970 * commands/crc.c: Likewise.
6971 * commands/hexdump.c: Likewise.
6972 * commands/hdparm.c: Likewise.
6973 * commands/acpi.c: Likewise.
6974 * commands/echo.c: Likewise.
6975 * commands/minicmd.c: Likewise.
6976 * commands/blocklist.c: Likewise.
6977 * commands/memrw.c: Likewise.
6978 * commands/loadenv.c: Likewise.
6979 * commands/usbtest.c: Likewise.
6980 * commands/lsmmap.c: Likewise.
6981 * commands/boot.c: Likewise.
6982 * commands/parttool.c: Likewise.
6983 * commands/configfile.c: Likewise.
6984 * commands/search.c: Likewise.
6985 * commands/ieee1275/suspend.c: Likewise.
6986 * commands/cat.c: Likewise.
6987 * commands/i386/pc/pxecmd.c: Likewise.
6988 * commands/i386/pc/play.c: Likewise.
6989 * commands/i386/pc/halt.c: Likewise.
6990 * commands/i386/pc/vbeinfo.c: Likewise.
6991 * commands/i386/pc/vbetest.c: Likewise.
6992 * commands/lspci.c: Likewise.
6993 * commands/date.c: Likewise.
6994 * commands/handler.c: Likewise.
6995 * commands/ls.c: Likewise.
6996 * commands/test.c: Likewise.
6997 * commands/cmp.c: Likewise.
6998 * commands/efi/loadbios.c: Likewise.
6999 * commands/efi/fixvideo.c: Likewise.
7000 * commands/halt.c: Likewise.
7001 * commands/help.c: Likewise.
7002 * commands/reboot.c: Likewise.
7003 * hello/hello.c: Likewise.
7004 * script/sh/main.c: Likewise.
7005 * loader/xnu.c: Likewise.
7006 * term/terminfo.c: Likewise.
7007 * term/i386/pc/serial.c: Likewise.
7008 * term/usb_keyboard.c: Likewise.
7009
515b5079 70102009-05-03 David S. Miller <davem@davemloft.net>
7011
7012 * normal/menu.c: Include grub/parser.h
7013
dfc31a22 70142009-05-03 Pavel Roskin <proski@gnu.org>
7015
2fee74f1 7016 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7017 not char*.
7018 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7019 Suggested by Javier Martín <lordhabbit@gmail.com>
7020
dfc31a22 7021 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7022 efiemu??.o doesn't exist.
7023 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7024 copying.
7025
18f547ad 70262009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7027
7028 FreeBSD 64-bit support
7029
18f547ad 7030 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7031 and loader/i386/bsd_trampoline.S
7032 (bsd_mod_ASFLAGS): new variable
7033 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7034 (FREEBSD_MODTYPE_KERNEL64): likewise
7035 (grub_bsd64_trampoline_start): likewise
7036 (grub_bsd64_trampoline_end): likewise
7037 (grub_bsd64_trampoline_selfjump): likewise
7038 (grub_bsd64_trampoline_gdt): likewise
7039 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7040 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7041 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7042 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7043 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7044 of "attrib" member
7045 * loader/i386/bsd_pagetable.c: new file
7046 * loader/i386/bsd_trampoline.S: likewise
7047 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7048 (ALIGN_VAR): likewise
7049 (entry_hi): new variable
7050 (kern_end_mdofs): likewise
7051 (is_64bit): likewise
7052 (grub_freebsd_add_meta): use ALIGN_VAR
7053 (grub_e820_mmap): new declaration
7054 (grub_freebsd_add_mmap): new function
7055 (grub_freebsd_add_meta_module): support 64 bit kernels
7056 (grub_freebsd_list_modules): use ALIGN_VAR
7057 (gdt_descriptor): new declaration
7058 (grub_freebsd_boot): support 64 bit kernels
7059 (grub_bsd_elf64_hook): new function
7060 (grub_bsd_load_elf): support elf64
7061
038c5720 70622009-05-03 Bean <bean123ch@gmail.com>
7063
7064 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7065 after we get the result of if statement.
7066
fc45fb58 70672009-05-03 Bean <bean123ch@gmail.com>
7068
7069 * Makefile.in (enable_efiemu): New variable.
7070
7071 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7072 set.
7073 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7074 path.
7075 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7076 path, add -mno-red-zone option.
7077 (efiemu64_s.o): Likewise.
7078 (efiemu64.o): Use macro $^ for source file.
7079
7080 * configure.ac (--enable-efiemu): New option.
7081
bbee0f2b 70822009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 xnu support
7085
7086 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
7087 (pkglib_MODULES): add xnu.mod
7088 (xnu_mod_SOURCES): new variable
7089 (xnu_mod_CFLAGS): likewise
7090 (xnu_mod_LDFLAGS): likewise
7091 (xnu_mod_ASFLAGS): likewise
7092 * conf/i386-pc.rmk: likewise
7093 * conf/x86_64-efi.rmk: likewise
7dd4a573 7094 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 7095 new declaration
7096 * include/grub/i386/macho.h: new file
7097 * include/grub/i386/xnu.h: likewise
7098 * include/grub/macho.h: likewise
7099 * include/grub/machoload.h: likewise
7100 * include/grub/x86_64/macho.h: likewise
7101 * include/grub/x86_64/xnu.h: likewise
7102 * include/grub/xnu.h: likewise
7103 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
7104 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
7105 * loader/i386/efi/xnu.c: new file
7106 * loader/i386/pc/xnu.c: likewise
7107 * loader/i386/xnu.c: likewise
7108 * loader/i386/xnu_helper.S: likewise
7109 * loader/macho.c: likewise
7110 * loader/xnu.c: likewise
7111 * loader/xnu_resume.c: likewise
7112 * util/grub-dumpdevtree: likewise
7113 * include/grub/i386/pit.h: include grub/err.h
7114 (grub_pit_wait): export
7115 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 7116
5caf964d 71172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Efiemu
7dd4a573 7120
5caf964d 7121 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 7122 _linux_efi, linux_efi.
7123 new files in grub-emu
5caf964d 7124 new targets efiemu32.o and efiemu64.o
7125 * loader/linux_normal_efiemu.c: likewise
7126 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 7127 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 7128 files to copy
7129 * include/grub/autoefi.h: new file
7dd4a573 7130 * include/grub/i386/efiemu.h: likewise
5caf964d 7131 * include/grub/i386/pc/efiemu.h: likewise
7132 * include/grub/efi/api.h: add LL suffix when necessary
7133 new definitions relating to tables
7134 * include/grub/efiemu/efiemu.h: new file
7135 * include/grub/efiemu/runtime.h: likewise
7136 * efiemu/prepare.c: likewise
7137 * efiemu/loadcore_common.c: likewise
7138 * efiemu/loadcore64.c: likewise
7139 * efiemu/runtime/efiemu.sh: likewise
7140 * efiemu/runtime/efiemu.S: likewise
7141 * efiemu/runtime/efiemu.c: likewise
7142 * efiemu/runtime/config.h: likewise
7143 * efiemu/prepare32.c: likewise
7144 * efiemu/main.c: likewise
7145 * efiemu/modules/pnvram.c: likewise
7146 * efiemu/modules/i386: likewise
7147 * efiemu/modules/i386/pc: likewise
7148 * efiemu/modules/acpi.c: likewise
7149 * efiemu/i386/pc/cfgtables.c: likewise
7150 * efiemu/i386/loadcore64.c: likewise
7151 * efiemu/i386/loadcore32.c: likewise
7152 * efiemu/prepare64.c: likewise
7153 * efiemu/loadcore.c: likewise
7154 * efiemu/symbols.c: likewise
7155 * efiemu/mm.c: likewise
7156 * efiemu/loadcore32.c: likewise
7dd4a573 7157
71582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 7159
7160 ACPI spoofing
7161
7162 * commands/acpi.c: new file
7163 * commands/i386/pc/acpi.c: likewise
7164 * commands/efi/acpi.c: likewise
7165 * include/grub/acpi.h: likewise
7166 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
7167 (acpi_mod_SOURCES): new variable
7168 (acpi_mod_CFLAGS): likewise
7169 (acpi_mod_LDFLAGS): likewise
7170 * conf/i386-efi.rmk: likewise
7171 * conf/x86_64-efi.rmk: likewise
7172
7dd4a573 71732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 7174
7175 Missing part from mmap patch
7176
7177 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
7178 (grub_mmap_unregister)
7179 (grub_mmap_free_and_unregister): use grub_mmap_register
7180
7dd4a573 71812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 7182
7183 Mmap services
7184
7185 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
7186 * loader/i386/linux.c (find_mmap_size): likewise
7187 (allocate_pages): likewise
7188 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
7189 (grub_fill_multiboot_mmap): likewise
7190 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
7191 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
7192 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
7193 (OPENBSD_MMAP_RESERVED): likewise
7194 * include/grub/i386/pc/memory.h: include grub/memory.h
7195 (grub_lower_mem): removed
7196 (grub_upper_mem): likewise
7197 (GRUB_MACHINE_MEMORY_ACPI): new definition
7198 (GRUB_MACHINE_MEMORY_NVS): likewise
7199 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
7200 (GRUB_MACHINE_MEMORY_HOLE): likewise
7201 (grub_machine_mmap_register): likewise
7202 (grub_machine_mmap_unregister): likewise
7203 (grub_machine_get_upper): likewise
7204 (grub_machine_get_lower): likewise
7205 (grub_machine_get_post64): likewise
7206 * include/grub/i386/efi/memory.h: new file
7207 * include/grub/x86_64/efi/memory.h: likewise
7208 * include/grub/efi/memory.h: likewise
7209 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
7210 (mmap_mod_SOURCES): new variable
7211 (mmap_mod_LDFLAGS): likewise
7212 (mmap_mod_ASFLAGS): likewise
7213 * conf/i386-coreboot.rmk: likewise
7214 * conf/i386-ieee1275.rmk: likewise
7215 * conf/i386-efi.rmk: likewise
7216 * conf/x86_64-efi.rmk: likewise
7217 * include/grub/types.h (UINT_TO_PTR): new macro
7218 (PTR_TO_UINT32): likewise
7219 (PTR_TO_UINT64): likewise
7220 * include/grub/memory.h: new file
7221 * mmap/i386/pc/mmap.c: likewise
7222 * mmap/i386/pc/mmap_helper.S: likewise
7223 * mmap/i386/uppermem.c: likewise
7224 * mmap/mmap.c: likewise
7225 * mmap/efi/mmap.c: likewise
7dd4a573 7226 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 7227 grub_upper_mem
7228 * kern/i386/pc/init.c (grub_lower_mem): removed variable
7229 (grub_upper_mem): likewise
7230 (grub_machine_init): don't use grub_upper_mem,
7231 make grub_lower_mem local
7232 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
7233 grub_mmap_iterate and grub_mmap_get_upper
7234 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
7235
d558e6b5 72362009-05-02 Bean <bean123ch@gmail.com>
7237
7238 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
7239 script/sh/parser.y.
7240 (pkglib_MODULES): Add normal.mod and sh.mod.
7241 (normal_SOURCES): New variable.
7242 (normal_mod_CFLAGS): Likewise.
7243 (normal_mod_LDFLAGS): Likewise.
7244 (sh_mod_SOURCES): Likewise.
7245 (sh_mod_CFLAGS): Likewise.
7246 (sh_mod_LDFLAGS): Likewise.
7247
7248 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
7249 script/sh/lexer.c_DEPENDENCIES.
7250 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
7251 kern/rescue_reader.c and kern/rescue_parser.c.
7252 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
7253 (grub_emu_SOURCES): Change source files.
7254 (pkglib_MODULES): Remove normal.mod.
7255 (normal_SOURCES): Removed.
7256 (normal_mod_CFLAGS): Likewise.
7257 (normal_mod_LDFLAGS): Likewise.
7258 * conf/i386-coreboot.rmk: Likewise.
7259 * conf/i386-efi.rmk: Likewise.
7260 * conf/i386-ieee1276.rmk: Likewise.
7261 * conf/powerpc-ieee1275.rmk: Likewise.
7262 * conf/sparc64-ieee1275.rmk: Likewise.
7263 * conf/x86_64-efi.rmk: Likewise.
7264
7265 * include/grub/command.h (grub_command_execute): New inline function.
7266
7267 * include/grub/menu.h (grub_menu_entry): Removed commands field.
7268
7269 * include/grub/normal.h: Remove <grub/setjmp.h>.
7270 (grub_fs_module_list): Moved to normal/autofs.c.
7271 (grub_exit_env): Removed.
7272 (grub_command_execute): Likewise.
7273 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
7274 parameter script.
7275 (read_command_list): New function declaration.
7276 (read_fs_list): Likewise.
7277
7278 * include/parser.h: Include <grub/reader.h>.
7279 (grub_parser_split_cmdline): Change type of getline parameter.
7280 (grub_parser): New structure.
7281 (grub_parser_class): New variable.
7282 (grub_parser_execute): New function declaration.
7283 (grub_register_rescue_parser): Likewise.
7284 (grub_parser_register): New inline function.
7285 (grub_parser_unregister): Likewise.
7286 (grub_parser_get_current): Likewise.
7287 (grub_parser_set_current): Likewise.
7288
7289 * include/grub/reader.h: New file.
7290 * kern/reader.c: Likewise.
7291 * kern/rescue_parser.c: Likewise.
7292 * kern/rescue_reader.c: Likewise.
7293 * normal/autofs.c: Likewise.
7294 * normal/dyncmd.c: Likewise.
7295
7296 * include/grub/rescue.h: Removed.
7297 * normal/command.h: Likewise.
7298
7299 * include/grub/script.h: Moved to ...
7300 * include/grub/script_sh.h: ... Moved here.
7301 * normal/execute.c: Moved to ...
7302 * script/sh/execute.c: ... Moved here.
7303 * normal/function.c: Moved to ...
7304 * script/sh/function.c: ... Moved here.
7305 * normal/lexer.c: Moved to ...
7306 * script/sh/lexer.c: ... Moved here.
7307 * normal/parser.y: Moved to ...
7308 * script/sh/parser.y: ... Moved here.
7309 * normal/script.c: Moved to ...
7310 * script/sh/script.c: ... Moved here.
7311
7312 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
7313 <grub/reader.h>.
7314 (grub_exit_env): Removed.
7315 (fs_module_list): Moved to normal/autofs.c.
7316 (grub_file_getline): Don't handle comment here.
7317 (free_menu): Skip removed field entry->commands.
7318 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
7319 script parameter.
7320 (read_config_file): Removed nested parameter, change getline function.
7321 (grub_enter_normal_mode): Removed.
7322 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
7323 (read_command_list): Likewise.
7324 (autoload_fs_module): Moved to normal/autofs.c.
7325 (read_fs_list): Likewise.
7326 (reader_nested): New variable.
7327 (grub_normal_execute): Run parser.sh to switch to sh parser.
7328 (grub_cmd_rescue): Removed.
7329 (cmd_normal): Removed.
7330 (grub_cmd_normal): Unregister itself at the beginning. Don't register
7331 rescue command.
7332 (grub_cmdline_run): New function.
7333 (grub_normal_reader_init): Likewise.
7334 (grub_normal_read_line): Likewise.
7335 (grub_env_write_pager): Likewise.
7336 (cmdline): New variable.
7337 (grub_normal_reader): Likewise.
7338 (GRUB_MOD_INIT): Register normal reader and set as current, register
7339 pager hook, register normal command with grub_register_command_prio,
7340 so that it won't show up in command.lst.
7341 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
7342 grub_fs_autoload_hook.
7343
7344 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
7345 (grub_menu_execute_entry): Replace grub_script_execute with
7346 grub_parser_execute, change parameter to grub_command_execute.
7347
7348 * normal/menu_text.c: Remove <grub/script.h>.
7349
7350 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
7351 and <grub/parser.h>.
7352 (run): Change editor_getline to use new parser interface. Change
7353 parameter to grub_command_execute.
7354
7355 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
7356 <grub/reader.h> and <grub/parser.h>.
7357 (grub_load_normal_mode): Execute normal command.
7358 (grub_main): Call grub_register_core_commands,
7359 grub_register_rescue_parser and grub_register_rescue_reader, use
7360 grub_reader_loop to enter input loop.
7361
7dd4a573 7362 * kern/parser.c (grub_parser_split_cmdline): Change type of
7363 getline parameter.
d558e6b5 7364 (grub_parser_class): New variable.
7365 (grub_parser_execute): New function.
7366
7367 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
7368 * loader/multiboot2.c: Likewise.
7369 * loader/sparc64/ieee1275/linux.c: Likewise.
7370
7371 * util/grub-emu.c (read_command_list): New dummy function.
7372
18db813d 73732009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7374
7375 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
7376 count to 16 for CCISS and IDA.
7377
6c67de15 73782009-05-02 Robert Millan <rmh.grub@aybabtu.com>
7379
7380 * normal/menu_text.c (grub_wait_after_message): Print a newline
7381 after waiting for user input.
7382
7383 * loader/i386/linux.c: Include `<grub/normal.h>'.
7384 (grub_cmd_linux): Improve the error message about `ask' mode, by
7385 waiting for user input so it's not missed (we can do this, since
7386 user requested interaction).
7387
d9dc87b0 73882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Added missing lst to grub-mkrescue
7391
7392 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
7393 and ${input_dir}/parttool.lst
7394
ac8a2baa 73952009-04-30 David S. Miller <davem@davemloft.net>
7396
ad22a610 7397 * util/hostdisk.c (device_is_wholedisk): New function.
7398 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
7399 zero only if device_is_wholedisk() returns true.
7400
6966215d 7401 * util/hostdisk.c (convert_system_partition_to_system_disk):
7402 Handle virtual disk devices named /dev/vdiskX as found on sparc
7403 and powerpc.
7404
ac8a2baa 7405 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
7406 lettered partition specifier is found, convert to numbered.
7407
979b4fb4 74082009-04-29 David S. Miller <davem@davemloft.net>
7409
e2bf39b2 7410 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
7411 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7412
3c64e104 7413 * normal/command.c: Add missing newline at end of file.
7414
979b4fb4 7415 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
7416 warnings.
7417 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
7418 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
7419 grub_ofdisk_read): Likewise, and deal similarly with the fact that
7420 ihandles have a 32-bit type but need to be stored in a "void *".
7421
136d9f82 74222009-04-28 Pavel Roskin <proski@gnu.org>
7423
9459c306 7424 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
7425 not disk. Adjust all dependencies.
2e08a26a 7426 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 7427 grub_disk_close().
7428
136d9f82 7429 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
7430 parent's partition, don't copy it by reference, as it gets freed
7431 on close.
7432
7dd4a573 74332009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 7434
7435 Preboot hooks support
7436
7437 * commands/boot.c (struct grub_preboot_t): new declaration
7438 (preboots_head): new variable
7439 (preboots_tail): likewise
7440 (grub_loader_register_preboot_hook): new function
7441 (grub_loader_unregister_preboot_hook): likewise
7442 (grub_loader_set): launch preboot hooks
7443 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
7444 (grub_loader_register_preboot_hook): new declaration
7445 (grub_loader_unregister_preboot_hook): likewise
7446
5af922b5 74472009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 Warning fix
7450
7dd4a573 7451 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 7452 calling grub_dprintf
7453
a5562c30 74542009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Bug and warning fixes
7457
7dd4a573 7458 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 7459 declaration
7460 * commands/test.c (test_parse): fixed bug with file tests and corrected
7461 declaration of find_file
7462
4006f85c 74632009-04-26 Pavel Roskin <proski@gnu.org>
7464
7465 * Makefile.in: Don't install empty manual pages if help2man is
7466 missing. Use help2man option for output, not shell redirection.
7467
5c77c3de 74682009-04-26 David S. Miller <davem@davemloft.net>
7469
7470 * util/grub-mkdevicemap.c (make_device_map): Add missing
7471 NESTED_FUNC_ATTR to process_device().
7472
033b10a8 74732009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Test command
7476
7477 * commands/test.c: rewritten to use bash-like test
7478
e4343593 74792009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 Parttool autoloading and improvements
7482
7dd4a573 7483 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 7484 (parttool.lst): new target
7485 * genmk.rb: generate parttool-*
7486 (CLEANFILES): add #{parttool}
7487 (PARTTOOLFILES): new variable
7488 * genparttoollist.sh: new file
7dd4a573 7489 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 7490 (grub_pcpart_type): likewise
7491 * commands/parttool.c (helpmsg): new variable
7492 (grub_cmd_parttool): output help if not enough arguments are supplied
7493 autoload modules
7494 (GRUB_MOD_INIT(parttool)): use helpmsg
7495
0d312500 74962009-04-24 David S. Miller <davem@davemloft.net>
7497
7dd4a573 7498 Avoiding opening same device multiple times in device iterator.
0d312500 7499
7500 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 7501 and use it to build a list of partitions in iterate_disk() and
0d312500 7502 iterate_partition().
7503
ac20caff 7504 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
7505 on disk->data.
7506
0dcf7495 7507 * disk/ieee1275/nand.c (grub_nand_iterate): Return
7508 grub_devalias_iterate() result instead of unconditional 0.
7509 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
7510 Also, capture hook return value, either directly or via
7511 grub_children_iterate(), and propagate to caller.
7512 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
7513 grub_children_iterate): Return value is now 'int' instead of
7514 'grub_err_t'.
7515 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
7516 like a proper iterator, stopping when hooks return non-zero.
7517 (grub_devalias_iterate): Likewise.
7518
c8c08833 75192009-04-23 David S. Miller <davem@davemloft.net>
7520
7521 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
7522
f01005a8 75232009-04-22 David S. Miller <davem@davemloft.net>
7524
7525 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
7526 is larger than address_cells, use that value for address_cells too.
7527
4e8269da 7528 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
7529 IEEE1275_MAX_PATH_LEN): Define.
7530 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
7531 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
7532 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
7533 'devtype'. Explicitly NULL terminate devalias expansion.
7534
a1447506 7535 * util/sparc64/ieee1275/misc.c: New file.
7536 * util/sparc64/ieee1275/grub-setup.c: New file.
7537 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
7538 * util/sparc64/ieee1275/grub-mkimage.c: New file.
7539 * util/sparc64/ieee1275/grub-install.in: New file.
7540 * util/ieee1275/ofpath.c: New file.
7541 * util/ieee1275/devicemap.c: New file.
7542 * util/devicemap.c: New file.
7543 * util/deviceiter.c: New file.
7544 * kern/sparc64/ieee1275/init.c: New file.
7545 * include/grub/util/ofpath.h: New file.
7546 * include/grub/util/deviceiter.h: New file.
7547 * util/grub-mkdevicemap.c: Include deviceiter.h.
7548 Implement using grub_util_emit_devicemap_entry and
7549 grub_util_iterate_devices.
7550 * conf/i386-corebook.rmk: Build util/deviceiter.c and
7551 util/devicemap.c into grub-mkdevicemap
7552 * conf/i386-efi.rmk: Likewise.
7553 * conf/i386-ieee1275.rmk: Likewise.
7554 * conf/i386-pc.rmk: Likewise.
7555 * conf/powerpc-ieee1275.rmk: Likewise.
7556 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
7557 images and installation utilities. Build kernel as image
7558 instead of as elf binary. Use common rules as much as possible.
7559
7dd4a573 75602009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 7561
7562 Correct GPT definition
7563
7dd4a573 7564 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 7565 of "attrib" member
7566
c6c5219f 75672009-04-19 Felix Zielcke <fzielcke@z-51.de>
7568
7569 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
7570
0552ff9f 75712009-04-19 David S. Miller <davem@davemloft.net>
7572
7573 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
7574 (grub_rescue_cmd_linux): Rename to...
7575 (grub_cmd_linux): and fix prototype.
7576 (grub_rescue_cmd_initrd): Rename to...
7577 (grub_cmd_initrd): and fix prototype.
7578 (cmd_linux, cmd_initrd): New.
7579 (GRUB_MOD_INIT(linux)): Use grub_register_command().
7580 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
7581
d1a282fc 75822009-04-17 Pavel Roskin <proski@gnu.org>
7583
07c5039f 7584 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
7585 format.
7586 (grub_ohci_transfer): Likewise.
7587
b012002d 7588 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
7589
1bc09c35 7590 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
7591 return without a value. Fix inconsistent indentation.
7592
e0ff9126 7593 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
7594 match struct grub_fs.
7595
d1a282fc 7596 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
7597 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
7598 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7599 * commands/lspci.c (grub_lspci_iter): Likewise.
7600
a96df3f2 76012009-04-16 Bean <bean123ch@gmail.com>
7602
7603 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
7604 value.
7605
41bb0fe9 76062009-04-15 Pavel Roskin <proski@gnu.org>
7607
7608 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
7609 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
7610 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
7611 definitions.
7612
596c6970 76132009-04-15 Felix Zielcke <fzielcke@z-51.de>
7614
7615 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 7616 that no multiple data or metadata areas are supported and `Unknown
596c6970 7617 metadata header'.
7618
7dd4a573 76192009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 7620
7621 Move loader out of the kernel
7622
7623 * kern/loader.c: moved to ...
7624 * commands/boot.c: ... moved here
7625 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
7626 * commands/boot.c (grub_cmd_boot): moved here. All users updated
7627 * include/grub/kernel.h (grub_machine_fini): export
7628 * include/grub/loader.h (grub_loader_is_loaded): update declaration
7629 (grub_loader_set): likewise
7630 (grub_loader_unset): likewise
7631 (grub_loader_boot): likewise
7632 * conf/common.rmk: new module boot.mod
7633 (pkglib_MODULES): add boot.mod
7634 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
7635 (grub_emu_SOURCES): likewise
7636 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
7637 (grub_emu_SOURCES): likewise
7638 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
7639 (grub_emu_SOURCES): likewise
7640 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
7641 (grub_emu_SOURCES): likewise
7642 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
7643 (grub_emu_SOURCES): likewise
7dd4a573 7644 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
7645 (grub_emu_SOURCES): likewise
0d5d5653 7646 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 7647 (grub_emu_SOURCES): likewise
0d5d5653 7648
7dd4a573 76492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 7650
7651 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 7652
5999d619 7653 * kern/misc.c (grub_itoa): Removed function
7654 (grub_ltoa): likewise
7655 (grub_vsprintf): use grub_lltoa
7656
7dd4a573 76572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 7658
7659 Restore grub-emu
7660
7661 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
7662 * conf/i386-coreboot.rmk: likewise
7663 * conf/i386-ieee1275.rmk: likewise
7664 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7665
20318222 76662009-04-15 Felix Zielcke <fzielcke@z-51.de>
7667
7668 * INSTALL: Add that `./autogen.sh' needs to be run before
7669 `./configure.'.
7670
d05f0df3 76712009-04-14 Bean <bean123ch@gmail.com>
7672
7673 * Makefile.in (pkglib_DATA): Add handler.lst.
7674 (handler.lst): New rule.
7675
7676 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
7677 * conf/i386-coreboot.rmk: Likewise.
7678 * conf/i386-ieee1275.rmk: Likewise.
7679 * conf/i386-efi.rmk: Likewise.
7680 * conf/x86_64-efi.rmk: Likewise.
7681 * conf/powerpc-ieee1275.rmk: Likewise.
7682 * conf/sparc64-ieee1275.rmk: Likewise.
7683
7684 * genhandlerlist.sh: New file.
7685
7686 * genmk.rb: Add rules to generate handler.lst.
7687
7688 * include/grub/normal.h (grub_file_getline): New function definition.
7689 (read_handler_list): Likewise.
7690 (free_handler_list): Likewise.
7691
7692 * include/grub/term.h (grub_term_register_input): Add name parameter
7693 for auto generation of handler.lst.
7694 (grub_term_register_output): Likewise.
7695
7696 * normal/handler.c: New file.
7697
7698 * normal/main.c (get_line): Renamed to grub_file_getline.
7699 (read_config_file): Use the newly renamed grub_file_getline.
7700 (read_command_list): Likewise.
7701 (read_fs_list): Likewise.
7702 (grub_normal_execute): Call read_handler_list to parse handler.lst.
7703 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
7704
7705 * term/efi/console.c (grub_console_init): Add name parameter for auto
7706 generation of handler.lst.
7707 * term/gfxterm.c: Likewise.
7708 * term/i386/pc/at_keyboard.c: Likewise.
7709 * term/i386/pc/console.c: Likewise.
7710 * term/i386/pc/serial.c: Likewise.
7711 * term/i386/pc/vesafb.c: Likewise.
7712 * term/i386/pc/vga.c: Likewise.
7713 * term/i386/pc/vga_text.c: Likewise.
7714 * term/ieee1275/ofconsole.c: Likewise.
7715 * term/usb_keyboard.c: Likewise.
7716
33c846be 77172009-04-14 Bean <bean123ch@gmail.com>
7718
7719 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
7720 properly with null character.
7721
4484e01e 77222009-04-14 Felix Zielcke <fzielcke@z-51.de>
7723
7724 * configure: Remove.
7725 * config.h.in: Likewise.
f93d668e 7726 * stamp-h.in: Likewise.
4484e01e 7727 * DISTLIST: Likewise.
7728 * conf/common.mk: Likewise.
7729 * conf/i386-coreboot.mk: Likewise.
7730 * conf/i386-efi.mk: Likewise.
7731 * conf/i386-ieee1275.mk: Likewise.
7732 * conf/i386.mk: Likewise.
7733 * conf/i386-pc.mk: Likewise.
7734 * conf/powerpc-ieee1275.mk: Likewise.
7735 * conf/sparc64-ieee1275.mk: Likewise.
7736 * conf/x86_64-efi.mk: Likewise.
7737
7738 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
7739 develop on GRUB.
7740
7dd4a573 77412009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 7742 David S. Miller <davem@davemloft.net>
7743
7744 * util/hostdisk.c (make_device_name): Fix buffer length
7745 calculations.
7746
e25b5a8c 77472009-04-14 Felix Zielcke <fzielcke@z-51.de>
7748
7749 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
7750 <sys/param.h> and <sys/sysctl.h>.
7751 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
7752 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
7753 opening the device and reset them afterwards.
7754
1f1f580c 77552009-04-13 Pavel Roskin <proski@gnu.org>
7756
7757 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
7758 Reported by John Stanley <jpsinthemix@verizon.net>
7759
7ebc2d6b 77602009-04-13 Robert Millan <rmh@aybabtu.com>
7761
7762 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 7763 that name for menuentries when appropriate.
7ebc2d6b 7764
d8ba3667 77652009-04-13 Felix Zielcke <fzielcke@z-51.de>
7766
7767 * util/grub.d/10_freebsd.in: Add a missing `fi'.
7768
cba416eb 77692009-04-13 Robert Millan <rmh@aybabtu.com>
7770
7771 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
7772 to Linux, simply abort telling the user it's no longer supported.
7773
a547a745 77742009-04-13 Felix Zielcke <fzielcke@z-51.de>
7775
7776 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 7777 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 7778 `freebsd_loadenv' only when devices.hints exist.
7779
232a769c 77802009-04-13 Pavel Roskin <proski@gnu.org>
7781
7782 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
7783
c3012039 77842009-04-13 Felix Zielcke <fzielcke@z-51.de>
7785
7786 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
7787 partition number.
7788 (grub_drive): Likewise.
7789
234022fe 77902009-04-13 David S. Miller <davem@davemloft.net>
7791
7792 * kern/sparc64/ieee1275/ieee1275.c: New file.
7793 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
7794 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
7795 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
7796 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
7797 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
7798 grub_ieee1275_alloc_physmem): Declare new exported functions.
7799
d8e1836c 7800 * include/grub/sparc64/ieee1275/loader.h: New file.
7801 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7802 * include/grub/sparc64/kernel.h: Likewise.
7803 * loader/sparc64/ieee1275/linux.c: Likewise.
7804
96bd81ec 7805 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
7806 (grub_fstest_SOURCES): Likewise.
7807
6a4737e5 7808 * util/hostdisk.c (make_device_name): Do not make any assumptions
7809 about the length of drive names.
7810
1d7a72fd 7811 * kern/dl.c (grub_dl_load_file): Close file immediately when
7812 we are done using it.
7813
56bc2471 78142009-04-12 David S. Miller <davem@davemloft.net>
7815
7816 * kern/misc.c (grub_ltoa): Fix cast when handling negative
7817 values. Noticed by Pavel Roskin.
7818
df38d0bb 7819 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
7820 target compiler.
7dd4a573 7821
e382e93a 7822 * genmk.rb: Add more flexible image type specification, also
7823 pass --strip-unneeded to objcopy.
7824 * conf/i386-pc.rmk: Use *_FORMAT.
7825 * conf/i386-pc.mk: Rebuilt.
7826
f5dbbca9 7827 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
7828 (OFDISK_HASH_SZ): Define.
7829 (ofdisk_hash): New hash table.
7830 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
7831 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
7832 instead of device phandle which is not unique.
7833
91c88b12 7834 * kern/sparc64/ieee1275/init.c: Delete, replace with...
7835 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
7836 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
7837 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
7838 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
7839 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
7840 GRUB_KERNEL_MACHINE_DATA_END): Define.
7841 (grub_kernel_image_size, grub_total_module_size): Declare.
7842
5b5d4aa5 78432009-04-12 Pavel Roskin <proski@gnu.org>
7844
7dd4a573 7845 * configure.ac: Change the logic when we check for target tools.
7846 Do it when the target is specified and it's different from the
7847 specified value of the host.
5b5d4aa5 7848
c91e1793 78492009-04-11 Felix Zielcke <fzielcke@z-51.de>
7850
7851 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
7852 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
7853 GNU/kFreeBSD. Check if a device is a character device. Use
7854 DIOCGMEDIASIZE to get the size.
7855 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
7856 support for GNU/kFreeBSD.
7857 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
7858 is a character device instead of a block device. Add support for
7859 FreeBSD device names.
7860
7861 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
7862 is a character device instead of a block device.
7863
7864 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
7865 is a character device instead of a block device.
7866
b1ac8644 78672009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
7868
7869 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
7870 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
7871 FreeBSD. Check if a device is a character device. Use
7872 DIOCGMEDIASIZE to get the size.
7873 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
7874 support for FreeBSD.
7875 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
7876 is a character device instead of a block device. Add support for
7877 FreeBSD device names.
7878
7879 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
7880 a character device instead of a block device.
7881 (grub_util_check_char_device): New function.
7882
7883 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
7884 a character device instead of a block device.
7885
7886 * include/grub/util/getroot.h (grub_util_check_char_device): New
7887 prototype.
7888
a3f7515a 78892009-04-11 David S. Miller <davem@davemloft.net>
7890
7891 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
7892 static libgcc.
7893 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
7894 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
7895 function, if present.
7896 (__bswapdi2): Likewise.
7897
0d44993d 7898 * include/grub/sparc64/ieee1275/boot.h: New file.
7899 * boot/sparc64/ieee1275/boot.S: Likewise.
7900 * boot/sparc64/ieee1275/diskboot.S: Likewise.
7901
ed3d2bc2 7902 * kern/misc.c (grub_ltoa): New function.
7903 (grub_vsprintf): Use it to format 'long' integers.
7904
d3bfb59c 79052009-04-10 David S. Miller <davem@davemloft.net>
7906
7907 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
7908 slots are of type grub_ieee1275_cell_t.
7909 (grub_nand_read): Likewise.
7910 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
7911 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
7912 macros are used to compare values in arg/ret block of the call.
7913 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
7914 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
7915 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
7916 grub_ieee1275_instance_to_path, grub_ieee1275_write,
7917 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
7918 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7919 grub_ieee1275_close, grub_ieee1275_set_property,
7920 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7921 grub_ieee1275_cell_t.
7922 * kern/ieee1275/openfw.c (grub_map): Likewise.
7923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7924 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7925
450e2238 7926 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7927 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7928 (grub_devalias_iterate): Likewise.
7929
7dd4a573 79302009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7931
7932 UFS improvements
7933
7934 * fs/ufs.c (INODE_NBLOCKS): new definition
7935 (struct grub_ufs_dirent): added fields for non-BSD dirents
7936 (grub_ufs_get_file_block): fixed double indirect handling
7937 (grub_ufs_lookup_symlink): use more robust way to determine whether
7938 symlink is inline
7939 (grub_ufs_find_file): support for non-BSD dirents
7940 (grub_ufs_dir): support for non-BSD dirents
7941
e7e6862a 79422009-04-10 Bean <bean123ch@gnail.com>
7943
7944 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7945 attribute, otherwise the size would be wrong for i386 platform.
7946
7947 * include/grub/pci.h (grub_pci_read_word): New inline function.
7948 (grub_pci_read_byte): Likewise.
7949 (grub_pci_write): Likewise.
7950 (grub_pci_write_word): Likewise.
7951 (grub_pci_write_byte): Likewise.
7952
7953 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7954
7955 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7956 (find_framebuf): Scan pci to locate the frame buffer address.
7957
7958 * commands/efi/fixvideo.c: New file.
7959
7960 * commands/efi/loadbios.c: Likewise.
7961
7962 * commands/memrw.c: Likewise.
7963
7964 * util/grub-dumpbios.in: Likewise.
7965
7966 * conf/common.rmk (grub-dumpbios): New utility.
7967 (pkglib_MODULES): New module memrw.mod.
7968 (memrw_mod_SOURCE): New macro.
7969 (memrw_mod_CFLAGS): Likewise.
7970 (memrw_mod_LDFLAGS): Likewise.
7971
7dd4a573 7972 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7973 fixvideo.mod.
7974 (loadbios_mod_SOURCE): New macro.
7975 (loadbios_mod_CFLAGS): Likewise.
7976 (loadbios_mod_LDFLAGS): Likewise.
7977 (fixvideo_mod_SOURCE): Likewise.
7978 (fixvideo_mod_CFLAGS): Likewise.
7979 (fixvideo_mod_LDFLAGS): Likewise.
7980
7dd4a573 7981 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7982 fixvideo.mod.
7983 (loadbios_mod_SOURCE): New macro.
7984 (loadbios_mod_CFLAGS): Likewise.
7985 (loadbios_mod_LDFLAGS): Likewise.
7986 (fixvideo_mod_SOURCE): Likewise.
7987 (fixvideo_mod_CFLAGS): Likewise.
7988 (fixvideo_mod_LDFLAGS): Likewise.
7989
af63ada2 79902009-04-08 Felix Zielcke <fzielcke@z-51.de>
7991
7992 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
7993
c2cdde70 79942009-04-07 David S. Miller <davem@davemloft.net>
7995
7996 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
7997 support for R_SPARC_OLO10 relocations. Fix compile warning for
7998 R_SPARC_WDISP30 case.
ea3f72cf 7999 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8000
761319cf 80012009-04-06 Pavel Roskin <proski@gnu.org>
8002
1007d1f5 8003 * include/grub/misc.h (ARRAY_SIZE): New macro.
8004 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8005 New macro.
8006 * loader/i386/linux.c (allocate_pages): Use free_pages().
8007 (grub_linux_unload): Don't use free_pages().
8008 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8009 wrong index. Treat all other modes as text modes.
8010 (grub_cmd_linux): Initialize vid_mode unconditionally to
8011 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8012
761319cf 8013 * commands/help.c (print_command_help): Use cmd->prio, not
8014 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8015
ea761d40 80162009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8017
ea761d40 8018 Parttool
8019
8020 * parttool/pcpart.c: new file
8021 * commands/parttool.c: likewise
8022 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8023 (parttool_mod_SOURCES): new variable
8024 (parttool_mod_CFLAGS): likewise
8025 (parttool_mod_LDFLAGS): likewise
8026 (pcpart_mod_SOURCES): likewise
8027 (pcpart_mod_CFLAGS): likewise
8028 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8029 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8030 and parttool/pcpart.c
8031 * conf/i386-efi.rmk: likewise
8032 * conf/i386-ieee1275.rmk: likewise
8033 * conf/i386-pc.rmk: likewise
8034 * conf/powerpc-ieee1275.rmk: likewise
8035 * conf/sparc64-ieee1275.rmk: likewise
8036 * conf/x86_64-ieee1275.rmk: likewise
8037
05aaebfb 80382009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Support for mtime and further expandability of dir command
8041
8042 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8043 * include/grub/datetime.h: ... moved here and added
05aaebfb 8044 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8045 * include/grub/fs.h: new syntax for dir and mtime functions in
8046 struct grub_fs
05aaebfb 8047 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8048 and GRUB_FSHELP_FLAGS_MASK
8049 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8050 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8051 (grub_ext2_mtime): new function
8052 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8053 (grub_hfsplus_mtime): new function
8054 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8055 (GRUB_UFS_ATTR_FILE): likewise
8056 (GRUB_UFS_ATTR_LNK): likewise
8057 (struct grub_ufs_sblock): new fields mtime
8058 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8059 all users updated
8060 (grub_ufs_dir): mtime support
8061 (grub_ufs_mtime): new function
8062 * fs/affs.c (grub_affs_dir): use new dir syntax
8063 * fs/afs.c (grub_afs_dir): likewise
8064 * fs/cpio.c (grub_cpio_dir): likewise
8065 * fs/fat.c (grub_fat_find_dir): likewise
8066 * fs/hfs.c (grub_hfs_dir): likewise
8067 * fs/iso9660.c (grub_iso9660_dir): likewise
8068 * fs/jfs.c (grub_jfs_dir): likewise
8069 * fs/minix.c (grub_minix_dir): likewise
8070 * fs/ntfs.c (grub_ntfs_dir): likewise
8071 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8072 * fs/sfs.c (grub_sfs_dir): likewise
8073 * fs/xfs.c (grub_xfs_dir): likewise
8074 * util/hostfs.c (grub_hostfs_dir): likewise
8075 * lib/datetime.c: moved to ...
8076 * normal/datetime.c: ... moved here
8077 (grub_unixtime2datetime): new function
8078 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8079 * normal/completion.c (iterate_dir): use new dir syntax
8080 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8081 last modification time of a volume
7dd4a573 8082 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8083 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8085 (normal_mod_SOURCES): likewise
8086 (datetime_mod_SOURCES): Removed lib/datetime.c
8087 * conf/i386-efi.rmk: likewise
7dd4a573 8088 * conf/i386-ieee1275.rmk: likewise
05aaebfb 8089 * conf/i386-pc.rmk: likewise
8090 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8091 * conf/sparc64-ieee1275.rmk: likewise
8092 * conf/x86_64-efi.rmk: likewise
05aaebfb 8093
8a7e1a14 80942009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 8097
8098 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 8099 on grub_fat_find_dir
8100 (grub_fat_find_dir): use grub_fat_iterate_dir
8101 (grub_fat_label): likewise
8102
04186a9c 81032009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8104
7dd4a573 8105 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 8106 and command.h
8107 remove extraneous kernel_elf_HEADERS
8108
da4c0bb6 81092009-04-04 Bean <bean123ch@gnail.com>
8110
8111 * include/grub/util/misc.h: Add dummy function fsync for mingw.
8112
8113 * util/misc.c: Likewise.
8114
54ad9555 81152009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
8116
8117 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
8118 instead of grub_printf.
8119
7a6bf9f2 81202009-04-03 Robert Millan <rmh@aybabtu.com>
8121
8122 * loader/i386/linux.c (grub_linux_setup_video): Fill
8123 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
8124 values from `mode info' structure instead of hardcoded
8125 values.
8126
3fcc2083 81272009-04-01 Pavel Roskin <proski@gnu.org>
8128
8129 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
8130 unused now.
8131 * genmk.rb: Likewise.
8132 * configure.ac: Likewise.
8133
5ec9740b 81342009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
8135
8136 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
8137 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
8138
5270cec8 81392009-04-01 David S. Miller <davem@davemloft.net>
8140
8141 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 8142 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 8143 (grub_setjmp): Mark with 'returns_twice' attribute.
8144 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
8145 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
8146 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
8147
9c3dd854 81482009-04-01 Robert Millan <rmh@aybabtu.com>
8149
8150 Reapply fix from 2008-07-28 which was accidentally reverted; also
8151 perform the same fix to a similar check in same function.
8152
8153 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8154 with the same number are found, just use issue a warning with
8155 grub_dprintf(), as this error has been reported to be non-fatal.
8156
0d818b7e 81572009-03-31 Pavel Roskin <proski@gnu.org>
8158
8159 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
8160 for cross-compilation.
8161
95646d92 81622009-03-30 Robert Millan <rmh@aybabtu.com>
8163
8164 Fix i386-ieee1275 build.
8165
8166 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
8167 Remove declaration.
8168
6a003ed1 81692009-03-30 Pavel Roskin <proski@gnu.org>
8170
8171 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
8172 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
8173 zero-terminated, rely only on the strlen value. Fix comparison
8174 of strings differing in length.
8175
92f33540 81762009-03-30 Robert Millan <rmh@aybabtu.com>
8177
8178 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
8179 checking for abi version. Improve error messages on BIOS to notify
8180 user about `linux16' command.
8181
a8c48fd5 81822009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8183
f968172e 8184 Leak fixes
a8c48fd5 8185
f968172e 8186 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
8187 in case of collision
8188 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 8189
9c323f09 81902009-03-29 Robert Millan <rmh@aybabtu.com>
8191
8192 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
8193 set `vid_mode' accordingly.
8194 (grub_linux_boot): Process `vid_mode' and set video mode.
8195
ae68f423 81962009-03-29 Robert Millan <rmh@aybabtu.com>
8197
8198 * util/grub.d/10_linux.in (linux_entry): New function.
8199 Factorize generation of Linux boot entries.
8200
5709cfc4 82012009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
8202
8203 Make the format of Environment Block plain text. The boot loader
8204 part is not tested well yet.
7dd4a573 8205
5709cfc4 8206 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
8207 (buffer): Removed.
8208 (envblk): Likewise.
8209 (usage): Remove "info" and "clear". Add "unset". Update the
8210 description of "set", as this does not delete variables any
8211 longer.
8212 (create_envblk_file): Complete rewrite.
8213 (open_envblk_file): Likewise.
8214 (cmd_info): Removed.
8215 (cmd_list): Likewise.
8216 (cmd_set): Likewise.
8217 (cmd_clear): Likewise.
8218 (list_variables): New function.
8219 (write_envblk): Likewise.
8220 (set_variables): Likewise.
8221 (unset_variables): Likewise.
8222 (main): Complete rewrite.
8223
8224 * commands/loadenv.c (buffer): Removed.
8225 (envblk): Likewise.
8226 (open_envblk_file): New function.
8227 (read_envblk_file): Complete rewrite.
8228 (grub_cmd_load_env): Likewise.
8229 (grub_cmd_list_env): Likewise.
8230 (struct blocklist): New struct.
8231 (free_blocklists): New function.
8232 (check_blocklists): Likewise.
8233 (write_blocklists): Likewise.
8234 (grub_cmd_save_env): Complete rewrite.
8235
8236 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
8237 a plain text signature.
8238 (GRUB_ENVBLK_MAXLEN): Removed.
8239 (struct grub_envblk): Complete rewrite.
8240 (grub_envblk_find): Removed.
8241 (grub_envblk_insert): Likewise.
8242 (grub_envblk_open): New prototype.
8243 (grub_envblk_set): Likewise.
8244 (grub_envblk_delete): Put const to VALUE.
8245 (grub_envblk_iterate): Put const to NAME and VALUE.
8246 (grub_envblk_close): New prototype.
8247 (grub_envblk_buffer): New inline function.
8248 (grub_envblk_size): Likewise.
8249
8250 * lib/envblk.c: Include grub/mm.h.
8251 (grub_env_find): Removed.
8252 (grub_envblk_open): New function.
8253 (grub_envblk_close): Likewise.
8254 (escaped_value_len): Likewise.
8255 (find_next_line): Likewise.
8256 (grub_envblk_insert): Removed.
8257 (grub_envblk_set): New function.
8258 (grub_envblk_delete): Complete rewrite.
8259 (grub_envblk_iterate): Likewise.
8260
a9368fd3 82612009-03-28 Robert Millan <rmh@aybabtu.com>
8262
8263 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
8264 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
8265 variables. Use 16-bit loader.
8266 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
8267 loader.
8268 * kern/i386/loader.S (grub_linux_boot): Rename to ...
8269 (grub_linux16_boot): ... this. Update all users.
8270 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
8271 (grub_linux_boot): ... this. Update all users.
8272
8273 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
8274 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
8275 commands to `linux16' and `initrd16'.
8276 (GRUB_MOD_FINI(linux)): Rename to ...
8277 (GRUB_MOD_FINI(linux16)): ... this.
8278
e4dd5a7e 82792009-03-24 Pavel Roskin <proski@gnu.org>
8280
8281 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
8282 not just for compilation.
8283
c04d6e05 82842009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Move multiboot helper out of kernel
8287
8288 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
8289 `loader/i386/multiboot_helper.S'.
8290 * conf/i386-coreboot.rmk: Likewise
8291 * conf/i386-ieee1275.rmk: Likewise
8292
8293 * kern/i386/loader.S: Move multiboot helpers from here...
8294 * loader/i386/multiboot_helper.S: ...moved here
8295 * include/grub/i386/loader.h: Move declarations of multiboot
8296 helpers from here...
8297 * include/grub/i386/multiboot.h: ...moved here
8298 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
8299
42a5b3fc 83002009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8301
8302 * kern/env.c (grub_env_context_open): Added an argument to specify
8303 whether a new context inherits exported variables from current
8304 one. This is useful when making a sandbox to interpret a config
8305 file.
8306 All callers updated.
8307
8308 * include/grub/env.h (grub_env_context_open): Updated the prototype.
8309
b28bbc4e 83102009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8311
8312 * kern/env.c (grub_env_context_close): Fix memory leaks.
8313
f04f02e4 83142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
8315
8316 * normal/main.c (grub_normal_execute): Added an argument
8317 BATCH to specify if an interactive interface should be provided
8318 after reading a config file.
8319 All callers updated.
8320 (read_command_list): Prevent being executed twice.
8321 (read_fs_list): Likewise.
8322
42a5b3fc 8323 * include/grub/normal.h (grub_normal_execute): Updated the
8324 prototype.
f04f02e4 8325
41473ac2 83262009-03-22 Pavel Roskin <proski@gno.org>
8327
fbc00b0c 8328 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
8329 _start.
8330 * kern/i386/pc/startup.S: Likewise.
8331 * kern/i386/efi/startup.S: Likewise.
8332 * kern/i386/ieee1275/startup.S: Likewise.
8333 * kern/i386/coreboot/startup.S: Likewise.
8334 * kern/x86_64/efi/startup.S: Likewise.
8335
41473ac2 8336 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
8337 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
8338 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
8339
2274cc8f 83402009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 Bugfixes in multiboot for bugs uncovered by solaris kernel.
8343
8344 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
8345 limit detection.
8346 Use vaddr of correct segment for entry_point.
8347
b1b797cb 83482009-03-21 Bean <bean123ch@gmail.com>
8349
8350 * commands/blocklist.c: Add include file <grub/command.h>, remove
8351 <grub/normal.h> and <grub/arg.h>.
8352 (grub_cmd_blocklist): Use the new command interface.
8353 (GRUB_MOD_INIT): Likewise.
8354 (GRUB_MOD_FINI): Likewise.
8355 * commands/boot.c: Likewise.
8356 * commands/cat.c: Likewise.
8357 * commands/cmp.c: Likewise.
8358 * commands/configfile.c: Likewise.
8359 * commands/crc.c: Likewise.
8360 * commands/echo.c: Likewise.
8361 * commands/halt.c: Likewise.
8362 * commands/handler.c: Likewise.
8363 * commands/hdparm.c: Likewise.
8364 * commands/help.c: Likewise.
8365 * commands/hexdump.c: Likewise.
8366 * commands/loadenv.c: Likewise.
8367 * commands/ls.c: Likewise.
8368 * commands/lsmmap.c: Likewise.
8369 * commands/lspci.c: Likewise.
8370 * commands/loadenv.c: Likewise.
8371 * commands/read.c: Likewise.
8372 * commands/reboot.c: Likewise.
8373 * commands/search.c: Likewise.
8374 * commands/sleep.c: Likewise.
8375 * commands/test.c: Likewise.
8376 * commands/usbtest.c: Likewise.
8377 * commands/videotest.c: Likewise.
8378 * commands/i386/cpuid.c: Likewise.
8379 * commands/i386/pc/halt.c: Likewise.
8380 * commands/i386/pc/play.c: Likewise.
8381 * commands/i386/pc/pxecmd.c: Likewise.
8382 * commands/i386/pc/vbeinfo.c: Likewise.
8383 * commands/i386/pc/vbetest.c: Likewise.
8384 * commands/ieee1275/suspend.c: Likewise.
8385 * disk/loopback.c: Likewise.
8386 * font/font_cmd.c: Likewise.
8387 * hello/hello.c: Likewise.
8388 * loader/efi/appleloader.c: Likewise.
8389 * loader/efi/chainloader.c: Likewise.
8390 * loader/i386/bsd.c: Likewise.
8391 * loader/i386/efi/linux.c: Likewise.
8392 * loader/i386/ieee1275/linux.c: Likewise.
8393 * loader/i386/linux.c: Likewise.
8394 * loader/i386/pc/chainloader.c: Likewise.
8395 * loader/i386/pc/linux.c: Likewise.
8396 * loader/powerpc/ieee1275/linux.c: Likewise.
8397 * loader/multiboot_loader.c: Likewise.
8398 * term/gfxterm.c: Likewise.
8399 * term/i386/pc/serial.c: Likewise.
8400 * term/terminfo.c: Likewise.
8401
8402 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
8403 * term/i386/pc/vga.c: Likewise.
8404 * video/readers/jpeg.c: Likewise.
8405 * video/readers/png.c: Likewise.
8406 * video/readers/tga.c: Likewise.
8407
8408 * util/grub-fstest (cmd_loopback): Removed.
8409 (cmd_blocklist): Likewise.
8410 (cmd_ls): Likewise.
8411 (grub_register_command): Likewise.
8412 (grub_unregister_command): Likewise.
8413 (execute_command): Use grub_command_find to locate command and execute
8414 it.
8415
8416 * include/grub/efi/chainloader.h: Removed.
8417 * loader/efi/chainloader_normal.c: Likewise.
8418 * loader/i386/bsd_normal.c: Likewise.
8419 * loader/i386/pc/chainloader_normal.c: Likewise.
8420 * loader/i386/pc/multiboot_normal.c: Likewise.
8421 * loader/linux_normal.c: Likewise.
8422 * loader/multiboot_loader_normal.c: Likewise.
8423 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
8424
8425 * gencmdlist.sh: Scan new registration command grub_register_extcmd
8426 and grub_register_command_p1.
8427
8428 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
8429 kern/command.c, lib/arg.c and commands/extcmd.c.
8430 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
8431 (minicmd_mod_SOURCES): New variable.
8432 (minicmd_mod_CFLAGS): Likewise.
8433 (minicmd_mod_LDFLAGS): Likewise.
8434 (extcmd_mod_SOURCES): Likewise.
8435 (extcmd_mod_CFLAGS): Likewise.
8436 (extcmd_mod_LDFLAGS): Likewise.
8437 (boot_mod_SOURCES): Removed.
8438 (boot_mod_CFLAGS): Likewise.
8439 (boot_mod_LDFLAGS): Likewise.
8440
8441 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
8442 kern/corecmd.c.
8443 (kernel_img_HEADERS): Add command.h.
8444 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
8445 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
8446 and lib/arg.c.
8447 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
8448 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
8449 remove the corresponding normal mode command.
8450 (normal_mod_SOURCES): Remove normal/arg.c.
8451 * conf/i386-coreboot.rmk: Likewise.
8452 * conf/i386-efi.rmk: Likewise.
8453 * conf/i386-ieee1275.rmk: Likewise.
8454 * conf/powerpc-ieee1275.rmk: Likewise.
8455 * conf/x86_64-efi.rmk: Likewise.
8456
8457 * include/grub/arg.h: Move from here ...
8458 * include/grub/lib/arg.h: ... to here.
8459
8460 * normal/arg.c: Move from here ...
8461 * lib/arg.c: ... to here.
8462
8463 * commands/extcmd.c: New file.
8464 * commands/minicmd.c: Likewise.
8465 * include/grub/command.h: Likewise.
8466 * include/grub/extcmd.h: Likewise.
8467 * kern/command.c: Likewise.
8468 * kern/corecmd.c: Likewise.
8469
8470 * kern/list.c (grub_list_iterate): Return int instead of void.
8471 (grub_list_insert): New function.
8472 (grub_prio_list_insert): Likewise.
8473
8474 * kern/rescue.c (grub_rescue_command): Removed.
8475 (grub_rescue_command_list): Likewise.
8476 (grub_rescue_register_command): Likewise.
8477 (grub_rescue_unregister_command): Likewise.
8478 (grub_rescue_cmd_boot): Move to minicmd.c
8479 (grub_rescue_cmd_help): Likewise.
8480 (grub_rescue_cmd_info): Likewise.
8481 (grub_rescue_cmd_boot): Likewise.
8482 (grub_rescue_cmd_testload): Likewise.
8483 (grub_rescue_cmd_dump): Likewise.
8484 (grub_rescue_cmd_rmmod): Likewise.
8485 (grub_rescue_cmd_lsmod): Likewise.
8486 (grub_rescue_cmd_exit): Likewise.
8487 (grub_rescue_print_devices): Moved to corecmd.c.
8488 (grub_rescue_print_files): Likewise.
8489 (grub_rescue_cmd_ls): Likewise.
8490 (grub_rescue_cmd_insmod): Likewise.
8491 (grub_rescue_cmd_set): Likewise.
8492 (grub_rescue_cmd_unset): Likewise.
7d074e3c 8493 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 8494 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 8495 commands, remove grub_rescue_register_command calls.
b1b797cb 8496
7d074e3c 8497 * normal/command.c (grub_register_command): Removed.
b1b797cb 8498 (grub_unregister_command): Likewise.
8499 (grub_command_find): Likewise.
8500 (grub_iterate_commands): Likewise.
8501 (rescue_command): Likewise.
8502 (export_command): Moved to corecmd.c.
8503 (set_command): Removed.
8504 (unset_command): Likewise.
8505 (insmod_command): Likewise.
8506 (rmmod_command): Likewise.
8507 (lsmod_command): Likewise.
8508 (grub_command_init): Likewise.
8509
8510 * normal/completion.c (iterate_command): Use cmd->prio to check for
8511 active command.
8512 (complete_arguments): Use grub_extcmd_t structure to find options.
8513 (grub_normal_do_completion): Change function grub_iterate_commands to
8514 grub_command_iterate.
8515
8516 * normal/execute.c (grub_script_execute_cmd): No need to parse
8517 argument here.
8518
8519 * normal/main.c (grub_dyncmd_dispatcher): New function.
8520 (read_command_list): Register unload commands as dyncmd.
8521 (grub_cmd_normal): Use new command interface, register rescue,
8522 unregister normal at entry, register normal, unregister rescue at exit.
8523
8524 * include/grub/list.h (grub_list_test_t): New type.
8525 (grub_list_iterate): Return int instead of void.
8526 (grub_list_insert): New function.
8527 (GRUB_AS_NAMED_LIST_P): New macro.
8528 (GRUB_AS_PRIO_LIST): Likewise.
8529 (GRUB_AS_PRIO_LIST_P): Likewise.
8530 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
8531 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
8532 (grub_prio_list): New structure.
8533 (grub_prio_list_insert): New function.
8534 (grub_prio_list_remove): New inline function.
8535
8536 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
8537 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
8538 (GRUB_COMMAND_FLAG_MENU): Likewise.
8539 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8540 (GRUB_COMMAND_FLAG_TITLE): Likewise.
8541 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8542 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
8543 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
8544 (grub_command): Likewise.
8545 (grub_register_command): Likewise.
8546 (grub_command_find): Likewise.
8547 (grub_iterate_commands): Likewise.
8548 (grub_command_init): Likewise.
8549 (grub_arg_parse): Likewise.
8550 (grub_arg_show_help): Likewise.
8551
8552 * include/grub/rescue.h (grub_rescue_register_command): Removed.
8553 (grub_rescue_unregister_command): Likewise.
8554
8555 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
8556 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
8557 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
8558
8559 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
8560 grub_rescue_cmd_initrd.
8561 * include/grub/i386/loader.h: Likewise.
8562 * include/grub/x86_64/loader.h: Likewise.
8563
8564 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
8565
1f4147aa 85662009-03-21 Bean <bean123ch@gmail.com>
8567
8568 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
8569 instead of stat in mingw environment.
8570
8571 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
8572
8573 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
8574
8575 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
8576 AC_CONFIG_LINKS.
8577
2156d5ba 85782009-03-21 Bean <bean123ch@gmail.com>
8579
8580 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
8581 out of range error.
8582
177b82ca 85832009-03-18 Michel Dänzer <michel@daenzer.net>
8584
8585 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
8586 checking inode flags for EXT4_EXTENTS_FLAG.
8587
14aad807 85882009-03-18 Robert Millan <rmh@aybabtu.com>
8589
8590 * loader/i386/linux.c: Include `<grub/video.h>' and
8591 `<grub/i386/pc/vbe.h>'..
8592 (grub_linux_setup_video): New function. Loosely based on the EFI one.
8593 (grub_linux32_boot): Attempt to configure video settings with
8594 grub_linux_setup_video().
8595 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
8596 to avoid grub_console_fini() which would step out of graphical mode
8597 unconditionally.
8598
8cf83a27 85992009-03-14 Robert Millan <rmh@aybabtu.com>
8600
8601 Fix build on powerpc.
8602 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
8603
40164e75 86042009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
8607 background image command.
8608
c58bc32a 86092009-03-12 Colin D Bennett <colin@gibibit.com>
8610
8611 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
8612 (grub_gfxterm_putchar): Extract pairs of identical calls to
8613 draw_cursor out of conditional blocks.
8614
5415144a 86152009-03-11 Pavel Roskin <proski@gnu.org>
8616
8617 * fs/hfs.c (grub_hfs_strncasecmp): New function.
8618 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
8619
6394042e 86202009-03-11 Robert Millan <rmh@aybabtu.com>
8621
8622 * loader/i386/multiboot_elfxx.c
8623 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
8624
b7b50e5f 86252009-03-11 Felix Zielcke <fzielcke@z-51.de>
8626
8627 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
8628 `kern/handler.c'.
8629
1ca7fc96 86302009-03-11 Robert Millan <rmh@aybabtu.com>
8631
8632 * loader/i386/multiboot.c (code_size): New variable.
8633 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 8634 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 8635 4-byte alignment to MBI and others by increasing
7d074e3c 8636 `boot_loader_name_length' appropriately.
1ca7fc96 8637
8638 * loader/i386/multiboot_elfxx.c
8639 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
8640
a83ea1d2 86412009-03-09 Felix Zielcke <fzielcke@z-51.de>
8642
8643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
8644 `fs/ext2.c'.
8645
aa9f3bff 86462009-03-08 Robert Millan <rmh@aybabtu.com>
8647
8648 Make loader/i386/linux.c usable on i386-pc again.
8649
8650 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
8651 memory to heap.
8652 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
8653 `#error' stanza.
8654
d8b3b60e 86552009-03-07 Bean <bean123ch@gmail.com>
8656
8657 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
8658 allocation.
8659
b362c9e9 86602009-03-06 Robert Millan <rmh@aybabtu.com>
8661
8662 Fix display issue on terminals with screen size other than 80x25
8663 (e.g. gfxterm with resolution higher than 640x480).
8664
8665 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 8666 position relative to the center of the terminal instead of relying
b362c9e9 8667 on a hardcoded offset.
8668
9304eef1 86692009-03-04 Robert Millan <rmh@aybabtu.com>
8670
8671 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
8672 installed.
8673
8674 * Makefile.in (host_kernel): New variable.
8675 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
8676 scripts instead of just the windows one.
8677 * configure.ac: Initialize and AC_SUBST `host_kernel'.
8678
eabc95fb 86792009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 8680
8681 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
8682 `kern/handler.c'.
8683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8684 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8689
ceb1223c 86902009-03-04 Felix Zielcke <fzielcke@z-51.de>
8691
8692 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
8693 or if there's no space for the disk label and print the partition number on a
8694 invalid magic.
8695
4910684a 86962009-03-04 Felix Zielcke <fzielcke@z-51.de>
8697
8698 * util/misc.c: Include <time.h>.
8699 (grub_millisleep): New function.
8700
7e9ca17a 87012009-03-04 Bean <bean123ch@gmail.com>
8702
8703 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
8704 another option -mno-red-zone.
8705
8706 * commands/handler.c: Change module description.
8707
8708 * kern/handler.c: Add missing space at the end of description line.
8709
8710 * kern/list.c: Likewise.
8711
f501677c 87122009-03-03 Robert Millan <rmh@aybabtu.com>
8713
8714 Move more components to the relocation area, and fix mbi pointer
8715 handling to use the destination rather than the origin (thanks to
8716 Vladimir Serbinenko for spotting).
8717
8718 * loader/i386/multiboot.c (mbi_dest): New variable.
8719 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
8720 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
8721 relocation area.
8722
9902d047 87232009-03-01 Bean <bean123ch@gmail.com>
8724
50fb7002 8725 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 8726 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
8727 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
8728 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
8729
8730 * loader/i386/efi/linux.c (acpi_guid): New variable.
8731 (acpi_guid): Likewise.
8732 (EBDA_SEG_ADDR): New constant.
8733 (LOW_MEM_ADDR): Likewise.
8734 (FAKE_EBDA_SEG): Likewise.
8735 (fake_bios_data): New function.
8736 (grub_linux_boot): Call fake_bios_data.
8737
71b9f361 87382009-03-01 Bean <bean123ch@gmail.com>
8739
8740 * commands/terminal.c: Removed.
8741
8742 * commands/handler.c: New file.
8743
8744 * include/grub/list.h: Likewise.
8745
8746 * include/grub/handler.h: Likewise.
8747
8748 * kern/list.c: Likewise.
8749
8750 * kern/handler.c: Likewise.
8751
8752 * kern/term.h: Include header file <grub/handler.h>.
8753 (grub_term_input): Move next field to the beginning.
8754 (grub_term_output): Likewise.
8755 (grub_term_input_class): New variable.
8756 (grub_term_output_class): Likewise.
8757 (grub_term_register_input): Changed to inline function.
8758 (grub_term_register_output): Likewise.
8759 (grub_term_unregister_input): Likewise.
8760 (grub_term_unregister_output): Likewise.
8761 (grub_term_set_current_input): Likewise.
8762 (grub_term_set_current_output): Likewise.
8763 (grub_term_get_current_input): Likewise.
8764 (grub_term_get_current_output): Likewise.
8765 (grub_term_iterate_input): Removed.
8766 (grub_term_iterate_output): Likewise.
8767
8768 * kern/term.c (grub_term_list_input): Removed.
8769 (grub_term_list_output): Likewise.
8770 (grub_term_input_class): New variable.
8771 (grub_term_output_class): Likewise.
50fb7002 8772 (grub_cur_term_input): Change variable as macro.
71b9f361 8773 (grub_cur_term_output): Likewise.
8774 (grub_term_register_input): Removed.
8775 (grub_term_register_output): Likewise.
8776 (grub_term_unregister_input): Likewise.
8777 (grub_term_unregister_output): Likewise.
8778 (grub_term_set_current_input): Likewise.
8779 (grub_term_set_current_output): Likewise.
8780 (grub_term_iterate_input): Likewise.
8781 (grub_term_iterate_output): Likewise.
8782 (grub_term_get_current_input): Likewise.
8783 (grub_term_get_current_output): Likewise.
8784
8785 * util/grub-editenv.c: Include header file <grub/handler.h>.
8786 (grub_term_get_current_input): Removed.
8787 (grub_term_get_current_output): Likewise.
8788 (grub_term_input_class): New variable.
50fb7002 8789 (grub_term_output_class): Likewise.
71b9f361 8790
8791 * util/grub-fstest.c (grub_term_get_current_input): Removed.
8792 (grub_term_get_current_output): Likewise.
8793 (grub_term_input_class): New variable.
50fb7002 8794 (grub_term_output_class): Likewise.
71b9f361 8795
8796 * util/grub-probe.c (grub_term_get_current_input): Removed.
8797 (grub_term_get_current_output): Likewise.
8798 (grub_term_input_class): New variable.
50fb7002 8799 (grub_term_output_class): Likewise.
71b9f361 8800
8801 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
8802 (grub_term_get_current_output): Likewise.
8803 (grub_term_input_class): New variable.
50fb7002 8804 (grub_term_output_class): Likewise.
71b9f361 8805
8806 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
8807 (terminal_mod_SOURCES): Likewise.
8808 (terminal_mod_CFLAGS): Likewise.
8809 (terminal_mod_LDFLAGS): Likewise.
8810
8811 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
8812 handler.c.
8813 (kernel_img_SOURCES): Add list.c and handler.c.
8814 (kernel_img_HEADERS): Add list.h and handler.h.
8815
8816 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8817 handler.c.
8818 (kernel_mod_SOURCES): Add list.c and handler.c.
8819 (kernel_mod_HEADERS): Add list.h and handler.h.
8820
8821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
8822 handler.c.
8823 (kernel_elf_SOURCES): Add list.c and handler.c.
8824 (kernel_elf_HEADERS): Add list.h and handler.h.
8825
8826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8827 handler.c.
8828 (kernel_elf_SOURCES): Add list.c and handler.c.
8829 (kernel_elf_HEADERS): Add list.h and handler.h.
8830
8831 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8832 handler.c.
8833 (kernel_mod_SOURCES): Add list.c and handler.c.
8834 (kernel_mod_HEADERS): Add list.h and handler.h.
8835
8836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8837 handler.c.
8838 (kernel_elf_SOURCES): Add list.c and handler.c.
8839 (kernel_elf_HEADERS): Add list.h and handler.h.
8840
8a31787f 88412009-02-27 Robert Millan <rmh@aybabtu.com>
8842
8843 Factorize elf32 / elf64 code in Multiboot loader. This will
8844 prevent it from getting out of sync again.
8845
8846 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
8847 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
8848 grub_multiboot_load_elf64): Move from here ...
8849 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
8850 grub_multiboot_load_elf): ... to here (new file).
8851
51cd3dfc 88522009-02-27 Robert Millan <rmh@aybabtu.com>
8853
8854 * util/grub.d/10_linux.in: Rename "single-user mode" to
8855 "recovery mode".
8856
6e8c9c3a 88572009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 Don't leak in SCSI code.
8860 * disk/scsi.c (grub_scsi_close): free `scsi'.
8861
4b6bf4f9 88622009-02-27 Robert Millan <rmh@aybabtu.com>
8863
8864 * loader/i386/pc/multiboot.c: Move from here ...
8865 * loader/i386/multiboot.c: ... to here. Update all users.
8866
b9413424 88672009-02-27 Robert Millan <rmh@aybabtu.com>
8868
8869 Patch from Alexandre Bique <bique.alexandre@gmail.com>
8870 * util/i386/pc/grub-setup.c (setup): Fix directory path.
8871
50fb7002 88722009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 8873
8874 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
8875 b-tree.
8876
8cc50345 88772009-02-27 Robert Millan <rmh@aybabtu.com>
8878
8879 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
8880 `0x' qualifier as 0 when base is specified as parameter).
8881
6e09b8b7 88822009-02-24 Bean <bean123ch@gmail.com>
8883
8884 * configure.ac: Check for -mcmodel=large in x86_64 target.
8885
8886 * include/grub/efi/api.h (efi_call_10): New macro.
8887 (efi_wrap_10): New function.
8888
8889 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
8890 (GRUB_PE32_REL_BASED_HIGH): Likewise.
8891 (GRUB_PE32_REL_BASED_LOW): Likewise.
8892 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
8893 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
8894 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
8895 (GRUB_PE32_REL_BASED_SECTION): Likewise.
8896 (GRUB_PE32_REL_BASED_REL): Likewise.
8897 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
8898 (GRUB_PE32_REL_BASED_DIR64): Likewise.
8899 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
8900
8901 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
8902 issue.
8903
8904 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
8905 (efi_wrap_10): New function.
8906
8907 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
8908
8909 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
8910 MB/MBP model (NV chipset).
8911 (devdata_devs): Add devpath_5 to the list.
8912
8913 * load/i386/efi/linux.c (video_base): Remove variable.
8914 (RGB_MASK): New macro.
8915 (RGB_MAGIC): Likewise.
8916 (LINE_MIN): Likewise.
8917 (LINE_MAX): Likewise.
8918 (FBTEST_STEP): Likewise.
8919 (FBTEST_COUNT): Likewise.
8920 (fb_list): New variable.
8921 (grub_find_video_card): Remove function.
8922 (find_framebuf): New function.
8923 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8924 line length.
8925
8926 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8927 problem for x86_64.
8928
74b21bee 89292009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8930
8931 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8932
8933 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8934 coding tool name.
8935
a455f472 89362009-02-22 Robert Millan <rmh@aybabtu.com>
8937
8938 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8939 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8940 in our relocation, instead of using it directly from heap. Also
8941 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8942
6374daf3 89432009-02-21 Robert Millan <rmh@aybabtu.com>
8944
8945 Implement USB keyboard support (based on patch by Marco Gerards)
8946
8947 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8948 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8949 (usb_keyboard_mod_LDFLAGS): New variables.
8950
8951 * term/usb_keyboard.c: New file.
8952
8fa4ea70 89532009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Corrected wrong declaration
8956
8957 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8958
353976ac 89592009-02-14 Christian Franke <franke@computer.org>
8960
8961 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8962 (grub_lspci_iter): Print class code and programming interface byte.
8963
6aa1169b 89642009-02-14 Christian Franke <franke@computer.org>
8965
8966 * gendistlist.sh: Ignore `.svn' directories.
8967
265372ca 89682009-02-14 Felix Zielcke <fzielcke@z-51.de>
8969
8970 * fs/fat.c: Add 2009 to Copyright line.
8971
9ff516f3 89722009-02-14 Christian Franke <franke@computer.org>
8973
8974 * commands/hdparm.c: New file. Provides `hdparm' command
8975 which sends ATA commands via grub_disk_ata_pass_through ().
8976
8977 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
8978
8979 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
8980 and <grub/cpu/io.h> to include/grub/ata.h.
8981 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
8982 (GRUB_CDROM_SECTOR_SIZE): Remove.
8983 (GRUB_ATA_*): Move to include/grub/ata.h.
8984 (GRUB_ATAPI_*): Likewise.
8985 (enum grub_ata_commands): Likewise.
8986 (enum grub_ata_timeout_milliseconds): Likewise.
8987 (struct grub_ata_device): Likewise.
8988 (grub_ata_regset): Likewise.
8989 (grub_ata_regget): Likewise.
8990 (grub_ata_regset2): Likewise.
8991 (grub_ata_regget2): Likewise.
8992 (grub_ata_check_ready): Likewise.
8993 (grub_ata_wait_not_busy): Remove static, exported in
8994 include/grub/ata.h.
8995 (grub_ata_wait_drq): Likewise.
8996 (grub_ata_pio_read): Likewise.
8997
8998 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
8999 function for hdparm.mod.
9000
9001 * include/grub/ata.h: New file, contains declarations from
9002 disk/ata.c.
9003 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9004
9005 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9006 (grub_disk_ata_pass_through): New exported variable.
9007
9008 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9009
772e23da 90102009-02-13 Colin D Bennett <colin@gibibit.com>
9011
9012 Support multiple fallback entries, and provide an API to support
9013 executing default+fallback menu entries. Renamed the `terminal' menu
9014 viewer to `text'.
9015
9016 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9017 variable declaration.
9018 (grub_menu_execute_callback): New structure declaration.
9019 (grub_menu_execute_callback_t): New typedef.
9020 (grub_menu_execute_with_fallback): New function declaration.
9021 (grub_menu_get_entry): Likewise.
9022 (grub_menu_get_timeout): Likewise.
9023 (grub_menu_set_timeout): Likewise.
9024
9025 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9026
9027 * normal/menu.c (grub_wait_after_message): Moved to
9028 `normal/menu_text.c'.
9029 (draw_border): Likewise.
9030 (print_message): Likewise.
9031 (print_entry): Likewise.
9032 (print_entries): Likewise.
9033 (grub_menu_init_page): Likewise.
9034 (get_entry_number): Likewise.
9035 (print_timeout): Likewise.
9036 (run_menu): Likewise.
9037 (grub_menu_execute_entry): Likewise.
9038 (show_text_menu): Likewise.
9039 (get_and_remove_first_entry_number): New function.
9040 (grub_menu_execute_with_fallback): Likewise.
9041 (get_entry): Renamed to ...
9042 (grub_menu_get_entry): .. this and made it global.
9043 (get_timeout): Renamed to ...
9044 (grub_menu_get_timeout): ... this and made it global.
9045 (set_timeout): Renamed to ...
9046 (grub_menu_set_timeout): ... this and made it global.
9047 (grub_normal_terminal_menu_viewer): Renamed to ...
9048 (grub_normal_text_menu_viewer): ... this.
9049
9050 * normal/menu_text.c: New file. Extracted text-menu-specific code
9051 from normal/menu.c.
9052
9053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9054 (normal_mod_SOURCES): Likewise.
9055
9056 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9057 (normal_mod_SOURCES): Likewise.
9058
9059 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9060 (normal_mod_SOURCES): Likewise.
9061
9062 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9063 (normal_mod_SOURCES): Likewise.
9064
9065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9066 (normal_mod_SOURCES): Likewise.
9067
9068 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9069 (normal_mod_SOURCES): Likewise.
9070
9071 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9072 (normal_mod_SOURCES): Likewise.
9073
16ac430e 90742009-02-11 Robert Millan <rmh@aybabtu.com>
9075
9076 * util/grub.d/00_header.in: Update old reference to `font' command.
9077
06ff20fc 90782009-02-10 Felix Zielcke <fzielcke@z-51.de>
9079
9080 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9081
9082 Based on patch from Javier Martín.
9083
96da9407 90842009-02-09 Felix Zielcke <fzielcke@z-51.de>
9085
9086 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 9087 to avoid false positives with FAT.
96da9407 9088 (grub_fstest_SOURCES): Likewise.
9089 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9090 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9092 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9093 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9094 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9095
6dca6fe4 90962009-02-09 Felix Zielcke <fzielcke@z-51.de>
9097
06ff20fc 9098 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 9099 bpb.version_specific.fat12_or_fat16.fstype and
9100 bpb.version_specific.fat32.fstype.
9101
2550c62f 91022009-02-08 Robert Millan <rmh@aybabtu.com>
9103
be110b30 9104 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 9105
56978920 91062009-02-08 Robert Millan <rmh@aybabtu.com>
9107
9108 * Makefile.in (host_os, host_cpu): New variables.
9109 (target_os): Remove. Update all users.
9110
d64399b5 91112009-02-08 Marco Gerards <marco@gnu.org>
9112
9113 * Makefile.in (enable_grub_emu_usb): New variable.
9114 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
9115 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
9116 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
9117 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
9118 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
9119 `usbtest.mod' and `usbms.mod'.
9120 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
9121 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
9122 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
9123 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
9124 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
9125 variables.
9126
9127 * disk/usbms.c: New file.
9128
9129 * include/grub/usb.h: Likewise.
9130
9131 * include/grub/usbtrans.h: Likewise.
9132
9133 * include/grub/usbdesc.h: Likewise.
9134
9135 * bus/usb/usbtrans.c: Likewise.
9136
9137 * bus/usb/ohci.c: Likewise.
9138
9139 * bus/usb/uhci.c: Likewise.
9140
9141 * bus/usb/usbhub.c: Likewise.
9142
9143 * bus/usb/usb.c: Likewise.
9144
9145 * commands/usbtest.c: Likewise.
9146
9147 * util/usb.c: Likewise.
50fb7002 9148
d64399b5 9149 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
9150
9151 * configure.ac: Test for libusb presence.
50fb7002 9152
d64399b5 9153 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
9154
2b40d6bb 91552009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
9156
9157 * kern/mm.c: Add more comments.
9158
73a4ce81 91592009-02-08 Robert Millan <rmh@aybabtu.com>
9160
9161 Patch from Javier Martín.
9162 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
9163 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
9164
f821ce59 91652009-02-08 Robert Millan <rmh@aybabtu.com>
9166
9167 * fs/cpio.c: Split tar functionality to ...
9168 * fs/tar.c: ... here (new file). Update all users.
9169
aebfc4b0 91702009-02-07 Robert Millan <rmh@aybabtu.com>
9171
9172 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
9173 backward-incompatible features.
9174
9175 Based on patch from Javier Martín, with some adjustments.
9176
50fb7002 91772009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 9178
9179 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
9180
0bb5115e 91812009-02-07 Robert Millan <rmh@aybabtu.com>
9182
9183 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
9184 position of `disk/lvm.c' to ensure grub_init_all() always picks it
9185 after the RAID stuff.
9186
38a0f8e7 91872009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
9188
50fb7002 9189 Fixes problem when running vbetest command as reported by
38a0f8e7 9190 Vladimir Serbinenko <phcoder@gmail.com>.
9191
9192 * (grub_vbe_set_video_mode): Fixed problem with text modes.
9193
3143cc1c 91942009-02-04 Felix Zielcke <fzielcke@z-51.de>
9195
9196 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
9197 /dev/md/NpN style mdraid devices.
9198
9cba6fce 91992009-02-03 Felix Zielcke <fzielcke@z-51.de>
9200
9201 * util/unifont2pff.rb: Remove.
9202
e507a2c1 92032009-02-03 Felix Zielcke <fzielcke@z-51.de>
9204
9205 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
9206 `#'.
9207
d2c2b4cd 92082009-02-03 Felix Zielcke <fzielcke@z-51.de>
9209
9210 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
9211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9212 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9213 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9216 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9217
b4315fb0 92182009-02-02 Christian Franke <franke@computer.org>
9219
9220 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
9221
de3aa260 92222009-02-01 Felix Zielcke <fzielcke@z-51.de>
9223
7c3ff286 9224 * INSTALL: Note that we now require at least autoconf 2.59 and
9225 that LZO is optional.
de3aa260 9226
825a182b 92272009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9228
9229 Base on patch on bug #24154 created by Tomas Tintera
9230 <trosos@seznam.cz>.
9231
9232 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
9233
a69ef770 92342009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9235
7c3ff286 9236 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 9237 <bero@arklinux.org>.
9238
9239 * normal/parser.y (script_init): Add missing semicolon.
9240
6fa42fa6 92412009-01-31 Colin D Bennett <colin@gibibit.com>
9242
7c3ff286 9243 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 9244 (free_menu_entry_classes): Added.
9245 (grub_normal_menu_addentry): Added class property handling.
9246 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
9247 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
9248
9249 * normal/menu_viewer.c: New file.
9250
9251 * normal/menu.c (run_menu_entry): Renamed to ...
9252 (grub_menu_execute_entry): ... this and made it as global.
9253 (grub_menu_run): Renamed to ...
9254 (show_text_menu): ... this and made it local.
9255 (show_text_menu): Adapt to new function names.
9256 (grub_normal_terminal_menu_viewer): New global variable.
9257
9258 * include/grub/menu.h: New file.
9259
9260 * include/grub/menu_viewer.h: New file.
9261
9262 * include/grub/normal.h: Added include to grub/menu.h.
9263 (grub_menu_entry): Moved to include/grub/menu.h.
9264 (grub_menu_entry_t): Likewise.
9265 (grub_menu): Likewise.
9266 (grub_menu_t): Likewise.
9267 (grub_normal_terminal_menu_viewer): Added.
9268 (grub_menu_execute_entry): Likewise.
9269 (grub_menu_run): Removed.
9270
9271 * DISTLIST: Added include/grub/menu.h.
9272 Added include/grub/menu_viewer.h.
9273 Added normal/menu_viewer.c.
9274
92752009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
9276
9277 * normal/execute.c (grub_script_execute_menuentry): Changed to use
9278 arglist for menutitle arguments.
9279
9280 * normal/main.c (grub_normal_menu_addentry): Likewise.
9281
9282 * normal/parser.y (menuentry): Likewise.
9283
9284 * normal/script.c (grub_script_create_cmdmenu): Likewise.
9285
9286 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
9287 (grub_script_create_cmdmenu): Likewise.
9288
9289 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
9290
9291 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
9292 changes.
9293
9294 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
9295
9296 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
9297
9298 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
9299
9300 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9301
9302 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9303
9304 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
9305
56192c23 93062009-01-30 Christian Franke <franke@computer.org>
9307
9308 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
9309 in option help text.
9310
d72521b3 93112009-01-27 Pavel Roskin <proski@gnu.org>
9312
9313 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
9314
994b5e84 93152009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9316
9317 * commands/lsmmap.c: Add include to grub/machine/memory.h.
9318
9319 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
9320
9321 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
9322 unregister function.
9323
6a7eab2c 93242009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
9325
9326 * disk/scsi.c (grub_scsi_read): Fix sign problem.
9327
9328 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
9329
9330 * util/grub-mkfont.c (usage): Fix typo.
9331
9332 * util/elf/grub-mkimage.c (load_modules): Fix warning.
9333
1806b56e 93342009-01-26 Daniel Mierswa <impulze@impulze.org>
9335
3fb18f09 9336 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
9337
336e1fb9 9338 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
9339
1806b56e 9340 * kern/misc.c (grub_strcasecmp): New function.
9341 (grub_strcasecmp): Use grub_size_t instead of int for length.
9342 Fix return value.
9343 * include/grub/misc.h: Update function prototypes.
9344
580b2a0f 93452009-01-26 Robert Millan <rmh@aybabtu.com>
9346
9347 * configure.ac: Fix cross-compilation check.
ef257b36 9348
d31c24f1 93492009-01-22 Christian Franke <franke@computer.org>
9350
9351 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
9352 (precision) digit string. Allow `.format2' without `format1' (width).
9353 Limit input chars for `%s' output to `format2' if specified. This is
9354 compatible with standard printf ().
9355
3138b44c 93562009-01-22 Christian Franke <franke@computer.org>
9357
9358 * disk/ata.c (grub_ata_wait_status): Replace by ...
9359 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
9360 other status bits may be invalid while BSY is asserted.
9361 (grub_ata_check_ready): New function.
9362 (grub_ata_cmd): Removed.
9363 (grub_ata_wait_drq): New function.
9364 (grub_ata_strncpy): Remove inline.
9365 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
9366 and error check now done by grub_ata_wait_drq ().
9367 (grub_ata_pio_write): Likewise.
9368 (grub_atapi_identify): Set DEV before check for !BSY. Use
9369 grub_ata_wait_drq () to wait for data.
9370 (grub_ata_device_initialize): Add status register check to
9371 detect missing SATA slave devices. Add debug messages.
9372 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
9373 (grub_atapi_packet): Set DEV before check for !BSY. Replace
9374 transfer loop by grub_ata_pio_write ().
9375 (grub_ata_identify): Set DEV before check for !BSY. Use
9376 grub_ata_wait_drq () to wait for data.
ef257b36 9377 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 9378 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
9379 read/write in one loop. Fix invalid command on write. Fix incomplete
9380 command on (size % batch) == 0. Add missing error check after write of
9381 last block. Add debug messages.
9382 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
9383
59a64ef6 93842009-01-19 Christian Franke <franke@computer.org>
9385
9386 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
9387 (GRUB_ATAPI_IREASON_*): Likewise.
9388 (grub_ata_pio_write): Fix timeout error return.
9389 (grub_atapi_identify): Add grub_ata_wait () after cmd.
9390 (grub_atapi_wait_drq): New function.
9391 (grub_atapi_packet): New parameter `size'.
9392 Use grub_atapi_wait_drq () and direct write instead of
9393 grub_ata_pio_write ().
9394 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
9395 reads the number of bytes requested by the device for each DRQ
9396 assertion.
9397 (grub_atapi_write): Remove old implementation, return not
9398 implemented instead.
9399
1cfe20b3 94002009-01-19 Christian Franke <franke@computer.org>
9401
9402 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
9403 of 512 to calculate data size.
9404 (grub_scsi_read12): Likewise.
9405 (grub_scsi_write10): Likewise.
9406 (grub_scsi_write12): Likewise.
9407 (grub_scsi_read): Adjust size according to blocksize.
9408 Add checks for invalid blocksize and unaligned transfer.
9409
bee5fe5d 94102009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
9411
9412 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
9413
ef257b36 9414 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 9415 width glyphs.
9416
3e643f8c 94172009-01-19 Robert Millan <rmh@aybabtu.com>
9418
9419 * config.guess: Update to latest version from config git.
9420 * config.sub: Likewise.
9421
4fa80998 94222009-01-17 Felix Zielcke <fzielcke@z-51.de>
9423
9424 * Makefile.in: Change font compilation to use new grub-mkfont instead
9425 of java version.
9426
9427 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
9428 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
9429 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9430 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
9431 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
9432 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
9433 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
9434 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
9435 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9436
7086085b 94372009-01-16 Christian Franke <franke@computer.org>
9438
9439 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
9440 (enum grub_ata_timeout_milliseconds): New enum.
9441 (grub_ata_wait_status): Add parameter milliseconds.
9442 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
9443 recovery from timed-out commands.
9444 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
9445 return grub_errno instead of REG_ERROR.
9446 (grub_ata_pio_write): Add parameter milliseconds.
9447 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
9448 Pass milliseconds to grub_ata_wait_status () and
9449 grub_ata_pio_read ().
9450 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
9451 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
9452 grub_ata_wait_status (). Fix IDENTIFY timeout check.
9453 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
9454 It is not suitable for device detection, because DEV bit is ignored,
9455 the command may run too long, and not all devices set the signature
9456 properly.
9457 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
9458 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
9459 Fix device selection, DEV bit must be set first to address the registers
9460 of the correct device.
9461 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
9462 grub_ata_pio_read/write ().
9463 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
9464 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
9465
4a412913 94662009-01-13 Carles Pina i Estany <carles@pina.cat>
9467
9468 * util/grub-editenv.c (main): Use fseeko(), not fseek().
9469
7795c55e 94702009-01-13 Bean <bean123ch@gmail.com>
d913988c 9471
9472 * util/grub-mkfont.c (write_font): forget to remove some debug code.
9473
7795c55e 94742009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 9475
9476 * Makefile.in: (enable_grub_mkfont): New variable.
9477 (freetype_cflags): Likewise.
9478 (freetype_libs): Likewise.
9479
9480 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
9481 (grub_mkfont_SOURCES): New variable.
9482 (grub_mkfont_CFLAGS): Likewise.
9483 (grub_mkfont_LDFLAGS): Likewise.
9484
9485 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
9486 library if `--enable-grub-mkfont' is requested.
9487 (enable_grub_mkfont): New variable.
9488 (freetype_cflags): Likewise.
9489 (freetype_libs): Likewise.
9490
9491 * util/grub-mkfont.c: New file.
9492
093af1fe 94932009-01-12 Christian Franke <franke@computer.org>
9494
9495 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
9496 mode check. Fix setting of compat_use[].
9497
f36cc108 94982009-01-10 Robert Millan <rmh@aybabtu.com>
9499
9500 Update a few copyright years which we forgot to do in 2008 (only for
9501 files whose changes made in 2008 were copyright-significant)
9502
9503 * Makefile.in: Add 2008 to Copyright line.
9504 * disk/ieee1275/ofdisk.c: Likewise.
9505 * disk/efi/efidisk.c: Likewise.
9506 * kern/dl.c: Likewise.
9507 * kern/sparc64/ieee1275/init.c: Likewise.
9508 * kern/mm.c: Likewise.
9509 * kern/efi/mm.c: Likewise.
9510 * boot/i386/pc/boot.S: Likewise.
9511 * genfslist.sh: Likewise.
9512 * fs/iso9660.c: Likewise.
9513 * fs/hfs.c: Likewise.
9514 * fs/jfs.c: Likewise.
9515 * fs/minix.c: Likewise.
9516 * fs/ufs.c: Likewise.
9517 * gensymlist.sh.in: Likewise.
9518 * genkernsyms.sh.in: Likewise.
9519 * include/grub/misc.h: Likewise.
9520 * include/grub/types.h: Likewise.
9521 * include/grub/symbol.h: Likewise.
9522 * include/grub/elf.h: Likewise.
9523 * include/grub/kernel.h: Likewise.
9524 * include/grub/disk.h: Likewise.
9525 * include/grub/dl.h: Likewise.
9526 * include/grub/i386/linux.h: Likewise.
9527 * include/grub/i386/pc/biosdisk.h: Likewise.
9528 * include/grub/efi/api.h: Likewise.
9529 * include/grub/efi/pe32.h: Likewise.
9530 * include/grub/util/misc.h: Likewise.
9531 * normal/execute.c: Likewise.
9532 * normal/arg.c: Likewise.
9533 * normal/completion.c: Likewise.
9534 * normal/lexer.c: Likewise.
9535 * normal/parser.y: Likewise.
9536 * normal/misc.c: Likewise.
9537 * commands/i386/pc/vbeinfo.c: Likewise.
9538 * commands/hexdump.c: Likewise.
9539 * commands/terminal.c: Likewise.
9540 * commands/ls.c: Likewise.
9541 * commands/help.c: Likewise.
9542 * partmap/pc.c: Likewise.
9543 * loader/efi/chainloader.c: Likewise.
9544 * loader/multiboot_loader.c: Likewise.
9545 * loader/i386/pc/multiboot2.c: Likewise.
9546 * term/efi/console.c: Likewise.
9547 * term/i386/pc/serial.c: Likewise.
9548 * util/lvm.c: Likewise.
9549 * util/console.c: Likewise.
9550 * util/i386/efi/grub-mkimage.c: Likewise.
9551 * util/raid.c: Likewise.
9552
7f02114b 95532009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
9554
9555 * commands/videotest.c: Removed include to grub/machine/memory.h.
9556
9557 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
9558 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
9559 (video_mod_SOURCES): Removed.
9560 (video_mod_CFLAGS): Likewise.
9561 (video_mod_LDFLAGS): Likewise.
9562 (gfxterm_mod_SOURCES): Likewise.
9563 (gfxterm_mod_CFLAGS): Likewise.
9564 (gfxterm_mod_LDFLAGS): Likewise.
9565 (videotest_mod_SOURCES): Likewise.
9566 (videotest_mod_CFLAGS): Likewise.
9567 (videotest_mod_LDFLAGS): Likewise.
9568 (bitmap_mod_SOURCES): Likewise.
9569 (bitmap_mod_CFLAGS): Likewise.
9570 (bitmap_mod_LDFLAGS): Likewise.
9571 (tga_mod_SOURCES): Likewise.
9572 (tga_mod_CFLAGS): Likewise.
9573 (tga_mod_LDFLAGS): Likewise.
9574 (jpeg_mod_SOURCES): Likewise.
9575 (jpeg_mod_CFLAGS): Likewise.
9576 (jpeg_mod_LDFLAGS): Likewise.
9577 (png_mod_SOURCES): Likewise.
9578 (png_mod_CFLAGS): Likewise.
9579 (png_mod_LDFLAGS): Likewise.
9580
9581 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
9582 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
9583 (video_mod_SOURCES): Added.
9584 (video_mod_CFLAGS): Likewise.
9585 (video_mod_LDFLAGS): Likewise.
9586 (videotest_mod_SOURCES): Likewise.
9587 (videotest_mod_CFLAGS): Likewise.
9588 (videotest_mod_LDFLAGS): Likewise.
9589 (bitmap_mod_SOURCES): Likewise.
9590 (bitmap_mod_CFLAGS): Likewise.
9591 (bitmap_mod_LDFLAGS): Likewise.
9592 (tga_mod_SOURCES): Likewise.
9593 (tga_mod_CFLAGS): Likewise.
9594 (tga_mod_LDFLAGS): Likewise.
9595 (jpeg_mod_SOURCES): Likewise.
9596 (jpeg_mod_CFLAGS): Likewise.
9597 (jpeg_mod_LDFLAGS): Likewise.
9598 (png_mod_SOURCES): Likewise.
9599 (png_mod_CFLAGS): Likewise.
9600 (png_mod_LDFLAGS): Likewise.
9601 (gfxterm_mod_SOURCES): Likewise.
9602 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 9603 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 9604
9605 * term/gfxterm.c: Removed include to grub/machine/memory.h,
9606 grub/machine/console.h.
9607
644fff97 96082009-01-04 Jerone Young <jerone@gmail.com>
9609
9610 Make on screen instructions clearer
9611
9612 Based on patch created by Jidanni <jidanni@jidanni.org>
9613
9614 * normal/menu.c: print clearer instructions on the screen
9615
1e901a75 96162009-01-02 Colin D Bennett <colin@gibibit.com>
9617
9618 New font engine.
34c44600 9619
1e901a75 9620 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
9621 build system and fixed gfxterm.c to work with different sized fonts.
9622
9623 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 9624
1e901a75 9625 * configure: Re-generated.
34c44600 9626
1e901a75 9627 * DISTLIST: Removed font/manager.c.
9628 Added font/font.c.
9629 Added font/font_cmd.c.
34c44600 9630
1e901a75 9631 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
9632 compilation.
34c44600 9633
1e901a75 9634 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 9635
9636 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 9637
9638 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 9639
1e901a75 9640 * normal/menu.c: Likewise.
34c44600 9641
1e901a75 9642 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
9643 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 9644
1e901a75 9645 * include/grub/font.h: Replaced with new file.
34c44600 9646
1e901a75 9647 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
9648 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
9649 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
9650 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
9651 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 9652 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 9653 fg_red, fg_green, fg_blue, fg_alpha.
9654 (grub_video_adapter): Removed blit_glyph.
34c44600 9655 (grub_video_blit_glyph): Removed.
9656
1e901a75 9657 * font/manager.c: Removed file.
34c44600 9658
9659 * font/font.c: New file.
9660
1e901a75 9661 * font/font_cmd.c: Likewise.
34c44600 9662
1e901a75 9663 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 9664
1e901a75 9665 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
9666 (grub_video_vbe_map_rgba): Likewise.
9667 (grub_video_vbe_unmap_color_int): Likewise.
9668 (grub_video_vbe_blit_glyph): Removed.
9669 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 9670
1e901a75 9671 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
9672 (get_pixel): Likewise.
34c44600 9673 (set_pixel): Likewise.
9674
1e901a75 9675 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 9676
1e901a75 9677 * term/gfxterm.c: Adapted to new font engine.
34c44600 9678
1e901a75 9679 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 9680
1e901a75 9681 * term/i386/pc/vga.c: Likewise.
34c44600 9682
1e901a75 9683 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 9684
1e901a75 9685 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 9686
1e901a75 9687 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9688
1e901a75 9689 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9690
1e901a75 9691 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 9692
1e901a75 9693 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 9694
1e901a75 9695 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 9696
1e901a75 9697 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 9698
1e901a75 9699 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9700
9701 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 9702
1e901a75 9703 * util/grub-mkconfig_lib.in: Changed font extension.
9704
278922e8 97052008-12-28 Felix Zielcke <fzielcke@z-51.de>
9706
9707 * util/getroot.c (grub_util_get_grub_dev): Add support for
9708 /dev/md/dNNpNN style partitionable mdraid devices.
9709
3ced05cf 97102008-12-12 Alex Smith <alex@alex-smith.me.uk>
9711
9712 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
9713 at a time limit of the PXE TFTP API correctly.
9714 (grub_pxefs_close): Likewise.
9715
7fd0ee30 97162008-11-29 Robert Millan <rmh@aybabtu.com>
9717
34c44600 9718 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 9719 grub_ata_device_initialize() calls.
9720
34c44600 97212008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 9722
9723 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
9724 iteration failed.
9725 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
9726
89313780 97272008-11-28 Robert Millan <rmh@aybabtu.com>
9728
9729 Fix build on powerpc-ieee1275. Based on patch created by
9730 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
9731 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9732 `kern/ieee1275/mmap.c'.
9733 * include/grub/powerpc/ieee1275/memory.h: New file.
9734
15257703 9735 Provide grub-install on coreboot.
9736 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
9737 (grub_install_SOURCES): New variable.
9738 * util/i386/pc/grub-install.in: Add a few condition checks to make it
9739 usable on coreboot.
9740
9fc5388a 97412008-11-25 Felix Zielcke <fzielcke@z-51.de>
9742
9743 * util/grub-fstest.c (grub_term_get_current_input): Change return type
9744 to `grub_term_input_t'.
9745 (grub_term_get_current_output): Change return type to
9746 `grub_term_output_t'.
9747
bc3a2f31 97482008-11-22 Robert Millan <rmh@aybabtu.com>
9749
34c44600 9750 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 9751 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
9752 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
9753 grub_vga_text_cls().
9754
80fc88f2 9755 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 9756 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 9757
cbf36fd3 9758 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
9759 to 0x200000 (avoids trouble with some OFW implementations, and matches
9760 with the one in Yaboot).
9761 Reported by Manoel Abranches
9762
73e8e268 97632008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 9764
9765 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
9766 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
9767
73e8e268 9768 * util/grub-mkconfig_lib.in (grub_warn): New function.
9769 (convert_system_path_to_grub_path): Use grub_warn() when issuing
9770 warnings, to obtain consistent formatting.
9771 * util/grub.d/00_header.in: Likewise.
9772 * util/update-grub_lib.in: Likewise.
9773
e94045a1 9774 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 9775 Move comment text to `#error' stanza.
e94045a1 9776
79d29fd7 9777 Harmonize ieee1275's grub_available_iterate() with the generic
9778 grub_machine_mmap_iterate() interface (fixes a recently-introduced
9779 build problem on i386-ieee1275):
9780 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
9781 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
9782 parameter `type'. Update all users of this function.
9783 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
9784 `kern/ieee1275/mmap.c'.
9785 * kern/ieee1275/init.c
9786 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
9787 with ...
9788 (grub_machine_mmap_iterate): ... this.
9789 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
9790 return type to `grub_err_t'. Update all implementations of this
9791 function prototype.
9792 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
9793 Likewise.
9794
60d6b16e 9795 Add `lsmmap' command (lists firmware-provided memory map):
9796 * commands/lsmmap.c: New file.
9797 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
9798 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
9799 variables.
9800 * conf/powerpc-ieee1275.rmk: Likewise.
9801 * conf/i386-coreboot.rmk: Likewise.
9802 * conf/i386-ieee1275.rmk: Likewise.
9803
ebaaf49b 98042008-11-19 Robert Millan <rmh@aybabtu.com>
9805
9806 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 9807 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
9808 constraints to initrd allocation (based on code from
9809 loader/i386/pc/linux.c). Without them, initrd was allocated too high
9810 for Linux to find it.
ebaaf49b 9811
dfab719f 98122008-11-14 Robert Millan <rmh@aybabtu.com>
9813
9814 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
9815 order to cope with duplicate slashes.
9816
10fc3eb9 98172008-11-14 Robert Millan <rmh@aybabtu.com>
9818
9819 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
9820 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
9821 don't want to mess with lower memory, because it is used in the Linux
9822 loader.
9823
9824 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 9825 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 9826 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
9827 is in our heap (probably as a result of it being corrupted during
2f2a3442 9828 decompression). Add #error instance with comment to explain why this
9829 loader isn't currently usable on PC/BIOS.
10fc3eb9 9830
e2e07847 98312008-11-14 Robert Millan <rmh@aybabtu.com>
9832
9833 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 9834 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 9835
fe8e8d69 98362008-11-12 Robert Millan <rmh@aybabtu.com>
9837
9838 Make loader/i386/linux.c buildable on i386-pc (although disabled).
9839
9840 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
9841 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
9842 from here ...
9843 * include/grub/i386/pc/memory.h: ... to here.
9844
976b07d0 98452008-11-12 Robert Millan <rmh@aybabtu.com>
9846
9847 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
9848 split).
9849
9850 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
9851 (grub_console_cur_color, grub_console_real_putchar)
9852 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9853 (grub_console_setcolorstate, grub_console_setcolor)
9854 (grub_console_getcolor): Move from here ...
9855 * include/grub/i386/vga_common.h: ... to here (new file).
9856
9857 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
9858 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
9859 `<grub/i386/io.h>'.
9860 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
9861 `<grub/i386/vga_common.h>'.
9862
76679cd3 98632008-11-12 Robert Millan <rmh@aybabtu.com>
9864
9865 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
9866 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
9867 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
9868 variables.
9869 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9870 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
9871
9872 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
9873 grub_console_init() with call to grub_vga_text_init().
9874 (grub_machine_fini): Replace call to
9875 grub_console_fini() with call to grub_vga_text_fini() and
9876 grub_at_keyboard_fini().
9877
9878 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
9879 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9880 (grub_console_setcolorstate, grub_console_setcolor)
9881 (grub_console_getcolor): New function prototypes.
9882
9883 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
9884 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
9885 (grub_vga_text_setcursor): Static-ize.
9886 (grub_vga_text_term): New structure.
9887 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
9888
9889 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
9890 (grub_console_cur_color, grub_console_standard_color)
9891 (grub_console_normal_color, grub_console_highlight_color)
9892 (map_char, grub_console_putchar, grub_console_getcharwidth)
9893 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
9894 (grub_console_getcolor): Move from here ...
9895 * term/i386/vga_common.c: ... to here (same function names).
9896
95b841d3 98972008-11-12 Robert Millan <rmh@aybabtu.com>
9898
9899 Use newly-added Multiboot support in coreboot.
9900
9901 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9902 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
9903
9904 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
9905 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
9906 (codestart): Store the MBI in `startup_multiboot_info' when we're
9907 being loaded using Multiboot.
9908
9909 * kern/i386/coreboot/init.c (grub_machine_init): Move
9910 grub_at_keyboard_init() call to beginning of function (useful for
9911 debugging). Call grub_machine_mmap_init() before attempting to use
9912 grub_machine_mmap_iterate().
9913 (grub_lower_mem, grub_upper_mem): Move from here ...
9914 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
9915 here (new file).
9916
9917 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
9918 function prototype.
9919
761ca975 99202008-11-12 Robert Millan <rmh@aybabtu.com>
9921
9922 Fix a regression introduced by the at_keyboard.mod split. Because
9923 some terminals are default on some platforms and non-default on
9924 others, the first terminal being registered determines which is
9925 going to be default.
9926
9927 * kern/term.c (grub_term_register_input): If this is the first
9928 terminal being registered, set it as the current one.
9929 (grub_term_register_output): Likewise.
9930
9931 * term/efi/console.c (grub_console_init): Do not call
9932 grub_term_set_current_output() or grub_term_set_current_input().
9933 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9934 * term/i386/pc/console.c (grub_console_init): Likewise.
9935 (grub_console_fini): Do not call grub_term_set_current_input()
9936 (but leave grub_term_set_current_output() to restore text mode).
9937
6c529df7 99382008-11-10 Robert Millan <rmh@aybabtu.com>
9939
9940 * util/grub.d/00_header.in: Add backward compatibility check for
9941 versions of terminal.mod that don't understand `terminal_input' or
9942 `terminal_output'.
9943
132e4113 99442008-11-09 Robert Millan <rmh@aybabtu.com>
9945
9946 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9947 `terminal_input' / `terminal_output', not `terminal'.
9948
ac293d50 99492008-11-08 Robert Millan <rmh@aybabtu.com>
9950
9951 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9952 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9953
0025933a 99542008-11-08 Robert Millan <rmh@aybabtu.com>
9955
9956 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9957 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9958 members. Update all users.
9959 * util/console.c (grub_ncurses_term): Split in ...
9960 (grub_ncurses_term_input): ... this, and ...
9961 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9962 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9963
37c86336 99642008-11-08 Robert Millan <rmh@aybabtu.com>
9965
9966 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9967 (PKGDATA): Add $(pkgdata_SRCDIR).
9968 (pkglib_BUILDDIR): New variable.
9969 (pkgdata_SRCDIR): New variable.
9970 (build_env.mk): New target.
9971 (include_DATA): New variable.
9972 (install-local): Install $(include_DATA) files in $(includedir).
9973
b6c15a2d 99742008-11-07 Pavel Roskin <proski@gnu.org>
9975
d99d46f1 9976 * gendistlist.sh: Use C locale for sorting to ensure consistent
9977 output on all systems.
9978
b6c15a2d 9979 * util/grub.d/00_header.in: Remove incorrect space before
9980 "serial".
9981
c32ee8c9 99822008-11-07 Robert Millan <rmh@aybabtu.com>
9983
9984 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
9985 per specification.
9986 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
9987 * loader/multiboot_loader.c (find_multi_boot2_header): New function
9988 (based on find_multi_boot1_header).
9989 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
9990 using find_multi_boot2_header(), and abort if neither Multiboot or
9991 Multiboot headers were found.
9992
651c29b7 99932008-11-07 Robert Millan <rmh@aybabtu.com>
9994
9995 Modularize at_keyboard.mod:
9996
9997 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
9998 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9999 (at_keyboard_mod_LDFLAGS): New variables.
10000
10001 Actual terminal split:
10002
10003 * include/grub/term.h (struct grub_term): Split in ...
10004 (struct grub_term_input): ... this, and ...
10005 (struct grub_term_output): ... this. Update all users.
10006 (grub_term_set_current): Split in ...
10007 (grub_term_set_current_input): ... this, and ...
10008 (grub_term_set_current_output): ... this.
10009 (grub_term_get_current): Split in ...
10010 (grub_term_get_current_input): ... this, and ...
10011 (grub_term_get_current_output): ... this.
10012 (grub_term_register): Split in ...
10013 (grub_term_register_input): ... this, and ...
10014 (grub_term_register_output): ... this.
10015 (grub_term_unregister): Split in ...
10016 (grub_term_unregister_input): ... this, and ...
10017 (grub_term_unregister_output): ... this.
10018 (grub_term_iterate): Split in ...
10019 (grub_term_iterate_input): ... this, and ...
10020 (grub_term_iterate_output): ... this.
10021
10022 * kern/term.c (grub_term_list): Split in ...
10023 (grub_term_list_input): ... this, and ...
10024 (grub_term_list_output): ... this. Update all users.
10025 (grub_cur_term): Split in ...
10026 (grub_cur_term_input): ... this, and ...
10027 (grub_cur_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/misc.c (grub_abort): Split use of grub_term_get_current() into
10045 a check for input and one for output (and only attempt to get keys
10046 from user when input works).
10047
10048 * util/grub-probe.c (grub_term_get_current): Split in ...
10049 (grub_term_get_current_input): ... this, and ...
10050 (grub_term_get_current_output): ... this.
10051 * util/grub-fstest.c: Likewise.
10052 * util/i386/pc/grub-setup.c: Likewise.
10053 * util/grub-editenv.c: Likewise.
10054
10055 Portability adjustments:
10056
10057 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10058 `term/i386/pc/at_keyboard.c'.
10059 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10060 grub_keyboard_controller_init() (now handled by terminal .init).
10061 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10062 grub_at_keyboard_init().
10063 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10064 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10065 at_keyboard.mod via input terminal interface).
10066 * include/grub/i386/coreboot/console.h: Convert into a stub for
10067 `<grub/i386/pc/console.h>'.
10068
10069 Migrate full terminals to new API:
10070
10071 * term/efi/console.c (grub_console_term): Split into ...
10072 (grub_console_term_input): ... this, and ...
10073 (grub_console_term_output): ... this. Update all users.
10074 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10075 (grub_ofconsole_init): Split into ...
10076 (grub_ofconsole_init_input): ... this, and ...
10077 (grub_ofconsole_init_output): ... this.
10078 (grub_ofconsole_term): Split into ...
10079 (grub_ofconsole_term_input): ... this, and ...
10080 (grub_ofconsole_term_output): ... this. Update all users.
10081 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10082 (grub_serial_term_input): ... this, and ...
10083 (grub_serial_term_output): ... this. Update all users.
10084 * term/i386/pc/console.c (grub_console_term): Split into ...
10085 (grub_console_term_input): ... this, and ...
10086 (grub_console_term_output): ... this. Update all users.
10087 (grub_console_term_input): Only enable it on PC/BIOS platform.
10088 (grub_console_init): Remove grub_keyboard_controller_init() call.
10089
10090 Migrate input terminals to new API:
10091
10092 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
10093 `i386' and `i386/pc' to enable build on x86_64 (this driver is
10094 i386-specific anyway).
10095 (grub_console_checkkey): Rename to ...
10096 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
10097 users.
10098 (grub_keyboard_controller_orig): New variable.
10099 (grub_console_getkey): Rename to ...
10100 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
10101 users.
10102 (grub_keyboard_controller_init): Static-ize. Save original
10103 controller value so that it can be restored ...
10104 (grub_keyboard_controller_fini): ... here (new function).
10105 (grub_at_keyboard_term): New structure.
10106 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
10107 functions.
10108
10109 Migrate output terminals to new API:
10110
10111 * term/i386/pc/vga.c (grub_vga_term): Change type to
10112 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10113 members. Update all users.
10114 * term/gfxterm.c (grub_video_term): Change type to
10115 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10116 members. Update all users.
10117 * include/grub/i386/pc/console.h (grub_console_checkkey)
10118 (grub_console_getkey): Do not export (no longer needed by gfxterm,
10119 etc).
10120
10121 Migrate `terminal' command and userland tools to new API:
10122
10123 * commands/terminal.c (grub_cmd_terminal): Split into ...
10124 (grub_cmd_terminal_input): ... this, and ...
10125 (grub_cmd_terminal_output): ... this.
10126 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
10127 `terminal_input' and `terminal_output'.
10128 * util/grub.d/00_header.in: Adjust `terminal' calls to new
10129 `terminal_input' / `terminal_output' API.
10130 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
10131 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
10132 provided ${GRUB_TERMINAL}, convert it).
10133
96e5d876 101342008-11-04 Robert Millan <rmh@aybabtu.com>
10135
10136 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
10137 for FreeBSD.
10138 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
10139
556f3775 101402008-11-03 Bean <bean123ch@gmail.com>
10141
10142 * kern/elf.c (grub_elf32_load): Revert to previous code.
10143 (grub_elf64_load): Likewise.
10144
10145 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
10146
926b9823 101472008-11-01 Robert Millan <rmh@aybabtu.com>
10148
10149 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
10150 (TARGET_CPPFLAGS): Likewise.
10151 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
10152
1432e958 101532008-11-01 Carles Pina i Estany <carles@pina.cat>
10154
10155 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
10156
dba3f844 101572008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 10158
10159 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
10160 addition of objects until the code is not going to be able to fail.
10161
dba3f844 101622008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 10163
10164 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
10165 (add a missing NULL check, and correct them by moving the pointer
10166 operations after the actual check).
10167
7ab28c21 101682008-10-29 Robert Millan <rmh@aybabtu.com>
10169
10170 * util/i386/pc/grub-install.in: Handle empty string as output from
10171 make_system_path_relative_to_its_root().
10172
1b7748eb 101732008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
10174
10175 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
10176 circular metadata worst case scenario. If the metadata is circular
10177 then copy the wrap in place.
10178 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
10179 project lib/format_text/layout.h
10180 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
10181
c9618ab2 101822008-10-03 Felix Zielcke <fzielcke@z-51.de>
10183
7a36edca 10184 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 10185
bf981c62 101862008-10-03 Felix Zielcke <fzielcke@z-51.de>
10187
10188 * util/update-grub_lib.in: Mention filename in warning message.
10189
6d994591 101902008-09-29 Felix Zielcke <fzielcke@z-51.de>
10191
10192 * NEWS: Update for rename of update-grub to grub-mkconfig.
10193
18ade780 101942008-09-29 Felix Zielcke <fzielcke@z-51.de>
10195
10196 * util/update-grub_lib.in: Copy to ...
10197 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 10198 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 10199 * util/update-grub.in: Rename to ...
10200 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
10201 option. Add `--output' option to allow users to specify the generated
10202 configuration file. Default to stdout.
10203 (update_grub_dir): Rename to ...
10204 (grub_mkconfig_dir): ... this.
10205 (grub_cfg): Default to an empty string.
10206 * conf/common.rmk (update-grub): Rename to ...
10207 (grub-mkconfig): ... this.
10208 (update-grub_lib): Copy to ...
10209 (grub-mkconfig_lib): ... this.
10210 (update-grub_SCRIPTS): Copy to ...
10211 (grub-mkconfig_SCRIPTS): ... this. Update all users.
10212 (update-grub_DATA): Rename to ...
10213 (grub-mkconfig_DATA): ... this.
10214
556ce6ac 102152008-09-28 Robert Millan <rmh@aybabtu.com>
10216
10217 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
10218 to `modified'. Add the real `created' field.
10219 (grub_iso9660_uuid): Use `modified' rather than `created' for
10220 constructing the UUID.
10221
102222008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 10223
10224 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
10225 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
10226
92274e85 102272008-09-28 Bean <bean123ch@gmail.com>
10228
10229 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
10230 Thanks to Christian Franke for finding this bug.
10231
add6f17a 102322008-09-25 Robert Millan <rmh@aybabtu.com>
10233
10234 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
10235 instances of grub_util_get_disk_name() (see previous commit).
10236
d2a367b8 102372008-09-25 Robert Millan <rmh@aybabtu.com>
10238
10239 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
10240 `util/i386/get_disk_name.c'.
10241 * conf/i386-efi.rmk: Likewise.
10242 * conf/x86_64-efi.rmk: Likewise.
10243 * conf/i386-coreboot.rmk: Likewise.
10244 * conf/i386-ieee1275.rmk: Likewise.
10245 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
10246 `util/ieee1275/get_disk_name.c'.
10247 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
10248 * util/ieee1275/get_disk_name.c: Remove file.
10249 * util/i386/get_disk_name.c: Remove file.
10250 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
10251 "hd%d" for device.map entries, rather than using
10252 grub_util_get_disk_name().
10253
81a06771 102542008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 10255
10256 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
10257 warning.
10258 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
10259
5a004279 102602008-09-24 Carles Pina i Estany <carles@pina.cat>
10261
10262 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
10263 Changed to 0x5100.
10264 (GRUB_TERM_PPAGE): Changed to 0x4900.
10265
397093d3 102662008-09-24 Robert Millan <rmh@aybabtu.com>
10267
10268 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
10269 macros (they were i386-pc specific).
10270 * include/grub/sparc64/ieee1275/console.h: Likewise.
10271 * include/grub/efi/console.h: Likewise.
10272
a91b6c7c 102732008-09-22 Bean <bean123ch@gmail.com>
10274
10275 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
10276 resident and in attribute list.
10277
10278 * include/grub/ntfs.h (BMP_LEN): Removed.
10279
c40fd116 102802008-09-22 Bean <bean123ch@gmail.com>
10281
81a06771 10282 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 10283 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
10284
10285 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
10286 error occurs, as grub_disk_open will call grub_disk_close, which will
10287 call p->close (scsi).
10288
81a06771 102892008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 10290
10291 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
10292 (AC_PREREQ): Bumped to 2.59.
10293 (AC_TRY_COMPILE): Replace obsolete macro with ...
10294 (AC_COMPILE_IFELSE): ... this.
10295 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
10296 (AC_LINK_IFELSE): ... this.
10297
5dc43410 102982008-09-21 Felix Zielcke <fzielcke@z-51.de>
10299
10300 * autogen.sh: Add a call to `gendistlist.sh'.
10301
9035dce4 103022008-09-19 Christian Franke <franke@computer.org>
10303
10304 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
10305 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
10306 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
10307 Export __enable_execute_stack() to modules.
10308 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
10309 New function.
10310
7fd75377 103112008-09-09 Felix Zielcke <fzielcke@z-51.de>
10312
040030b3 10313 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
10314 Sort the list.
10315
103162008-09-09 Felix Zielcke <fzielcke@z-51.de>
10317
10318 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 10319 #include <grub/util/hostdisk.h>.
10320
89d5ffcf 103212008-09-08 Robert Millan <rmh@aybabtu.com>
10322
10323 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
10324 segments when their filesz is zero (grub_file_read() interprets
81a06771 10325 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 10326 Use `lowest_segment' rather than 0 for calculating the current
10327 segment load address.
10328
40da438f 103292008-09-08 Robert Millan <rmh@aybabtu.com>
10330
10331 * util/hostdisk.c (open_device): Replace a grub_util_info() call
10332 with grub_dprintf("hostdisk", ...), as it was so verbose that it
10333 clobbered useful information.
10334
ddbf5556 103352008-09-08 Robert Millan <rmh@aybabtu.com>
10336
10337 * include/grub/util/biosdisk.h: Move to ...
10338 * include/grub/util/hostdisk.h: ... here. Update all users.
10339 * util/biosdisk.c: Move to ...
10340 * util/hostdisk.c: ... here. Update all users.
10341
783d0f48 103422008-09-07 Robert Millan <rmh@aybabtu.com>
10343
10344 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
10345 variables.
10346 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
10347 and length can be stored directly in the `mbi->mmap_addr' and
10348 `mbi->mmap_length' struct fields.
10349
548e2ea5 103502008-09-07 Robert Millan <rmh@aybabtu.com>
10351
10352 * conf/i386.rmk: New file. Provides declaration for building
10353 `cpuid.mod'.
10354 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
10355 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
10356 variables.
10357 Include `conf/i386.mk'.
10358 * conf/i386-efi.rmk: Likewise.
10359 * conf/x86_64-efi.rmk: Likewise.
10360 * conf/i386-coreboot.rmk: Likewise.
10361 * conf/i386-ieee1275.rmk: Likewise.
10362
0ea85a37 103632008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
10364
10365 Based on patch created by Colin D Bennett <colin@gibibit.com>.
10366 Adds optimization support for BGR based modes.
10367
10368 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
10369 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10370 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10371 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10372 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10373 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10374 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10375 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10376 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10377 (grub_video_i386_vbeblit_index_index): Likewise.
10378 (grub_video_i386_vbeblit_replace_directN): Added.
10379 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10380 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10381 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10382 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10383 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10384 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 10385 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 10386 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10387 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10388 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10389 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10390 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10391 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
10392
10393 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
10394 (grub_video_i386_vbefill_R8G8B8): Likewise.
10395 (grub_video_i386_vbefill_index): Likewise.
10396 (grub_video_i386_vbefill_direct32): Added.
10397 (grub_video_i386_vbefill_direct24): Likewise.
10398 (grub_video_i386_vbefill_direct16): Likewise.
10399 (grub_video_i386_vbefill_direct8): Likewise.
10400
81a06771 10401 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 10402 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
10403 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
10404 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
10405 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
10406 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 10407
0ea85a37 10408 * video/video.c (grub_video_get_blit_format): Updated to use new
10409 blit formats. Added handling for 16 bit color modes.
81a06771 10410
10411 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 10412 fillers.
10413 (common_blitter): Updated to use new blitters.
10414
10415 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
10416 Removed.
10417 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
10418 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
10419 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
10420 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
10421 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
10422 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
10423 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
10424 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
10425 (grub_video_i386_vbeblit_index_index): Likewise.
10426 (grub_video_i386_vbeblit_replace_directN): Added.
10427 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
10428 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
10429 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
10430 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
10431 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
10432 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
10433 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
10434 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
10435 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
10436 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
10437 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
10438 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
10439 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 10440
0ea85a37 10441 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
10442 (grub_video_i386_vbefill_R8G8B8): Likewise.
10443 (grub_video_i386_vbefill_index): Likewise.
10444 (grub_video_i386_vbefill_direct32): Added.
10445 (grub_video_i386_vbefill_direct24): Likewise.
10446 (grub_video_i386_vbefill_direct16): Likewise.
10447 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 10448
0ea85a37 10449 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
10450 types.
81a06771 10451
0ea85a37 10452 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
10453 types.
81a06771 10454
0ea85a37 10455 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
10456 blitter types.
81a06771 10457
0ea85a37 10458 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
10459 types.
10460
e8a83df6 104612008-09-06 Felix Zielcke <fzielcke@z-51.de>
10462
10463 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
10464 RAID level 1.
10465
6bcd8ee5 104662008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 10467
6bcd8ee5 10468 * fs/iso9660.c (grub_iso9660_date): New structure.
10469 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
10470 (grub_iso9660_uuid): New function.
c375ae58 10471
59261157 104722008-09-05 Bean <bean123ch@gmail.com>
10473
10474 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
10475
10476 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
10477 insensitive bit for names in Win32 and Win32 & DOS namespace.
10478
10479 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
10480
10481 * include/grub/types.h (LONG_MAX): Likewise.
10482
58b6645a 104832008-09-04 Felix Zielcke <fzielcke@z-51.de>
10484
4ee55921 10485 * util/getroot.c: Include <config.h>.
10486 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
10487 add support for /dev/md/N devices and handle LVM double dash escaping.
10488
104892008-09-04 Felix Zielcke <fzielcke@z-51.de>
10490
10491 * config.guess: Update to latest version from config git.
10492 * config.sub: Likewise.
58b6645a 10493
9124f65d 104942008-09-03 Robert Millan <rmh@aybabtu.com>
10495
10496 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
10497 `disk->total_sectors'.
10498
81a06771 104992008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 10500
10501 * include/grub/normal.h: Fixed incorrect comment for
10502 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
10503
81a06771 105042008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 10505
10506 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
10507 values with defines.
10508
10509 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
10510 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
10511 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
10512 (GRUB_VBE_MODEATTR_COLOR): Likewise.
10513 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
10514 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
10515 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
10516 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
10517 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
10518 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
10519 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
10520 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
10521 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
10522 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
10523 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
10524 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
10525 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
10526 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
10527 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
10528
93d5cbf8 105292008-08-31 Robert Millan <rmh@aybabtu.com>
10530
10531 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
10532 declaration.
10533 (grub_multiboot): Fix a few warnings.
10534
21751d50 105352008-08-31 Robert Millan <rmh@aybabtu.com>
10536
10537 * loader/i386/pc/multiboot.c: Update comment not to say that
10538 boot_device support is unimplemented.
10539
e27a75c5 105402008-08-31 Robert Millan <rmh@aybabtu.com>
10541
10542 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
10543 or memory map support are unimplemented.
10544
81a06771 105452008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 10546
10547 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
10548
81a06771 105492008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 10550
10551 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
10552 total video memory in 'vbeinfo' output; show color format details for
10553 each video mode.
10554
7c5d8d95 105552008-08-30 Pavel Roskin <proski@gnu.org>
10556
10557 * util/genmoddep.c: Remove for real this time.
10558 * DISTLIST: Remove util/genmoddep.c.
10559
4cebd25a 105602008-08-30 Robert Millan <rmh@aybabtu.com>
10561
10562 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
10563 as required by Multiboot spec (it was already 4-byte aligned, but
10564 only by chance).
10565
b497a269 105662008-08-29 Pavel Roskin <proski@gnu.org>
10567
e3925185 10568 * kern/powerpc/ieee1275/crt0.S: Rename to ...
10569 * kern/powerpc/ieee1275/startup.S: ... this.
10570 * conf/powerpc-ieee1275.rmk: Adjust for the above.
10571 * DISTLIST: Likewise.
10572
b497a269 10573 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
10574 grub/cpu/kernel.h. Add start label for consistency with other
10575 platforms. Add grub_prefix immediately after start. Add jump
10576 to the code after grub_prefix.
10577 * include/grub/powerpc/kernel.h: Provide valid values for
10578 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
10579
6e5a42fe 105802008-08-29 Bean <bean123ch@gmail.com>
10581
10582 * configure.ac: Change host_os to cygwin for mingw.
10583 (asprintf): New check for function.
10584
10585 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
10586 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
10587
10588 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 10589 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 10590 sync, sleep and grub_util_get_disk_size for mingw.
10591
10592 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
10593 to get size in mingw.
10594 (open_device): Use flag O_BINARY if it's defined.
10595 (find_root_device): Add dummy code for mingw.
10596
10597 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
10598 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
10599 (get_scsi_disk_name): Return 0 for mingw.
10600
10601 * util/hostfs.c: #include <grub/util/misc.h>.
10602 (grub_hostfs_open): Use "rb" flag to open file, use
10603 grub_util_get_disk_size to get disk size for mingw.
10604
10605 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
10606 (asprintf): New function if HAVE_ASPRINTF is not set.
10607 (sync): New function for mingw.
10608 (sleep): Likewise.
10609 (grub_util_get_disk_size): Likewise.
10610
ab3f2673 106112008-08-28 Pavel Roskin <proski@gnu.org>
10612
10613 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10614 kern/time.c.
10615
1c282483 106162008-08-28 Robert Millan <rmh@aybabtu.com>
10617
10618 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
10619
678e849c 106202008-08-28 Robert Millan <rmh@aybabtu.com>
10621
10622 Change find_grub_drive() syntax so it doesn't prevent it from
10623 detecting NULL names as errors.
10624
10625 * util/biosdisk.c (find_grub_drive): Move free slot search code
10626 from here ...
10627 (find_free_slot): ... to here.
10628 (read_device_map): Use find_free_slot() to search for free slots.
10629
965c75ca 106302008-08-27 Marco Gerards <marco@gnu.org>
10631
10632 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
10633 (scsi_mod_SOURCES): New variable.
10634 (scsi_mod_CFLAGS): Likewise
10635 (scsi_mod_LDFLAGS): Likewise.
10636
10637 * disk/scsi.c: New file.
10638
10639 * include/grub/scsi.h: Likewise.
10640
10641 * include/grub/scsicmd.h: Likewise.
10642
10643 * disk/ata.c: Include <grub/scsi.h>.
10644 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
10645 instead.
10646 (grub_ata_iterate): Skip ATAPI devices.
10647 (grub_ata_open): Only handle ATAPI devices.
10648 (struct grub_atapi_read): Removed.
10649 (grub_atapi_readsector): Likewise.
10650 (grub_ata_read): No longer handle ATAPI devices.
10651 (grub_ata_write): Likewise.
10652 (grub_atapi_iterate): New function.
10653 (grub_atapi_read): Likewise.
10654 (grub_atapi_write): Likewise.
10655 (grub_atapi_open): Likewise.
10656 (grub_atapi_close): Likewise.
10657 (grub_atapi_dev): New variable.
10658 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
10659 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
10660
10661 * include/grub/disk.h (enum grub_disk_dev_id): Add
10662 `GRUB_DISK_DEVICE_SCSI_ID'.
10663
c07ae501 106642008-08-26 Robert Millan <rmh@aybabtu.com>
10665
10666 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
10667 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
10668 descriptive.
10669
5ed20adc 106702008-08-23 Bean <bean123ch@gmail.com>
10671
10672 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
10673 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10674 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
10675 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
10676 dm_nv.mod.
10677 (raid5rec_mod_SOURCES): New macro.
10678 (raid5rec_mod_CFLAGS): Likewise.
10679 (raid5rec_mod_LDFLAGS): Likewise.
10680 (raid6rec_mod_SOURCES): Likewise.
10681 (raid6rec_mod_CFLAGS): Likewise.
10682 (raid6rec_mod_LDFLAGS): Likewise.
10683 (mdraid_mod_SOURCES): Likewise.
10684 (mdraid_mod_CFLAGS): Likewise.
10685 (mdraid_mod_LDFLAGS): Likewise.
10686 (dm_nv_mod_SOURCES): Likewise.
10687 (dm_nv_mod_CFLAGS): Likewise.
10688 (dm_nv_mod_LDFLAGS): Likewise.
10689
10690 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
10691 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10692 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10693
10694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
10695 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10696
10697 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10698
10699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10700
10701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10702
10703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10704
10705 * disk/raid5_recover.c: New file.
10706
10707 * disk/raid6_recover.c: Likewise.
10708
10709 * disk/mdraid_linux.c: Likewise.
10710
10711 * disk/dmraid_nvidia.c: Likewise.
10712
10713 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
10714 ULONG_MAX.
10715
10716 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
10717 calculate the size of raid device.
10718 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
10719 different layout of raid5.
10720 (grub_raid_scan_device): Remove code specific to mdraid.
10721 (grub_raid_list): New variable.
10722 (free_array): New function.
10723 (grub_raid_register): Likewise.
10724 (grub_raid_unregister): Likewise.
10725 (grub_raid_rescan): Likewise.
10726 (GRUB_MOD_INIT): Don't iterate device here.
10727 (GRUB_MOD_FINI): Use free_array to release resource.
10728
10729 * include/grub/raid.h: Remove macro and structure specific to mdraid.
10730 (grub_raid5_recover_func_t): New function variable type.
10731 (grub_raid6_recover_func_t): Likewise.
10732 (grub_raid5_recover_func): New variable.
10733 (grub_raid6_recover_func): Likewise.
10734 (grub_raid_register): New function.
10735 (grub_raid_unregister): Likewise.
10736 (grub_raid_rescan): Likewise.
10737 (grub_raid_block_xor): Likewise.
10738
10739 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
10740 (CMD_CRC): New macro.
10741 (part): Removed.
10742 (read_file): Handle device as well as file.
10743 (cmd_crc): New function.
10744 (fstest): Handle multiple disks.
10745 (options): Remove part, raw and long, add root and diskcount.
10746 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 10747 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 10748 add handling for the new options, support multiple disks.
10749
10750 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
10751
29c18915 107522008-08-23 Bean <bean123ch@gmail.com>
10753
10754 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
10755
10756 * genfslist.sh: Ignore kernel.mod.
10757
10758 * genpartmaplist.sh: Likewise.
10759
8415f261 107602008-08-23 Robert Millan <rmh@aybabtu.com>
10761
10762 * util/getroot.c (find_root_device): Skip anything that starts with
10763 a dot, not just directories. This avoids things like /dev/.tmp.md0.
10764
d5a7dc5b 107652008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 10766
d5a7dc5b 10767 * util/update-grub.in (GRUB_GFXMODE): Export variable.
10768 * util/grub.d/00_header.in: Allow the administrator to change default
10769 gfxmode via ${GRUB_GFXMODE}.
10770
380cfbb4 107712008-08-21 Felix Zielcke <fzielcke@z-51.de>
10772
10773 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
10774
c9baafe7 107752008-08-21 Robert Millan <rmh@aybabtu.com>
10776
10777 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
10778 loader.
10779 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
10780 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
10781
e290bef2 107822008-08-20 Carles Pina i Estany <carles@pina.cat>
10783
10784 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
10785 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
10786
f9dbfc96 107872008-08-19 Robert Millan <rmh@aybabtu.com>
10788
10789 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
10790 (struct grub_virtual_screen): Remove `cursor_color'.
10791 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
10792 initialization.
10793 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
10794
dd6bd6ab 107952008-08-18 Robert Millan <rmh@aybabtu.com>
10796
10797 Unify (identical) linux_normal.c files.
10798 * loader/i386/efi/linux_normal.c: Move from here ...
10799 * loader/linux_normal.c: ... to here. Update all users.
10800 * loader/i386/pc/linux_normal.c: Delete. Update all users.
10801 * loader/i386/ieee1275/linux_normal.c: Likewise.
10802
7f42f83e 108032008-08-18 Robert Millan <rmh@aybabtu.com>
10804
10805 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
10806 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
10807 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
10808 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
10809 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
10810 New macros.
10811 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
10812 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
10813 (GRUB_LINUX_CL_END_OFFSET): ... to here.
10814 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
10815 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
10816 (GRUB_EFI_CL_END_OFFSET): Rename to ...
10817 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
10818 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
10819 Initialize `params->video_cursor_x' and `params->video_cursor_y'
10820 portably using grub_getxy().
10821 Replace `-EFI' with `-bzImage' in boot message.
10822
38487ddb 108232008-08-17 Robert Millan <rmh@aybabtu.com>
10824
10825 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
10826
deceb3ec 108272008-08-17 Robert Millan <rmh@aybabtu.com>
10828
10829 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
10830
10831 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
10832 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
10833 (grub_machine_mmap_iterate): New function declaration.
10834 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
10835 structure.
10836 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
10837 macros.
10838
10839 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
10840 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
10841 Move e820 parsing from here ...
10842 * kern/i386/pc/mmap.c: New file.
10843 (grub_machine_mmap_iterate): ... to here.
10844
10845 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
10846 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
10847 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
10848 (grub_available_iterate): Redeclare to return `void', and redeclare
10849 its hook to use grub_uint64_t as addr and size parameters, and rename
10850 to ...
10851 (grub_machine_mmap_iterate): ... this. Update all users.
10852
10853 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
10854 to make it more readable. Rename to ...
10855 (grub_machine_mmap_iterate): ... this.
10856
10857 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
10858 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
10859 (grub_multiboot): Allocate an extra region after the payload, and fill
10860 it with a Multiboot memory map. Adjust a.out loader to calculate size
10861 with the extra space.
10862 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
10863 with the extra space.
10864
f8aa0f43 108652008-08-17 Carles Pina i Estany <carles@pina.cat>
10866
9807deb9 10867 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 10868
605f5bb6 108692008-08-17 Felix Zielcke <fzielcke@z-51.de>
10870
10871 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
10872 mdate-sh to the list `find' searches for.
10873 * DISTLIST: Regenerated.
10874
210db6c6 108752008-08-16 Felix Zielcke <fzielcke@z-51.de>
10876
10877 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
10878 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 10879 genmoddep.awk, gensymlist.sh.in.
10880 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 10881 * DISTLIST: Regenerated.
48cdbfd4 10882 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 10883
1082b929 108842008-08-16 Robert Millan <rmh@aybabtu.com>
10885
10886 * disk/raid.c (grub_raid_init): Handle/report errors set by
10887 grub_device_iterate().
10888 * disk/lvm.c (grub_lvm_init): Likewise.
10889
42ce5170 108902008-08-15 Bean <bean123ch@gmail.com>
10891
10892 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10893 and datehook.mod.
10894 (datetime_mod_SOURCES): New macro.
10895 (datetime_mod_CFLAGS): Likewise.
10896 (datetime_mod_LDFLAGS): Likewise.
10897 (date_mod_SOURCES): Likewise.
10898 (date_mod_CFLAGS): Likewise.
10899 (date_mod_LDFLAGS): Likewise.
10900 (datehook_mod_SOURCES): Likewise.
10901 (datehook_mod_CFLAGS): Likewise.
10902 (datehook_mod_LDFLAGS): Likewise.
10903
10904 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10905 and datehook.mod.
10906 (datetime_mod_SOURCES): New macro.
10907 (datetime_mod_CFLAGS): Likewise.
10908 (datetime_mod_LDFLAGS): Likewise.
10909 (date_mod_SOURCES): Likewise.
10910 (date_mod_CFLAGS): Likewise.
10911 (date_mod_LDFLAGS): Likewise.
10912 (datehook_mod_SOURCES): Likewise.
10913 (datehook_mod_CFLAGS): Likewise.
10914 (datehook_mod_LDFLAGS): Likewise.
10915
10916 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10917 and datehook.mod.
10918 (datetime_mod_SOURCES): New macro.
10919 (datetime_mod_CFLAGS): Likewise.
10920 (datetime_mod_LDFLAGS): Likewise.
10921 (date_mod_SOURCES): Likewise.
10922 (date_mod_CFLAGS): Likewise.
10923 (date_mod_LDFLAGS): Likewise.
10924 (datehook_mod_SOURCES): Likewise.
10925 (datehook_mod_CFLAGS): Likewise.
10926 (datehook_mod_LDFLAGS): Likewise.
10927
10928 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10929 and datehook.mod.
10930 (datetime_mod_SOURCES): New macro.
10931 (datetime_mod_CFLAGS): Likewise.
10932 (datetime_mod_LDFLAGS): Likewise.
10933 (date_mod_SOURCES): Likewise.
10934 (date_mod_CFLAGS): Likewise.
10935 (date_mod_LDFLAGS): Likewise.
10936 (datehook_mod_SOURCES): Likewise.
10937 (datehook_mod_CFLAGS): Likewise.
10938 (datehook_mod_LDFLAGS): Likewise.
10939
10940 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10941 and datehook.mod.
10942 (datetime_mod_SOURCES): New macro.
10943 (datetime_mod_CFLAGS): Likewise.
10944 (datetime_mod_LDFLAGS): Likewise.
10945 (date_mod_SOURCES): Likewise.
10946 (date_mod_CFLAGS): Likewise.
10947 (date_mod_LDFLAGS): Likewise.
10948 (datehook_mod_SOURCES): Likewise.
10949 (datehook_mod_CFLAGS): Likewise.
10950 (datehook_mod_LDFLAGS): Likewise.
10951
10952 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10953
10954 * commands/date.c: New file.
10955
10956 * hook/datehook.c: Likewise.
10957
10958 * include/grub/lib/datetime.h: Likewise.
10959
10960 * include/grub/i386/cmos.h: Likewise.
10961
10962 * lib/datetime.c: Likewise.
10963
10964 * lib/i386/datetime.c: Likewise.
10965
10966 * lib/efi/datetime.c: Likewise.
10967
0e9242da 109682008-08-14 Robert Millan <rmh@aybabtu.com>
10969
10970 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10971 (grub_mkelfimage_SOURCES): New variable.
10972 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10973
10974 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10975 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10976 * conf/powerpc-ieee1275.rmk: Likewise.
10977 * conf/i386-ieee1275.rmk: Likewise.
10978
10979 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
10980 * kern/i386/coreboot/init.c: Likewise.
10981
10982 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
10983 with `<grub/cpu/kernel.h>'.
10984 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
10985 to ...
10986 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
10987 * kern/i386/coreboot/startup.S: Likewise.
10988
10989 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
10990 (GRUB_MOD_GAP): Remove.
10991 * include/grub/powerpc/kernel.h: New file.
10992 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
10993 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10994 * include/grub/i386/kernel.h: New file.
10995 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
10996 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
10997 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10998
10999 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11000 `grub-mkelfimage'.
11001 Use --directory when invoking grub_mkimage.
11002
11003 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11004 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11005 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11006 and GRUB_KERNEL_CPU_PREFIX.
11007
b86408f8 110082008-08-14 Felix Zielcke <fzielcke@z-51.de>
11009
d5e619ca 11010 * include/grub/err.h (grub_err_printf): New function prototype.
11011 * util/misc.c (grub_err_printf): New function.
11012 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11013 grub_printf.
11014 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11015
7161f0e0 110162008-08-13 Robert Millan <rmh@aybabtu.com>
11017
11018 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11019
a1967522 110202008-08-13 Robert Millan <rmh@aybabtu.com>
11021
11022 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11023 boot entry.
11024
371458b5 110252008-08-12 Robert Millan <rmh@aybabtu.com>
11026
11027 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11028 of the relocation code from here ...
11029 (grub_multiboot): ... to here.
11030 (forward_relocator, backward_relocator): Move from here ...
11031 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11032 (grub_multiboot_backward_relocator): ... to here.
11033 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11034 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11035 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11036 (grub_multiboot_forward_relocator_end)
11037 (grub_multiboot_backward_relocator)
11038 (grub_multiboot_backward_relocator_end): New variables.
11039
05f9452b 110402008-08-12 Bean <bean123ch@gmail.com>
11041
11042 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11043
20024ab0 110442008-08-11 Robert Millan <rmh@aybabtu.com>
11045
11046 * kern/i386/linuxbios/startup.S: Move from here ...
11047 * kern/i386/coreboot/startup.S: ... to here.
11048
11049 * kern/i386/linuxbios/init.c: Move from here ...
11050 * kern/i386/coreboot/init.c: ... to here.
11051
11052 * kern/i386/linuxbios/table.c: Move from here ...
11053 * kern/i386/coreboot/mmap.c: ... to here.
11054
11055 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11056
e352e9cd 110572008-08-11 Robert Millan <rmh@aybabtu.com>
11058
11059 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11060 errors. Leave it to the upper layer to handle them.
11061
2d05bc6a 110622008-08-09 Christian Franke <franke@computer.org>
11063
11064 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11065 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11066 Install `grub.d/10_windows' only on Cygwin.
11067 * configure.ac: Add subst of `target_os'.
11068 Check `target_os' also before setting TARGET_OBJ2ELF.
11069 Add `--enable-grub-pe2elf'.
11070
042bd419 110712008-08-08 Robert Millan <rmh@aybabtu.com>
11072
11073 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11074 (grub_last_time): Change type to grub_uint64_t.
11075 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11076 (grub_disk_close): Likewise.
11077
11078 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11079 (run_menu): Migrate code from to using grub_get_time_ms().
11080
11081 * util/misc.c (grub_get_time_ms): New function.
11082
7f280db5 110832008-08-08 Marco Gerards <marco@gnu.org>
11084
11085 * disk/ata.c (grub_ata_regget): Change return type to
11086 `grub_uint8_t'.
11087 (grub_ata_regget2): Likewise.
11088 (grub_ata_wait_status): New function.
11089 (grub_ata_wait_busy): Removed function, updated all users to use
11090 `grub_ata_wait_status'.
11091 (grub_ata_wait_drq): Likewise.
11092 (grub_ata_cmd): New function.
11093 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
11094 error handling.
11095 (grub_ata_pio_write): Add error handling.
11096 (grub_atapi_identify): Likewise.
11097 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
11098 handling.
11099 (grub_ata_identify): Use `grub_ata_cmd' and improve error
11100 handling. Actually use the detected registers. Reorder the
11101 detection logic such that it is easier to read.
11102 (grub_ata_pciinit): Do not assign the same ID to each controller.
11103 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
11104 handling.
11105 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
11106
11107 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
11108
1fbc5e66 111092008-08-08 Marco Gerards <marco@gnu.org>
11110
11111 * NEWS: Update.
11112
819ce6c0 111132008-08-07 Bean <bean123ch@gmail.com>
11114
11115 * include/grub/x86_64/pci.h: New file.
11116
5c41d44d 111172008-08-07 Christian Franke <franke@computer.org>
11118
11119 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
11120 (TIMER2_GATE): Likewise.
11121 (grub_pit_wait): Add enable/disable of the timer2 gate
11122 bit of port 0x61. This fixes a possible infinite loop.
11123
5ebc275d 111242008-08-07 Bean <bean123ch@gmail.com>
11125
11126 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
11127 kern/i386/tsc.c and kern/i386/pit.c.
11128
11129 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
11130 x86_64 platform.
11131
11132 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
11133 <grub/i386/tsc.h>.
11134
11135 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
11136
e383b3d0 111372008-08-07 Bean <bean123ch@gmail.com>
11138
11139 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
11140
11141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
11142
11143 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
11144 multiple inclusion. Add #include <grub/types.h>.
11145
1cbb58ac 111462008-08-06 Christian Franke <franke@computer.org>
11147
11148 * conf/common.rmk: Build and install `10_windows'.
11149 * util/grub.d/10_windows.in: New script.
11150
337f5a1e 111512008-08-06 Pavel Roskin <proski@gnu.org>
11152
11153 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
11154
057bc4ac 111552008-08-06 Robert Millan <rmh@aybabtu.com>
11156
11157 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
11158 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
11159
2b99f123 111602008-08-06 Bean <bean123ch@gmail.com>
11161
11162 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
11163 (grub_pxefs_fs_int): Remove dummy definition.
11164 (grub_pxefs_open): Use data->block_size to store the current block
11165 size setting.
11166 (grub_pxefs_read): Use block size stored in data->block_size. As the
11167 value of grub_pxe_blksize can be changed after the file is opened.
11168
9f0234cb 111692008-08-06 Bean <bean123ch@gmail.com>
11170
11171 * fs/i386/pc/pxe.c (curr_file): new variable.
11172 (grub_pxefs_open): Simply the handling of pxe file system. Don't
11173 require the dummy internal file system anymore.
11174 (grub_pxefs_read): Removed.
11175 (grub_pxefs_close): Likewise.
11176 (grub_pxefs_fs_int): Likewise.
11177 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
11178 connection when we switch file.
11179 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
11180
a55d42e0 111812008-08-06 Robert Millan <rmh@aybabtu.com>
11182
11183 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
11184 `halt.mod'.
11185 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
11186 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
11187
11188 * kern/i386/halt.c: New file.
11189 * kern/i386/reboot.c: Likewise.
11190 * include/grub/i386/reboot.h: Likewise.
11191 * include/grub/i386/halt.h: Likewise.
11192
11193 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
11194 Include `<grub/cpu/halt.h>'.
11195 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
11196 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
11197
11198 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
11199 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
11200 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
11201 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
11202 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
11203 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
11204 from here ...
11205 * include/grub/i386/at_keyboard.h: ... to here.
11206
24371d26 112072008-08-05 Robert Millan <rmh@aybabtu.com>
11208
11209 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
11210 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
11211 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
11212 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11213 `kern/generic/millisleep.c'.
11214
11215 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
11216 instead of grub_get_rtc().
11217 (grub_tsc_init): Initialize `tsc_boot_time'.
11218
11219 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
11220 (grub_machine_init): Use grub_tsc_init() rather than
11221 installing an RTC-based handler via grub_install_get_time_ms().
11222
11223 * kern/i386/pit.c: New file.
11224 * include/grub/i386/pit.h: Likewise.
11225
9e7007b3 112262008-08-05 Bean <bean123ch@gmail.com>
11227
11228 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
11229
11230 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
11231 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
11232 (pxe_mod_SOURCES): New macro.
11233 (pxe_mod_CFLAGS): Likewise.
11234 (pxe_mod_LDFLAGS): Likewise.
11235 (pxecmd_mod_SOURCES): Likewise.
11236 (pxecmd_mod_CFLAGS): Likewise.
11237 (pxecmd_mod_LDFLAGS): Likewise.
11238
11239 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
11240 (grub_pxe_call): Likewise.
11241
11242 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
11243
11244 * commands/i386/pc/pxecmd.c: New file.
11245
9f0234cb 11246 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 11247
11248 * include/grub/i386/pc/pxe.h: Likewise.
11249
6977d49f 112502008-08-05 Bean <bean123ch@gmail.com>
11251
11252 * util/console.c (grub_console_cur_color): New variable.
11253 (grub_console_standard_color): Likewise.
11254 (grub_console_normal_color): Likewise.
11255 (grub_console_highlight_color): Likewise.
11256 (color_map): Likewise.
11257 (use_color): Likewise.
11258 (NUM_COLORS): New macro.
11259 (grub_ncurses_setcolorstate): Handle color properly.
11260 (grub_ncurses_setcolor): Don't change color here, just remember the
11261 settings, color will be set in grub_ncurses_setcolorstate.
11262 (grub_ncurses_getcolor): New function.
11263 (grub_ncurses_init): Initialize color pairs.
11264 (grub_ncurses_term): New member grub_ncurses_getcolor.
11265
9c2ff3ee 112662008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 11267
9c2ff3ee 11268 High resolution timer support. Implemented for x86 CPUs using TSC.
11269 Extracted generic grub_millisleep() so it's linked in only as needed.
11270 This requires a Pentium compatible CPU; if the RDTSC instruction is
11271 not supported, then it falls back on the generic grub_get_time_ms()
11272 implementation that uses the machine's RTC.
11273
11274 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
11275 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11276 `kern/generic/millisleep.c'.
11277
11278 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
11279 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
11280
11281 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
11282 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
11283
11284 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11285
11286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11287 `kern/generic/millisleep.c'.
11288
11289 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11290
11291 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
11292
11293 * kern/generic/rtc_get_time_ms.c: New file.
11294
11295 * kern/generic/millisleep.c: New file.
337f5a1e 11296
9c2ff3ee 11297 * kern/misc.c: Don't include
11298 <kern/time.h> anymore.
11299 (grub_millisleep_generic): Removed.
11300
11301 * commands/sleep.c (grub_interruptible_millisleep): Uses
11302 grub_get_time_ms() instead of grub_get_rtc().
11303
11304 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
11305 function.
11306 (grub_cpu_is_cpuid_supported): New inline function.
11307 (grub_cpu_is_tsc_supported): New inline function.
11308 (grub_tsc_init): New function prototype.
11309 (grub_tsc_get_time_ms): New function prototype.
11310
11311 * kern/i386/tsc.c (grub_get_time_ms): New file.
11312
11313 * include/grub/time.h: Include <grub/types.h.
11314 (grub_millisleep_generic): Removed.
11315 (grub_get_time_ms): New prototype.
11316 (grub_install_get_time_ms): New prototype.
11317 (grub_rtc_get_time_ms): New prototype.
11318
11319 * kern/time.c (grub_get_time_ms): New function.
11320 (grub_install_get_time_ms): New function.
11321
11322 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
11323 <grub/time.h> anymore.
11324 (grub_millisleep): Removed.
11325 (grub_machine_init): Call grub_tsc_init.
11326
11327 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
11328 get_time_ms() implementation.
11329
11330 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
11331 (ieee1275_get_time_ms): New function.
11332 (grub_machine_init): Install get_time_ms() implementation.
11333
11334 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
11335 (grub_machine_init): Call grub_tsc_init().
11336 (grub_millisleep): Removed.
bf06a93f 11337
9c2ff3ee 11338 * kern/ieee1275/init.c (grub_millisleep): Removed.
11339 (grub_machine_init): Install ieee1275_get_time_ms()
11340 implementation.
11341 (ieee1275_get_time_ms): New function.
11342 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
11343 real work.
11344
9ec92aaf 113452008-08-05 Marco Gerards <marco@gnu.org>
11346
11347 * disk/ata.c: Include <grub/pci.h>.
11348 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
11349 (grub_ata_initialize): Rewritten.
11350 (grub_ata_device_initialize): New function.
11351
8d23f507 113522008-08-04 Pavel Roskin <proski@gnu.org>
11353
11354 * kern/main.c: Include grub/mm.h.
11355
5e15ee3d 113562008-08-04 Robert Millan <rmh@aybabtu.com>
11357
11358 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
11359 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
11360 corruption problem).
11361
a9053f8f 113622008-08-04 Robert Millan <rmh@aybabtu.com>
11363
11364 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
11365 warnings introduced in my last commit.
11366
dd19c7d7 113672008-08-03 Robert Millan <rmh@aybabtu.com>
11368
11369 Make PCI available on all i386 architectures.
11370
11371 * include/grub/i386/pc/pci.h: Move from here ...
11372 * include/grub/i386/pci.h: ... to here.
11373
11374 * include/grub/i386/pc/pci.h: Remove.
11375 * include/grub/i386/efi/pci.h: Remove.
11376 * include/grub/x86_64/efi/pci.h: Remove.
11377
11378 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
11379 `<grub/cpu/pci.h>'.
11380
11381 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
11382 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
11383 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
11384
11385 * conf/i386-ieee1275.rmk: Likewise.
11386
e14a6184 113872008-08-03 Robert Millan <rmh@aybabtu.com>
11388
11389 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
11390 (grub_console_setcursor): Make it possible to set cursor off.
11391
52768e37 113922008-08-03 Robert Millan <rmh@aybabtu.com>
11393
11394 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
11395 of modules instead of assuming which platform provides what.
11396 * util/update-grub.in: Likewise.
11397
2d52f57f 113982008-08-03 Robert Millan <rmh@aybabtu.com>
11399
11400 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
11401 instead of `grub_install_dos_part' to determine whether a drive needs
11402 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 11403 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 11404
2a5cd121 114052008-08-02 Robert Millan <rmh@aybabtu.com>
11406
11407 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
11408
93808428 114092008-08-02 Robert Millan <rmh@aybabtu.com>
11410
11411 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
11412 of informational grub_dprintf() calls.
11413
3bd0a12a 114142008-08-02 Robert Millan <rmh@aybabtu.com>
11415
11416 * disk/memdisk.c (memdisk_size): Don't initialize.
11417 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
11418
11419 * include/grub/i386/pc/kernel.h
11420 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
11421 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
11422 (grub_memdisk_image_size, grub_arch_memdisk_addr)
11423 (grub_arch_memdisk_size): Remove.
11424
11425 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
11426 field (was only used to transfer a constant). Add `type' field to
11427 support multiple module types.
11428 (grub_module_iterate): New function.
11429
11430 * kern/device.c (grub_device_open): Do not hide error messages
11431 when grub_disk_open() fails. Use grub_print_error() instead.
11432
11433 * kern/i386/pc/init.c (grub_arch_modules_addr)
11434 (grub_arch_memdisk_size): Remove functions.
11435 (grub_arch_modules_addr): Return the module address in high memory
11436 (now that it isn't copied anymore).
11437
11438 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
11439 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
11440 decompression routine (grub_total_module_size already includes that
11441 now). Don't copy modules back to low memory.
11442
11443 * kern/main.c: Include `<grub/mm.h>'.
11444 (grub_load_modules): Split out (and use) ...
11445 (grub_module_iterate): ... this function, which iterates through
11446 module objects and runs a hook.
11447 Comment out grub_mm_init_region() call, as it would cause non-ELF
11448 modules to be overwritten.
11449
11450 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
11451 the memdisk image in its own region, make it part of the module list.
11452 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
11453 (main): Parse --memdisk|-m option, and pass user-provided path as
11454 parameter to generate_image().
11455 (add_segments): Pass `memdisk_path' down to load_modules().
11456 (load_modules): Embed memdisk image in module section when requested.
11457 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
11458 `header.type' instead of `header.offset'.
11459
11460 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
11461 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
11462 (memdisk_mod_LDFLAGS): New variables.
11463 * conf/i386-coreboot.rmk: Likewise.
11464 * conf/i386-ieee1275.rmk: Likewise.
11465
a927cc73 114662008-08-02 Robert Millan <rmh@aybabtu.com>
11467
11468 * loader/i386/pc/multiboot.c (playground, forward_relocator)
11469 (backward_relocator): New variables. Used to allocate and relocate
11470 the payload, respectively.
11471 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 11472 address, install the appropriate relocator code in each bound of
a927cc73 11473 the payload, and set the entry point such that
11474 grub_multiboot_real_boot() will jump to one of them.
11475
11476 * kern/i386/loader.S (grub_multiboot_payload_size)
11477 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11478 (grub_multiboot_payload_entry_offset): New variables.
11479 (grub_multiboot_real_boot): Set cpu context to what the relocator
11480 expects, and jump to the relocator instead of the payload.
11481
11482 * include/grub/i386/loader.h (grub_multiboot_payload_size)
11483 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
11484 (grub_multiboot_payload_entry_offset): Export.
11485
b15d8a0c 114862008-08-01 Bean <bean123ch@gmail.com>
11487
11488 * normal/menu_entry.c (editor_getline): Don't return the original
11489 string as result, as it will be released by lexer once it has done
11490 using it.
11491
cdfb3d22 114922008-08-01 Robert Millan <rmh@aybabtu.com>
11493
11494 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
11495 within menuentries, not before them.
11496 util/grub.d/10_hurd.in: Likewise.
11497
9175e93d 114982008-08-01 Bean <bean123ch@gmail.com>
11499
11500 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
11501 (bufio_mod_SOURCES): New macro.
11502 (bufio_mod_CFLAGS): Likewise.
11503 (bufio_mod_LDFLAGS): Likewise.
11504
11505 * include/grub/bufio.h: New file.
11506
11507 * io/bufio.c: Likewise.
11508
11509 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
11510 (grub_video_reader_png): Use grub_buffile_open to open file.
11511
11512 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
11513 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
11514
11515 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
11516 (grub_video_reader_tga): Use grub_buffile_open to open file.
11517
11518 * font/manager.c: Include <grub/bufio.h>.
11519 (add_font): Use grub_buffile_open to open file.
11520
3d8383e7 115212008-07-31 Robert Millan <rmh@aybabtu.com>
11522
11523 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
11524 ELF segments, use a macro for arbitrarily accessing any of them instead
11525 of preparing a pointer that allows access to one at a time.
11526 (grub_multiboot_load_elf64): Likewise.
11527
16e641b6 115282008-07-31 Bean <bean123ch@gmail.com>
11529
11530 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
11531 GRUB_KERNEL_MACHINE_DATA_END.
11532
59198b72 115332008-07-30 Robert Millan <rmh@aybabtu.com>
11534
11535 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
11536 Increase from 0x50 to 0x60.
11537 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
11538 use UUIDs to identify the root drive for them. If that's not
11539 possible, abort.
11540 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
11541 check, for cross-disk installs.
11542
ae88bca3 115432008-07-30 Robert Millan <rmh@aybabtu.com>
11544
11545 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
11546 is non-empty, use it to set the `prefix' environment variable instead
11547 of the usual approach.
11548 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
11549 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
11550 environment variable instead of dummy make_install_device().
11551
11552 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
11553 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 11554 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 11555
11556 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
11557 New variable reference.
11558 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
11559 New macro. Defines offset of `grub_prefix' within startup.S (relative
11560 to `start').
11561 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
11562 section within startup.S (relative to `start').
11563 * include/grub/i386/coreboot/kernel.h: Likewise.
11564
11565 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
11566 Overwrite grub_prefix with its contents, at the beginning of the
11567 first segment.
11568 (main): Understand -p|--prefix.
11569
14f41dd1 115702008-07-30 Robert Millan <rmh@aybabtu.com>
11571
11572 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
11573
4ca049a3 115742008-07-30 Robert Millan <rmh@aybabtu.com>
11575
11576 * term/i386/pc/vga_text.c (grub_console_cls): Use
11577 grub_console_gotoxy() to go back to beginning of the screen.
11578 Found by Patrick Georgi <patrick.georgi@coresystems.de>
11579
2921d337 115802008-07-29 Christian Franke <franke@computer.org>
11581
11582 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11583 Add conversion of emulated mount points on Cygwin.
11584
b609876d 115852008-07-29 Christian Franke <franke@computer.org>
11586
11587 * util/update-grub.in: Add a check for admin
11588 group on Cygwin.
11589 Remove old `grub.cfg.new' before creation.
11590 Add `-f' to `mv' to handle the different filesystem
11591 semantics of Windows.
11592
e93e4679 115932008-07-29 Bean <bean123ch@gmail.com>
11594
11595 * normal/main.c (get_line): Fix buffer overflow bug.
11596
41694fd0 115972008-07-28 Robert Millan <rmh@aybabtu.com>
11598
11599 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
11600 (struct grub_apple_header): New struct. Describes the layout of
11601 the partmap header.
11602 (apple_partition_map_iterate): Check the header magic as well as the
11603 partition magic (which was already being checked).
11604
cfd0b4e6 116052008-07-28 Pavel Roskin <proski@gnu.org>
11606
11607 * genmk.rb: Add a warning to the beginning of the output that
11608 it's a generated file and should not be edited.
11609
93cce016 116102008-07-28 Robert Millan <rmh@aybabtu.com>
11611
11612 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11613 with the same number are found, just use issue a warning with
11614 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 11615
cd1df915 116162008-07-27 Robert Millan <rmh@aybabtu.com>
11617
11618 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
11619 information.
11620
b70a8427 116212008-07-27 Bean <bean123ch@gmail.com>
11622
11623 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
11624 (grub_fat_find_dir): Ignore case when comparing filename.
11625
8f5e379f 116262008-07-27 Bean <bean123ch@gmail.com>
11627
11628 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
11629 smallino, as it's more descriptive, and i8count can be confused with
11630 the other field count.
11631 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
11632 inode type.
11633
a85cd5a0 116342008-07-27 Bean <bean123ch@gmail.com>
11635
11636 * commands/crc.c: New file.
11637
11638 * lib/crc.c: Likewise.
11639
11640 * include/grub/lib/crc.h: Likewise.
11641
11642 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
11643
11644 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
11645 (hexdump): Move this function to ...
11646
11647 * lib/hexdump.c: ... here.
11648
11649 * include/grub/hexdump.h: Renamed to ...
11650
11651 * include/grub/lib/hexdump.h: ... this.
11652
11653 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
11654
11655 * util/grub-editenv.c: Likewise.
11656
11657 * include/envblk.h: Renamed to ...
11658
11659 * include/lib/envblk.h: ... this.
11660
11661 * util/envblk.c: Renamed to ...
11662
11663 * lib/envblk.c: ... this.
11664
11665 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
11666 lib/hexdump.c.
11667 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
11668 (pkglib_MODULES): Add crc.mod.
11669 (hexdump_mod_SOURCES): Add lib/hexdump.c.
11670 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
11671 (crc_mod_SOURCES): New macro.
11672 (crc_mod_CFLAGS): Likewise.
11673 (crc_mod_LDFLAGS): Likewise.
11674
11675 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
11676
11677 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11678
11679 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11680
11681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11682
11683 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11684
c298def0 116852008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 11686
11687 * commands/help.c: Include <grub/term.h>.
11688 (TERM_WIDTH): Removed. Updated all users.
11689
cc349fb3 116902008-07-27 Pavel Roskin <proski@gnu.org>
11691
11692 * util/getroot.c (find_root_device): Rephrase a comment to avoid
11693 spurious warnings about a comment within a comment.
11694
9051607e 116952008-07-25 Robert Millan <rmh@aybabtu.com>
11696
11697 * util/getroot.c (find_root_device): Skip devices that match
11698 /dev/dm-[0-9]. This lets the real device be found for any type of
11699 abstraction (LVM, EVMS, RAID..).
11700 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
11701 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
11702 device is found first, find_root_device() will now skip it.
11703
01453bfc 117042008-07-24 Pavel Roskin <proski@gnu.org>
11705
11706 * include/grub/types.h: Use __builtin_bswap32() and
11707 __builtin_bswap64() with gcc 4.3 and newer.
11708
6af9849f 117092008-07-24 Christian Franke <franke@computer.org>
11710
3a0fa256 11711 * util/i386/pc/grub-install.in: If `--debug' is specified,
11712 pass `--verbose' to grub-setup.
11713 Abort script if make_system_path_relative_to_its_root() fails.
11714
7810e747 117152008-07-24 Bean <bean123ch@gmail.com>
11716
11717 * configure.ac: Fixed a bug caused by the previous cygwin patch,
11718 variable `target_platform' should be `platform'.
11719
42290e17 117202008-07-24 Bean <bean123ch@gmail.com>
11721
51cc5193 11722 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 11723 (grub_png_init_fixed_block): New function.
11724 (grub_png_decode_image_data): Handle fixed huffman code compression.
11725
2a8a80e4 117262008-07-24 Bean <bean123ch@gmail.com>
11727
11728 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
11729 (grub_pe2elf_SOURCES): New macro.
11730 (CLEANFILES): Add grub-pe2elf.
11731
11732 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
11733 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
11734 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
11735 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
11736 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
11737 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
11738 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
11739 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
11740 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
11741 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
11742 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
11743 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
11744 (GRUB_PE32_DT_FUNCTION): Likewise.
11745 (GRUB_PE32_REL_I386_DIR32): Likewise.
11746 (GRUB_PE32_REL_I386_REL32): Likewise.
11747 (grub_pe32_symbol): New structure.
11748 (grub_pe32_reloc): Likewise.
11749
11750 * util/grub-pe2elf.c: New file.
11751
11752 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
11753 start symbol in non pc platform.
11754
11755 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
11756
11757 The following patches are from Christian Franke.
11758
11759 * include/grub/dl.h: Remove .previous, gas supports this only
11760 for ELF format.
11761
11762 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
11763 Remove .type, gas supports this only for ELF format.
11764
11765 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
11766 nullbytes in symbol table. This fixes an infinite loop if table is
11767 zero filled.
11768
11769 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
11770 TARGET_IMG_LDFLAGS and EXEEXT.
11771
11772 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
11773 TARGET_IMG_LDFLAGS_AC.
11774 (grub_CHECK_STACK_ARG_PROBE): New function.
11775
11776 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
11777
11778 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
11779
11780 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
11781 to set TARGET_IMG_LD* accordingly.
11782 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
11783 Add call to grub_CHECK_STACK_ARG_PROBE.
11784 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
11785
11786 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
11787
11788 * genmk.rb: Add EXEEXT to CLEANFILES.
11789
12ccdb75 117902008-07-23 Robert Millan <rmh@aybabtu.com>
11791
11792 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
11793 define the codes for arrows and lines used for the menu).
11794 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
11795 as well.
11796
11797 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
11798 fonts, because the latter are too slow.
11799
18eeaf04 118002008-07-21 Bean <bean123ch@gmail.com>
11801
11802 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
11803 a20. Run keyboard test last, as it will cause macbook to halt.
11804
b095e2ad 118052008-07-18 Pavel Roskin <proski@gnu.org>
11806
11807 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
11808 load foreign architecture modules correctly anyway. Keep
11809 support for loading host architecture modules, whether we
11810 compile them or not.
11811
737feb35 118122008-07-17 Pavel Roskin <proski@gnu.org>
11813
3f4ce737 11814 * configure.ac: Use -m32 or -m64 regardless of whether we had to
11815 change target_cpu. The compiler default can mismatch target_cpu
11816 in any case.
11817
4ad2d049 11818 * disk/efi/efidisk.c: Fix format warnings on x86_64.
11819 * kern/efi/efi.c: Likewise.
11820
f6130a12 11821 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
11822 target compiler is functional.
11823 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
11824 are set up.
11825
58393a2d 11826 * configure.ac: Default to efi platform for x86_64-apple. Allow
11827 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
11828 adjustments from the rest, only do them if target is not
11829 explicitly given. Merge other adjustments with the final sanity
11830 check. Remove an extraneous check for supported CPU. Be
11831 specific which CPU and which platform is not supported.
11832
737feb35 11833 * configure.ac: Default to pc platform for x86_64.
11834
546f966a 118352008-07-17 Robert Millan <rmh@aybabtu.com>
11836
11837 Partial LinuxBIOS -> Coreboot rename.
11838
11839 * conf/i386-linuxbios.rmk: Renamed to ...
11840 * conf/i386-coreboot.rmk: ... this.
11841 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
11842 * configure.ac: Accept "coreboot" as input platform (but maintain
11843 compatibility with "linuxbios").
11844 * include/grub/i386/linuxbios: Renamed to ...
11845 * include/grub/i386/coreboot: ... this.
11846
20011694 118472008-07-17 Bean <bean123ch@gmail.com>
11848
11849 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 11850 (appleldr_mod_SOURCE): New variable.
20011694 11851 (appleldr_mod_CFLAGS): Likewise.
11852 (appleldr_mod_LDFLAGS): Likewise.
11853 (pci_mod_SOURCES): Likewise.
11854 (pci_mod_CFLAGS): Likewise.
11855 (pci_mod_LDFLAGS): Likewise.
11856 (lspci_mod_SOURCES): Likewise.
11857 (lspci_mod_CFLAGS): Likewise.
11858 (lspci_mod_LDFLAGS): Likewise.
11859
11860 * conf/x86_64-efi.rmk: New file.
11861
11862 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
11863 macro.
11864 (grub_efidisk_write): Likewise.
11865
11866 * include/efi/api.h (efi_call_0): New macro.
11867 (efi_call_1): Likewise.
11868 (efi_call_2): Likewise.
11869 (efi_call_3): Likewise.
11870 (efi_call_4): Likewise.
11871 (efi_call_5): Likewise.
11872 (efi_call_6): Likewise.
11873
11874 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
11875 grub_rescue_cmd_chainloader.
11876
11877 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
11878 (grub_pe32_optional_header): Change some fields based on i386 or
11879 x86_64 platform.
11880 (GRUB_PE32_PE32_MAGIC): Likewise.
11881
11882 * include/grub/efi/uga_draw.h: New file.
11883
11884 * include/grub/elf.h (STN_ABS): New constant.
11885 (R_X86_64_NONE): Relocation constant for x86_64.
11886 (R_X86_64_64): Likewise.
11887 (R_X86_64_PC32): Likewise.
11888 (R_X86_64_GOT32): Likewise.
11889 (R_X86_64_PLT32): Likewise.
11890 (R_X86_64_COPY): Likewise.
11891 (R_X86_64_GLOB_DAT): Likewise.
11892 (R_X86_64_JUMP_SLOT): Likewise.
11893 (R_X86_64_RELATIVE): Likewise.
11894 (R_X86_64_GOTPCREL): Likewise.
11895 (R_X86_64_32): Likewise.
11896 (R_X86_64_32S): Likewise.
11897 (R_X86_64_16): Likewise.
11898 (R_X86_64_PC16): Likewise.
11899 (R_X86_64_8): Likewise.
11900 (R_X86_64_PC8): Likewise.
11901
11902 * include/grub/i386/efi/pci.h: New file.
11903
11904 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
11905 Change it value based on platform.
11906 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
11907 (GRUB_E820_RAM): Likewise.
11908 (GRUB_E820_RESERVED): Likewise.
11909 (GRUB_E820_ACPI): Likewise.
11910 (GRUB_E820_NVS): Likewise.
11911 (GRUB_E820_EXEC_CODE): Likewise.
11912 (GRUB_E820_MAX_ENTRY): Likewise.
11913 (grub_e820_mmap): New structure.
11914 (linux_kernel_header): Change the efi field according to different
11915 kernel version, also field from linux_kernel_header.
11916
11917 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
11918
11919 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11920 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11921 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11922 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11923 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11924 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11925 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11926 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11927 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11928 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11929
11930 * include/grub/x86_64/efi/kernel.h: New file.
11931
11932 * include/grub/x86_64/efi/loader.h: Likewise.
11933
11934 * include/grub/x86_64/efi/machine.h: Likewise.
11935
11936 * include/grub/x86_64/efi/pci.h: Likewise.
11937
11938 * include/grub/x86_64/efi/time.h: Likewise.
11939
11940 * include/grub/x86_64/linux.h: Likewise.
11941
11942 * include/grub/x86_64/setjmp.h: Likewise.
11943
11944 * include/grub/x86_64/time.h: Likewise.
11945
11946 * include/grub/x86_64/types.h: Likewise.
11947
11948 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11949 GRUB_TARGET_SIZEOF_VOID_P.
11950
11951 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11952 (grub_efi_locate_handle): Likewise.
11953 (grub_efi_open_protocol): Likewise.
11954 (grub_efi_set_text_mode): Likewise.
11955 (grub_efi_stall): Likewise.
11956 (grub_exit): Likewise.
11957 (grub_reboot): Likewise.
11958 (grub_halt): Likewise.
11959 (grub_efi_exit_boot_services): Likewise.
11960 (grub_get_rtc): Likewise.
11961
11962 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11963 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11964 (grub_efi_allocate_pages): Wrap efi calls.
11965 (grub_efi_free_pages): Wrap efi calls.
11966 (grub_efi_get_memory_map): Wrap efi calls.
11967
11968 * kern/x86_64/dl.c: New file.
11969
11970 * kern/x86_64/efi/callwrap.S: Likewise.
11971
11972 * kern/x86_64/efi/startup.S: Likewise.
11973
11974 * loader/efi/appleloader.c: Likewise.
11975
11976 * loader/efi/chainloader.c (cmdline): New variable.
11977 (grub_chainloader_unload): Wrap efi calls.
11978 (grub_chainloader_boot): Likewise.
11979 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
11980 command line.
11981
11982 * loader/efi/chainloader_normal.c (chainloader_command):
11983 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
11984 command line.
11985
11986 * loader/i386/efi/linux.c (allocate_pages): Change allocation
11987 method.
11988 (grub_e820_add_region): New function.
11989 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
11990 booting.
11991 (grub_find_video_card): New function.
11992 (grub_linux_setup_video): New function.
11993 (grub_rescue_cmd_linux): Probe for video information.
11994
11995 * normal/x86_64/setjmp.S: New file.
11996
11997 * term/efi/console.c (map_char): New function.
11998 (grub_console_putchar): Map unicode char.
11999 (grub_console_checkkey): Wrap efi calls.
12000 (grub_console_getkey): Likewise.
12001 (grub_console_getwh): Likewise.
12002 (grub_console_gotoxy): Likewise.
12003 (grub_console_cls): Likewise.
12004 (grub_console_setcolorstate): Likewise.
12005 (grub_console_setcursor): Likewise.
12006
12007 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12008
59652a20 120092008-07-16 Pavel Roskin <proski@gnu.org>
12010
ef294055 12011 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12012 format strings.
12013
59652a20 12014 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12015 pointer, not an integer. This fixes a warning and prevents
12016 precision loss on 64-bit systems.
12017 (relocate_addresses): Remove unneeded cast.
12018
afc3b5d7 120192008-07-15 Pavel Roskin <proski@gnu.org>
12020
506b2b3e 12021 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12022
62ead89c 12023 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12024
c4cd51d7 12025 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12026 Fix comparison between signed and unsigned.
12027
0d3d8f28 12028 * include/grub/i386/ieee1275/console.h: Declare
12029 grub_console_init() and grub_console_fini().
12030
8804b286 12031 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12032 It's empty and unused.
12033
ee01cf35 12034 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12035 beginning to avoid warnings with some compilers.
12036
afc3b5d7 12037 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12038 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12039
e4e8eaa5 120402008-07-14 Pavel Roskin <proski@gnu.org>
12041
407aceb4 12042 * kern/env.c (grub_register_variable_hook): Don't copy empty
12043 string, it leaks memory. Pass "" to grub_env_set(), it should
12044 handle constant strings.
12045
e4e8eaa5 12046 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12047 * commands/cmp.c (grub_cmd_cmp): Likewise.
12048 * kern/dl.c (grub_dl_flush_cache): Likewise.
12049 (grub_dl_load_core): Likewise.
12050 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12051 (grub_elf64_load_phdrs): Likewise.
12052
d4e2dad3 120532008-07-13 Pavel Roskin <proski@gnu.org>
12054
12055 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12056 between signed and unsigned.
12057 (LzmaEnc_Finish): Fix warning about an unused parameter.
12058
aa24b516 120592008-07-13 Bean <bean123ch@gmail.com>
12060
12061 * Makefile.in (enable_lzo): New rule.
12062
12063 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12064
12065 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12066
12067 * boot/i386/pc/lnxboot.S: #include <config.h>.
12068
12069 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12070 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12071
12072 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12073 compression algorithm according to configure macro.
12074
12075 * kern/i386/pc/startup.S (codestart): Likewise.
12076
12077 * kern/i386/pc/lzma_decode.S: New file.
12078
12079 * include/grub/lib/LzFind.h: Likewise.
12080
12081 * include/grub/lib/LzHash.h: Likewise.
12082
12083 * include/grub/lib/LzmaDec.h: Likewise.
12084
12085 * include/grub/lib/LzmaEnc.h: Likewise.
12086
12087 * include/grub/lib/LzmaTypes.h: Likewise.
12088
12089 * lib/LzFind.c: Likewise.
12090
12091 * lib/LzmaDec.c: Likewise.
12092
12093 * lib/LzmaEnc.c: Likewise.
12094
4ae821ac 120952008-07-13 Bean <bean123ch@gmail.com>
12096
12097 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
12098 (grub_ext4_extent_header): New structure.
12099 (grub_ext4_extent): Likewise.
12100 (grub_ext4_extent_idx): Likewise.
12101 (grub_ext4_find_leaf): New function.
12102 (grub_ext2_read_block): Handle extents.
12103
9a745147 121042008-07-12 Robert Millan <rmh@aybabtu.com>
12105
12106 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
12107
d49a4cf6 121082008-07-11 Robert Millan <rmh@aybabtu.com>
12109
12110 * util/grub.d/40_custom.in: New file. Example on how to add custom
12111 entries to /etc/grub.d.
12112 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
12113 40_custom (implicitly, by merging all the grub.d rules).
12114
947414b4 121152008-07-11 Pavel Roskin <proski@gnu.org>
12116
0059cf6f 12117 * commands/read.c (grub_getline): Fix invalid memory access.
12118 Don't add newline to the variable value.
12119
947414b4 12120 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
12121 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
12122 (serial_hw_get_port): Check validity of the port number.
12123 (grub_cmd_serial): Check return value of serial_hw_get_port().
12124
62a02d00 121252008-07-07 Pavel Roskin <proski@gnu.org>
12126
12127 * boot/i386/pc/diskboot.S (notification_string): Replace
12128 "Loading kernel" with just "loading". This is shorter, less
12129 confusing and saves a few bytes for possible future changes.
12130
3e5581b0 121312008-07-05 Pavel Roskin <proski@gnu.org>
12132
ea387a48 12133 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
12134 size for ATAPI devices, they are undefined. Output sector
12135 number in decimal form.
12136
3e5581b0 12137 * disk/ata.c: Use named constants for status bits.
12138
fdecb8fd 121392008-07-04 Pavel Roskin <proski@gnu.org>
12140
bcd35b90 12141 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
12142 grub_addr_t before casting it to the void pointer to fix a
12143 warning. Non-addressable regions are discarded earlier.
12144 (grub_arch_modules_addr): Cast _end to grub_addr_t.
12145 * kern/i386/linuxbios/table.c: Include grub/misc.h.
12146 (check_signature): Don't shadow table_header.
12147 (grub_linuxbios_table_iterate): Cast numeric constants to
12148 grub_linuxbios_table_header_t.
12149 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
12150 grub_stop().
12151
af58ab3d 12152 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
12153 prevent warnings.
12154
1759aa57 12155 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
12156 pointer, which can cause warnings. Support 64-bit addresses.
12157
fdecb8fd 12158 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
12159 of sizeof(long). This fixes PowerPC image generation on x86_64.
12160
8516d2a8 121612008-07-04 Robert Millan <rmh@aybabtu.com>
12162
12163 This fixes a performance issue when pc & gpt partmap iterators
12164 didn't abort iteration even after our hook found what it was
fe987087 12165 looking for (often causing expensive probes of non-existent drives).
8516d2a8 12166
12167 Some callers relied on previous buggy behaviour, since they would
34c44600 12168 raise an error when their own hooks caused early abortion of its
8516d2a8 12169 iteration.
12170
12171 * kern/device.c (grub_device_open): Improve error message.
12172 * disk/lvm.c (grub_lvm_open): Likewise.
12173 * disk/raid.c (grub_raid_open): Likewise.
12174
12175 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
12176 when hook requests it, independently of grub_errno.
12177 (pc_partition_map_probe): Do not fail when find_func() caused
12178 early abortion of pc_partition_map_iterate().
12179
12180 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
12181 when hook requests it, independently of grub_errno.
12182 (gpt_partition_map_probe): Do not fail when find_func() caused
12183 early abortion of gpt_partition_map_iterate().
12184
12185 * kern/partition.c (grub_partition_iterate): Abort parent iteration
12186 when hook requests it, independently of grub_errno. Do not fail when
12187 part_map_iterate_hook() caused early abortion of p->iterate().
12188
12189 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
12190 when grub_partition_iterate() returned with non-zero.
12191
277d0de9 121922008-07-03 Pavel Roskin <proski@gnu.org>
12193
12194 * disk/ata.c (grub_ata_pio_write): Check status before writing,
12195 like we do in grub_ata_pio_read().
12196 (grub_ata_readwrite): Always write individual sectors. Fix the
12197 sector count for the remainder.
12198 (grub_ata_write): Enable writing to ATA devices. Correctly
12199 report error for ATAPI devices.
12200
d4c9b428 122012008-07-02 Pavel Roskin <proski@gnu.org>
12202
e43fc690 12203 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
12204 warning.
12205
f707af42 12206 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
12207 for every read sector, we already increment it for the whole
12208 batch. This fixes reading more than 256 sectors at once.
12209
11e16b15 12210 * util/grub-editenv.c (cmd_info): Cast argument to long
12211 explicitly. ptrdiff_t reduces to int on i386.
12212
cbabfdd4 12213 * util/grub-editenv.c (main): Be specific which parameter is
12214 missing.
12215
b8fbce0a 12216 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
12217 (memdisk): Make memdisk_orig_addr a pointer.
12218
c9c8e606 12219 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
12220 for file offsets, use grub_off_t instead. Fix printf format
12221 warnings.
12222
ca62e598 12223 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
12224 there. Real unexpected warnings should not drown in the noise
12225 about known problems.
12226
ce8d1766 12227 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
12228 grub_disk_addr_t for memory addresses.
12229
00c7a56a 12230 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
12231 explicitly to fix a warning.
12232
08d3ef09 12233 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
12234
cb71ba20 12235 * Makefile.in (MODULE_LDFLAGS): New variable.
12236 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
12237 the linker accepts --build-id=none.
12238 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
12239 MODULE_LDFLAGS.
12240 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
12241
d4c9b428 12242 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
12243 those in Linux XFS code. Provide a way to access 64-bit parent
12244 inode.
12245 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
12246 the end of struct grub_xfs_dir_header.
12247
d4156eee 122482008-07-02 Bean <bean123ch@gmail.com>
12249
12250 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
12251 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12252 and GRUB_IEEE1275_FLAG_NO_ANSI.
12253
12254 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
12255 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12256 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
12257
12258 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
12259 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
12260
12261 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
12262 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
12263
12264 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
12265 esc sequence on non ANSI terminal.
12266 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
12267
12268 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
12269 beginning of file.
12270
2270f77b 122712008-07-02 Bean <bean123ch@gmail.com>
12272
12273 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
12274 (grub_editenv_SOURCES): New variable.
12275 (pkglib_MODULES): Add loadenv.mod.
12276 (loadenv_mod_SOURCES): New variable.
12277 (loadenv_mod_CFLAGS): Likewise.
12278 (loadenv_mod_LDFLAGS): Likewise.
12279
12280 * include/grub/envblk.h: New file.
12281
12282 * util/envblk.c: New file.
12283
12284 * util/grub-editenv.c: New file.
12285
12286 * commands/loadenv.c: New file.
12287
0e9e51ec 122882008-07-01 Pavel Roskin <proski@gnu.org>
12289
d89b7634 12290 * include/multiboot2.h (struct multiboot_tag_module): Use char,
12291 not unsigned char. This fixes warnings and is consistent with
12292 other tags.
12293
bf1835b1 12294 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
12295
8222a04b 12296 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
12297
6a42d99d 12298 * term/tparm.c (analyze): Always set *popcount.
12299
10b159d1 12300 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
12301 cast to fix a warning.
12302
b8789f6c 12303 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
12304 cast to suppress a warning.
12305
29d7e38a 12306 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
12307 grub_fshelp_read_file() expects.
12308
f341f669 12309 * fs/fat.c: Fix UUID calculation on big-endian systems. We
12310 write uuid as a 32-bit value in CPU byte order, so declare and
12311 use it as such.
12312
0e9e51ec 12313 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
12314 long if the format specifier expects it.
12315 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
12316 * partmap/pc.c (pc_partition_map_iterate): Likewise.
12317 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
12318 long to fix a warning.
12319 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
12320 grub_dprintf() arguments to fix warnings.
12321
3aefa857 123222008-06-30 Pavel Roskin <proski@gnu.org>
12323
56c7668b 12324 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
12325 install_bsd_part immediately before core.img is embedded or
12326 modified on disk. This fixes core.img verification if core.img
12327 cannot be embedded.
12328
3aefa857 12329 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
12330 core_path to calculate the blocklist.
12331 Patch from Javier Martín <lordhabbit@gmail.com>
12332
5444088d 123332008-06-29 Robert Millan <rmh@aybabtu.com>
12334
12335 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
12336 block to disk block.
12337 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
12338 Patch from Niels Böhm <bitbucket@arcor.de>
12339
674835c8 123402008-06-29 Robert Millan <rmh@aybabtu.com>
12341
12342 * util/update-grub_lib.in (font_path): Search for fonts in
12343 /boot/grub first, which is more likely to be readable (we aren't
12344 deciding where fonts live, just looking for them).
12345
f527dbc8 123462008-06-26 Pavel Roskin <proski@gnu.org>
12347
6c2d8df6 12348 * util/biosdisk.c (read_device_map): Don't leave dead map
12349 entries for devices failing stat() check.
12350
f527dbc8 12351 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
12352 core_path_dev for the core.img path on the target device.
12353
aebe3d13 123542008-06-26 Robert Millan <rmh@aybabtu.com>
12355
12356 * disk/fs_uuid.c: New file.
12357 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
12358 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
12359 (fs_uuid_mod_LDFLAGS): New variables.
12360 * include/grub/disk.h (grub_disk_dev_id): Add
12361 `GRUB_DISK_DEVICE_UUID_ID'.
12362 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
12363 implement iterate().
12364
37aaf354 123652008-06-26 Robert Millan <rmh@aybabtu.com>
12366
12367 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
12368 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
12369 Linux image includes no initrd.
12370
25ff262a 123712008-06-21 Javier Martín <lordhabbit@gmail.com>
12372
12373 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
12374 call to resolve the core image location that effectively appended the
12375 name twice.
12376
76a2bd44 123772008-06-21 Robert Millan <rmh@aybabtu.com>
12378
12379 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
12380 call from here ...
12381
12382 * util/grub.d/10_hurd.in: ... to here ...
12383 * util/grub.d/10_linux.in: ... and here.
12384
650e1c79 123852008-06-19 Robert Millan <rmh@aybabtu.com>
12386
fe987087 12387 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 12388 after it has been set by grub_machine_set_prefix().
12389
6ce63911 123902008-06-19 Robert Millan <rmh@aybabtu.com>
12391
12392 * commands/search.c (search_label, search_fs_uuid, search_file): Print
12393 search result when not saving to variable, not the other way around.
12394 When saving to variable, abort iteration as soon as a match is found.
12395
73940cec 123962008-06-19 Robert Millan <rmh@aybabtu.com>
12397
12398 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
12399 check for partition that provides /boot/grub. Its logic is flawed,
12400 as it prevents prepare_grub_to_access_device() from being called
12401 multiple times.
12402
3c62a39d 124032008-06-19 Robert Millan <rmh@aybabtu.com>
12404
12405 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
12406 "insmod" command directly when abstraction modules are needed,
fe987087 12407 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 12408 since it had already been processed).
12409
47395a42 124102008-06-19 Pavel Roskin <proski@gnu.org>
12411
12412 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
12413 changed. This is needed in case GRUB_LIBDIR changes.
12414 * conf/i386-ieee1275.rmk: Likewise.
12415 * conf/i386-linuxbios.rmk: Likewise.
12416 * conf/i386-pc.rmk: Likewise.
12417 * conf/powerpc-ieee1275.rmk: Likewise.
12418
a145ac2d 124192008-06-18 Pavel Roskin <proski@gnu.org>
12420
12421 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
12422 kernel_elf_symlist.c to symlist.c for consistency with other
12423 architectures. Update all users.
12424 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12425
7847c51e 124262008-06-18 Robert Millan <rmh@aybabtu.com>
12427
12428 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
12429 it in prefix.
12430
12431 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
12432 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
12433 a RAID device, run setup() for all members independently on whether
12434 LVM abstraction is being used.
12435 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
12436 If grub-mkimage has set `*install_dos_part == -2', don't override this
12437 value.
12438 Perform *install_dos_part adjustments independently on whether
12439 we're embedding or not.
12440 Clarify error message when image is too big for embedding.
12441 Remove duplicate *install_dos_part stanza.
12442
b23e5644 124432008-06-17 Robert Millan <rmh@aybabtu.com>
12444
12445 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
12446 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
12447 variables.
12448 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
12449 values in grub_ofconsole_normal_color and
12450 grub_ofconsole_highlight_color (they're not directly related to
12451 background and foreground).
12452 (grub_ofconsole_setcolorstate): Extract background and foreground
12453 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
12454
0aac2f79 124552008-06-17 Robert Millan <rmh@aybabtu.com>
12456
12457 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
12458 /boot/grub for the check in last commit, not /boot (they could be
12459 different partitions).
12460
3cca7ef3 124612008-06-16 Robert Millan <rmh@aybabtu.com>
12462
12463 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
12464 asked to setup access for the same partition that provides /boot,
12465 don't bother using UUIDs since our root already has the value we
12466 want.
12467
347396d8 124682008-06-16 Robert Millan <rmh@aybabtu.com>
12469
12470 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
12471 I2O devices.
12472 Patch from Sven Mueller <sven@debian.org>.
12473
991477f8 124742008-06-16 Robert Millan <rmh@aybabtu.com>
12475
12476 * util/update-grub.in: Check for $EUID instead of $UID.
12477 Reported by Vincent Zweije.
12478
d31a32a1 124792008-06-16 Bean <bean123ch@gmail.com>
12480
fe987087 12481 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 12482 (grub_ext2_read_block): Likewise.
12483 (grub_ext2_read_inode): Likewise.
12484 (grub_ext2_mount): Likewise.
12485 (grub_ext2_close): Likewise.
12486 (grub_ext3_get_journal): Removed.
12487
fe987087 12488 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 12489 (grub_reiserfs_read_symlink): Likewise.
12490 (grub_reiserfs_mount): Likewise.
12491 (grub_reiserfs_open): Likewise.
12492 (grub_reiserfs_read): Likewise.
12493 (grub_reiserfs_close): Likewise.
12494 (grub_reiserfs_get_journal): Removed.
12495
12496 * fs/fshelp.c (grub_fshelp_read): Removed.
12497 (grub_fshelp_map_block): Likewise.
12498
12499 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
12500 (grub_fshelp_journal): Likewise.
12501 (grub_fshelp_read): Likewise.
12502 (grub_fshelp_map_block): Likewise.
12503
3540a760 125042008-06-16 Pavel Roskin <proski@gnu.org>
12505
12506 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
12507 floating point anymore.
12508 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
12509
95614c84 125102008-06-15 Pavel Roskin <proski@gnu.org>
12511
12512 * commands/ls.c (grub_ls_list_files): Use integer calculations
12513 for human readable format, avoid floating point use.
12514 * kern/misc.c (grub_ftoa): Remove.
12515 (grub_vsprintf): Remove floating point support.
12516
50465dd6 125172008-06-15 Robert Millan <rmh@aybabtu.com>
12518
fe6b695a 12519 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 12520 devices.
12521 Reported by Max Vozeler.
12522
a9207284 125232008-06-15 Robert Millan <rmh@aybabtu.com>
12524
12525 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
12526 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
12527 skipped later.
12528 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
12529 the beginning of the prefix.
12530
12531 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
12532 It is assumed that if we have a memdisk, grub-mkimage has set
12533 grub_prefix to include the "(memdisk)" drive in it.
12534
a7cbd45a 125352008-06-15 Robert Millan <rmh@aybabtu.com>
12536
12537 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
12538 Initialize keyboard controller after registering the terminal, so that
12539 grub_printf() can be called from grub_keyboard_controller_init().
12540
21cf716a 125412008-06-15 Robert Millan <rmh@aybabtu.com>
12542
12543 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
12544 extent-btree which is written as big endian on disk.
12545 Reported by Alain Greppin <al@chilibi.org>.
12546
23a64d8e 125472008-06-14 Robert Millan <rmh@aybabtu.com>
12548
12549 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
12550 * util/i386/pc/grub-install.in (modules): Likewise.
12551
d687651c 125522008-06-13 Pavel Roskin <proski@gnu.org>
12553
12554 * commands/ls.c (grub_ls_list_files): Fix format warnings.
12555
dfe9ddd4 125562008-06-13 Bean <bean123ch@gmail.com>
12557
12558 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
12559
12560 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
12561
12562 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
12563 to indicate sparse block.
12564
16ae7781 125652008-06-12 Pavel Roskin <proski@gnu.org>
12566
e6d1a308 12567 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
12568 number, grub_fshelp_read() does it for us.
12569
16ae7781 12570 * fs/fshelp.c (grub_fshelp_read): New function. Implement
12571 linear disk read with journal translation.
12572 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
12573 * include/grub/fshelp.h: Declare grub_fshelp_read().
12574
40fd3a2b 125752008-06-09 Pavel Roskin <proski@gnu.org>
12576
12577 * fs/minix.c (grub_minix_mount): Handle error reading
12578 superblock.
12579
f5679726 125802008-06-08 Robert Millan <rmh@aybabtu.com>
12581
12582 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
12583 don't append the RAID prefix afterwards.
12584 Reported by Clint Adams.
12585
ce525529 125862008-06-08 Robert Millan <rmh@aybabtu.com>
12587
12588 Based on description from Pavel:
12589 * kern/disk.c (grub_disk_check_range): Rename to ...
12590 (grub_disk_adjust_range): ... this. Add a comment explaining the
12591 tasks performed by this function.
12592
ad4936a0 125932008-06-08 Robert Millan <rmh@aybabtu.com>
12594
12595 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
12596 `num_serial' (for consistency with other variables).
12597 (struct grub_ntfs_data): Add `uuid' member.
12598 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
12599 (grub_ntfs_uuid): New function.
12600 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
12601
dc20b0f9 126022008-06-07 Pavel Roskin <proski@gnu.org>
12603
12604 * util/biosdisk.c (open_device): Revert last change to the
12605 function, it broke installation. The sector needs to be
12606 different dependent on which device is opened.
12607
c5e3cfba 126082008-06-06 Robert Millan <rmh@aybabtu.com>
12609
12610 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
12611 rest of GRUB, and breakage doesn't happen if its value were modified.
12612
12613 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12614 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
12615 a constant (same value).
12616 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
12617 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
12618
26a1f8c4 126192008-06-06 Robert Millan <rmh@aybabtu.com>
12620
12621 * util/biosdisk.c (open_device): Do not modify sector offset when
12622 accessing a partition. kern/disk.c already handles this for us.
12623
25d6b327 126242008-06-06 Robert Millan <rmh@aybabtu.com>
12625
12626 * util/grub-emu.c (grub_machine_init): Move code in this function from
12627 here ...
12628 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
12629 segfault in case grub_printf() is called).
12630
12631 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
12632 grub_probe. Update all users not to explicitly add it again.
12633 (grub_device): New variable; contains corresponding device for grubdir.
12634 (fs_module, partmap_module, devabstraction_module): Pass
12635 `--device ${grub_device}' to grub_probe to avoid traversing /dev
12636 every time.
12637
9ece62fb 126382008-06-05 Robert Millan <rmh@aybabtu.com>
12639
12640 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
12641 is found, print it (same layout as with labels).
12642
1ad36d37 126432008-06-04 Robert Millan <rmh@aybabtu.com>
12644
12645 * util/biosdisk.c (get_drive): Rename to ...
12646 (find_grub_drive): ... this. Update all users.
12647
12648 (get_os_disk): Rename to ...
12649 (convert_system_partition_to_system_disk): ... this. Update all users.
12650
12651 (find_drive): Rename to ...
12652 (find_system_device): ... this. Update all users.
12653
e6a30859 126542008-06-04 Robert Millan <rmh@aybabtu.com>
12655
12656 * util/biosdisk.c (get_os_disk): Handle IDA devices.
12657 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12658 (make_device_map): Likewise.
12659
00c108a4 126602008-06-01 Robert Millan <rmh@aybabtu.com>
12661
12662 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
12663 before dereferencing it.
12664
12665 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
12666 union with fat12/fat16-specific ones. Add some new fields, including
12667 `num_serial' for both versions.
12668 (struct grub_fat_data): Add `uuid' member.
12669 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
12670 names. Initialize `data->uuid' using `num_serial'.
12671 (grub_fat_uuid): New function.
12672 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
12673
12674 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
12675 (grub_reiserfs_uuid): New function.
12676 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
12677 member.
12678
12679 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
12680 (grub_xfs_uuid): New function.
12681 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
12682
1385c5bb 126832008-06-01 Robert Millan <rmh@aybabtu.com>
12684
12685 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
12686 code that is backward compatible with pre-uuid search command.
12687
c682dfd7 126882008-05-31 Robert Millan <rmh@aybabtu.com>
12689
12690 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
12691 floppies after everything else, to ensure floppy drive isn't accessed
12692 unnecessarily (patch from Bean).
12693
b7db5d47 126942008-05-31 Robert Millan <rmh@aybabtu.com>
12695
12696 * commands/search.c (search_label, search_fs_uuid, search_file): Do
12697 not print device names when we were asked to set a variable.
12698
6e037aa9 126992008-05-31 Robert Millan <rmh@aybabtu.com>
12700
12701 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
12702 using "cursor-on" and "cursor-off" commands (understood at least by
12703 the Open Firmware flavour on OLPC).
12704
41305bc8 127052008-05-31 Michael Gorven <michael@gorven.za.net>
12706
12707 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
12708 on and off sequences.
12709
69ba137e 127102008-05-31 Robert Millan <rmh@aybabtu.com>
12711
12712 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
12713 * util/update-grub.in: Likewise.
12714
520ae21b 127152008-05-30 Pavel Roskin <proski@gnu.org>
12716
12717 * util/biosdisk.c (linux_find_partition): Simplify logic and
12718 make the code more universal. Keep special processing for
12719 devfs, but use a simple rule for all other devices. If the
12720 device ends with a number, append 'p' and the partition number.
12721 Otherwise, append only the partition number.
12722
5786569b 127232008-05-30 Robert Millan <rmh@aybabtu.com>
12724
12725 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
12726 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
12727 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
12728 the `root' parameter to Linux.
12729
51500452 127302008-05-30 Robert Millan <rmh@aybabtu.com>
12731
12732 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
12733 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
12734 --fs_uuid with --fs-uuid.
12735 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
12736 all filesystems support them).
12737
811d3878 127382008-05-30 Robert Millan <rmh@aybabtu.com>
12739
12740 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 12741 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 12742
cab63c95 127432008-05-30 Robert Millan <rmh@aybabtu.com>
12744
12745 * util/grub.d/00_header.in: Remove obsolete comment referencing
12746 convert_system_path_to_grub_path().
12747 * util/update-grub.in: Likewise.
12748 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
12749 (convert_system_path_to_grub_path): Add a warning message explaining
12750 that this function is deprecated. Rely on is_path_readable_by_grub()
12751 for the readability checks.
12752 (font_path): Use is_path_readable_by_grub() for the readability
12753 check rather than convert_system_path_to_grub_path().
12754
972e2f7a 127552008-05-30 Robert Millan <rmh@aybabtu.com>
12756
12757 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
12758 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
12759 converting it first.
12760 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
12761 grub.cfg for access to font file, and afterwards call it again to set
12762 the root device.
12763
62191274 127642008-05-30 Robert Millan <rmh@aybabtu.com>
12765
12766 * commands/search.c (options): Add --fs_uuid option.
12767 (search_fs_uuid): New function.
12768 (grub_cmd_search): Fix --set argument passing.
12769 Use search_fs_uuid() when requested via --fs_uuid.
12770 (grub_search_init): Update help message.
12771 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
12772 and redeclare it as an array of 16-bit words.
12773 (grub_ext2_uuid): New function.
12774 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
12775 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
12776 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
12777 (GRUB_DEVICE_BOOT_UUID): New variables.
12778 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
12779 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
12780 whenever possible.
12781 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
12782 just assume `root' variable has the right value.
12783 * util/grub.d/10_linux.in: Likewise.
12784 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
12785 via PRINT_FS_UUID.
12786 (main): Recognise `-t fs_uuid' argument.
12787
01b73ec8 127882008-05-30 Robert Millan <rmh@aybabtu.com>
12789
12790 * util/biosdisk.c (map): Redefine structure to hold information
12791 about GRUB drive name.
fe6b695a 12792 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 12793 drive names.
12794 (call_hook): Remove.
12795 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
12796 member. Assume drive has partitions.
12797 (grub_util_biosdisk_open): Access device names via `.device' struct
12798 member.
12799 (open_device): Likewise.
12800 (find_drive): Likewise.
12801 (read_device_map): Adjust map[] usage to match the new struct
12802 definition. Don't check for duplicates (still possible, but not cheap
12803 anymore).
12804 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
12805 (make_device_name): Remove assumption of BIOS-like drive names.
12806
22f16596 128072008-05-30 Pavel Roskin <proski@gnu.org>
12808
12809 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
12810 compiling execute.c doesn't need grub_script.tab.h anymore.
12811 (normal/command.c_DEPENDENCIES): Likewise.
12812 (normal/function.c_DEPENDENCIES): Likewise.
12813 * conf/i386-ieee1275.rmk: Likewise.
12814 * conf/i386-linuxbios.rmk: Likewise.
12815 * conf/i386-pc.rmk: Likewise.
12816 * conf/powerpc-ieee1275.rmk: Likewise.
12817 * conf/sparc64-ieee1275.rmk: Likewise.
12818
528ad8f2 128192008-05-29 Pavel Roskin <proski@gnu.org>
12820
d1dff95d 12821 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
12822 when scanning metadata for volume group name.
12823
528ad8f2 12824 * include/grub/script.h: Don't include grub_script.tab.h. It's
12825 a generated file, which may only be included from the files with
12826 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
12827 use union YYSTYPE, as the later allows forward declaration.
12828 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
12829
47248e08 128302008-05-29 Robert Millan <rmh@aybabtu.com>
12831
12832 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
12833 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
12834 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
12835 (grub_console_checkkey): Add grub_dprintf() call to report unknown
12836 scan codes.
12837
ee632529 128382008-05-29 Robert Millan <rmh@aybabtu.com>
12839
12840 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
12841 control key combinations.
12842
eee96e08 128432008-05-29 Robert Millan <rmh@aybabtu.com>
12844
12845 * util/powerpc/ieee1275/grub-install.in: Move from here ...
12846 * util/ieee1275/grub-install.in: ... to here.
12847 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
12848 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
12849 (grub_install_SOURCES): Likewise.
12850
da9a6a94 128512008-05-29 Robert Millan <rmh@aybabtu.com>
12852
12853 * fs/affs.c: Update copyright year.
12854 * fs/ext2.c: Likewise.
12855 * fs/fshelp.c: Likewise.
12856 * fs/hfsplus.c: Likewise.
12857 * fs/ntfs.c: Likewise.
12858 * fs/xfs.c: Likewise.
12859 * include/grub/fshelp.h: Likewise.
12860 * util/grub-mkdevicemap.c: Likewise.
12861
12e65f3a 128622008-05-28 Robert Millan <rmh@aybabtu.com>
12863
12864 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
12865 might need to be fatfs to support some firmware implementations
12866 (e.g. OFW or EFI).
12867
23023641 128682008-05-28 Robert Millan <rmh@aybabtu.com>
12869
12870 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
12871 devices.
12872 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12873 (make_device_map): Likewise.
12874
887d2619 128752008-05-20 Bean <bean123ch@gmail.com>
12876
12877 * fs/fshelp.c (grub_fshelp_map_block): New function.
12878 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
12879 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
12880
12881 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
12882 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
12883 (grub_fshelp_journal): New structure.
12884 (grub_fshelp_map_block): New function prototype.
12885 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
12886 (grub_fshelp_map_block): Likewise.
12887
12888 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
12889 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
12890 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
12891 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
12892 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
12893 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
12894 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
12895 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
12896 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
12897 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
12898 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
12899 (grub_ext2_sblock): New members for journal support.
12900 (grub_ext3_journal_header): New structure.
12901 (grub_ext3_journal_revoke_header): Likewise.
12902 (grub_ext3_journal_block_tag): Likewise.
12903 (grub_ext3_journal_sblock): Likewise.
12904 (grub_fshelp_node): New members logfile and journal.
12905 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
12906 grub_fshelp_map_block to get real block number.
12907 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
12908 number.
12909 (grub_ext2_read_inode): Likewise.
12910 (grub_ext3_get_journal): New function.
12911 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
12912 (grub_ext2_close): Release memory used by journal.
12913
12914 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
12915 (REISERFS_MAGIC_DESC_BLOCK): New macro.
12916 (grub_reiserfs_transaction_header): Renamed to
12917 grub_reiserfs_description_block, replace field data with real_blocks.
12918 (grub_reiserfs_commit_block): New structure.
12919 (grub_reiserfs_data): New member journal.
12920 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12921 number.
12922 (grub_reiserfs_read_symlink): Likewise.
12923 (grub_reiserfs_iterate_dir): Likewise.
12924 (grub_reiserfs_open): Likewise.
12925 (grub_reiserfs_read): Likewise.
12926 (grub_reiserfs_get_journal): New function.
12927 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12928 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12929 using grub_reiserfs_get_journal.
12930 (grub_reiserfs_close): Release memory used by journal.
12931
12932 * fs/affs.c (grub_affs_read_block): Change block type to
12933 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12934
12935 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12936
12937 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12938
12939 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12940
12941 * fs/udf.c (grub_udf_read_block): Change block type to
12942 grub_disk_addr_t. Use type cast to avoid warning.
12943
12944 * fs/xfs.c (grub_xfs_read_block): Likewise.
12945
b7c6bed5 129462008-05-16 Christian Franke <franke@computer.org>
12947
12948 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12949 to ensure that break with ESC will always work.
12950 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12951 Remove ESC from keyboard queue.
12952
eedf167f 129532008-05-16 Christian Franke <franke@computer.org>
12954
12955 * util/biosdisk.c: [__CYGWIN__] Add includes.
12956 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12957 (get_os_disk): Move variable declarations to OS specific
12958 parts to avoid warning.
12959 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12960 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12961 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12962 Cygwin.
12963 * util/getroot.c: [__CYGWIN__] Add includes.
12964 (strip_extra_slashes): Fix "/" case.
12965 [__CYGWIN__] (get_win32_path): New function.
12966 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12967 [__CYGWIN__] (find_root_device): Disable.
12968 [__CYGWIN__] (get_bootsec_serial): New function.
12969 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12970 [__linux__] (grub_guess_root_device): Add early returns to simplify
12971 structure.
12972 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12973 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12974 check for Linux only.
12975
a079699e 129762008-05-15 Bean <bean123ch@gmail.com>
12977
12978 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
12979 keyboard hang problem in apple's intel mac.
12980
1cf4059a 129812008-05-09 Robert Millan <rmh@aybabtu.com>
12982
12983 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
12984 devices.
12985 * util/grub-mkdevicemap.c (get_virtio_disk_name)
12986 (make_device_map): Likewise.
12987 Reported by Aurelien Jarno <aurel32@debian.org>
12988
ed759390 129892008-05-07 Ian Campbell <ijc@hellion.org.uk>
12990
12991 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
12992 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
12993 (make_device_map): Output entries for xvd type disks.
12994
b56c4eaa 129952008-05-07 Robert Millan <rmh@aybabtu.com>
12996
12997 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
12998 devices.
12999 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13000 (make_device_map): Likewise.
13001 Reported by Roland Dreier <rdreier@cisco.com>
13002
7f8866ed 130032008-05-07 Robert Millan <rmh@aybabtu.com>
13004
13005 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13006 grub_strstr() call. Correct a few mistakes in failure path handling.
13007
b0346e0f 130082008-05-06 Robert Millan <rmh@aybabtu.com>
13009
13010 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13011 Do not print a trailing slash (therefore, the root directory is an
13012 empty string).
13013 (convert_system_path_to_grub_path): Do not remove trailing slash
13014 from make_system_path_relative_to_its_root() output.
13015
13016 * util/i386/pc/grub-install.in: Add trailing slash to output from
13017 make_system_path_relative_to_its_root().
13018
6cf12cbd 130192008-05-06 Robert Millan <rmh@aybabtu.com>
13020
13021 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13022 ensures that output lines aren't intermangled with those sent to
13023 stderr (via grub_util_info()).
13024 * util/grub-probe.c (grub_refresh): Likewise.
13025 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13026
0fbb3117 130272008-05-05 Christian Franke <franke@computer.org>
13028
13029 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13030 Add Cygwin device names.
13031 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13032 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13033 (check_device): Return error instead of success on empty name.
13034 (make_device_map): Move label inside linux specific code to
13035 prevent compiler warning.
13036
8124cdb7 130372008-04-30 Robert Millan <rmh@aybabtu.com>
13038
13039 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13040 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13041 first boot option.
13042 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13043
094c01d0 130442008-04-29 Robert Millan <rmh@aybabtu.com>
13045
13046 * docs/grub.cfg: New file (example GRUB configuration).
13047
f4b1fc02 130482008-04-26 Robert Millan <rmh@aybabtu.com>
13049
329ce2a5 13050 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13051 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13052 and `disk/ieee1275/nand.c'.
f4b1fc02 13053
25f16ec1 130542008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13055
25f16ec1 13056 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13057 i386-linuxbios.
13058
13059 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13060 change the buffer size to 4096 for cdrom device.
13061
13062 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13063 and nand.mod.
13064 (_linux_mod_SOURCES): New variable.
13065 (_linux_mod_CFLAGS): Likewise.
13066 (_linux_mod_LDFLAGS): Likewise.
13067 (linux_mod_SOURCES): Likewise.
13068 (linux_mod_CFLAGS): Likewise.
13069 (linux_mod_LDFLAGS): Likewise.
13070 (nand_mod_SOURCES): Likewise.
13071 (nand_mod_CFLAGS): Likewise.
13072 (nand_mod_LDFLAGS): Likewise.
13073
13074 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13075 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13076 type property. (nand device in olpc don't have this property)
13077
13078 * include/grub/disk.h (grub_disk_dev_id): New macro
13079 GRUB_DISK_DEVICE_NAND_ID.
13080
13081 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13082 function prototype.
13083 (grub_rescue_cmd_initrd): Likewise.
13084
13085 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
13086 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
13087 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 13088
25f16ec1 13089 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
13090 GRUB_MACHINE_IEEE1275 is defined.
13091
13092 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
13093 Use NESTED_FUNC_ATTR attribute on the hook parameter.
13094
13095 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
13096 on nested function heap_init.
13097 (grub_upper_mem): New variable for i386-ieee1275.
13098 (grub_get_extended_memory): New function for i386-ieee1275.
13099 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
13100
13101 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
13102 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
13103 property.
f19dbdb7 13104
25f16ec1 13105 * loader/i386/ieee1275/linux.c: New file.
13106
13107 * loader/i386/ieee1275/linux_normal.c: New file.
13108
13109 * disk/ieee1275/nand.c: New file.
13110
e89d61e9 131112008-04-18 Thomas Schwinge <tschwinge@gnu.org>
13112
13113 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
13114 value.
13115 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
13116
602566f6 131172008-04-18 Robert Millan <rmh@aybabtu.com>
13118
13119 Restructures early code path on ieee1275 to unify grub_main() as
13120 the first C function that is executed in every platform.
13121
13122 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
13123 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
13124 cmain().
13125 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
13126 * kern/ieee1275/cmain.c (cmain): Rename to ...
13127 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
13128 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
13129 at the beginning.
13130
57490c2b 131312008-04-18 Robert Millan <rmh@aybabtu.com>
13132
13133 * util/update-grub.in: Fix syntax error when setting
13134 `GRUB_PRELOAD_MODULES'.
13135 Reported by Stephane Chazelas <stephane@artesyncp.com>
13136
1977517d 131372008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
13138
13139 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
13140 section into account, newer toolchains generate unique build ids
13141 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 13142 we want build ids to be preserved
1977517d 13143 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
13144 far from other sections don't cause the raw binary images grow
13145 size
13146
bfb1f1a2 131472008-04-15 Robert Millan <rmh@aybabtu.com>
13148
13149 * disk/lvm.c: Update copyright year.
13150 * kern/misc.c: Likewise.
13151
01979850 131522008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13153
13154 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 13155 there is no memory left for physical volume name.
01979850 13156
0a1150e2 131572008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13158
13159 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
13160 volume name mapping to support bigger than 9 character names properly.
13161
82ead3fe 131622008-04-13 Robert Millan <rmh@aybabtu.com>
13163
13164 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
13165 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
13166
e54a72f5 131672008-04-13 Christian Franke <franke@computer.org>
13168
13169 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
13170 to create a floppy emulation boot CD when non emulation mode
13171 does not work.
13172 Enable Joliet CD filesystem extension.
13173
9fe86034 131742008-04-13 Robert Millan <rmh@aybabtu.com>
13175
13176 * kern/misc.c (grub_strncat): Fix off-by-one error.
13177 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
13178
13179 * kern/env.c (grub_env_context_close): Clear current context, not
13180 previous one.
13181 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
13182
13183 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
13184
7ceeee39 131852008-04-13 Robert Millan <rmh@aybabtu.com>
13186
13187 Improve robustness when handling LVM.
13188
13189 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 13190 (and leave `*p' unmodified).
7ceeee39 13191 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
13192 through it.
13193 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
13194 iterating through it.
13195 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
13196 through it.
fe6b695a 13197 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 13198 when due) on each grub_lvm_getvalue() or grub_strstr() call.
13199 Don't assume `vg->pvs != NULL' when iterating through it.
13200
58cd3d85 132012008-04-13 Robert Millan <rmh@aybabtu.com>
13202
13203 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
13204 * genmk.rb (partmap): New variable.
13205 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
13206 (#{partmap}): New target rule.
13207 * genpartmaplist.sh: New file.
13208 * Makefile.in (pkglib_DATA): Add partmap.lst.
13209 (partmap.lst): New target rule.
13210 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
13211 modules (including all partition maps), instead of preloading them.
13212
78b51059 132132007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
13214
13215 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
13216 `linux-boot-prober' (if installed) to detect other operating
13217 systems which are installed on the computer and add them to
13218 the boot menu.
13219 * conf/common.rmk: Build and install 30_os-prober.
13220
a91627b4 132212008-04-12 Robert Millan <rmh@aybabtu.com>
13222
13223 * kern/powerpc/ieee1275/init.c: Move from here ...
13224 * kern/ieee1275/init.c: ... to here. Update all users.
13225
13226 * kern/powerpc/ieee1275/cmain.c: Move from here ...
13227 * kern/ieee1275/cmain.c: ... to here. Update all users.
13228
13229 * kern/powerpc/ieee1275/openfw.c: Move from here ...
13230 * kern/ieee1275/openfw.c: ... to here. Update all users.
13231
13232 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
13233 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
13234
322562ea 132352008-04-10 Pavel Roskin <proski@gnu.org>
13236
13237 * configure.ac: Always use "_cv_" in cache variables for
13238 compatibility with Autoconf 2.62.
13239
a02a73c5 132402008-04-07 Robert Millan <rmh@aybabtu.com>
13241
13242 Revert grub/machine/init.h addition by Pavel (since it breaks on
13243 i386-ieee1275 and others):
13244 * util/i386/pc/misc.c: Remove grub/machine/init.h.
13245 * util/powerpc/ieee1275/misc.c: Likewise.
13246
25c024b1 132472008-04-07 Robert Millan <rmh@aybabtu.com>
13248
13249 * util/grub-probe.c (probe): Improve error message.
13250
3cbd2f98 132512008-04-07 Robert Millan <rmh@aybabtu.com>
13252
13253 * util/biosdisk.c (read_device_map): Skip devices that don't exist
13254 (this prevents the presence of a bogus entry from ruining the whole
13255 thing).
13256
87a297bf 132572008-04-06 Pavel Roskin <proski@gnu.org>
13258
36747a62 13259 * util/biosdisk.c: Include grub/util/biosdisk.h.
13260 * util/grub-fstest.c (execute_command): Make static.
13261 * util/grub-mkdevicemap.c (check_device): Likewise.
13262 * util/i386/pc/misc.c: Include grub/machine/init.h.
13263 * util/powerpc/ieee1275/misc.c: Likewise.
13264 * util/lvm.c: Include grub/util/lvm.h.
13265 * util/misc.c: Include grub/kernel.h, grub/misc.h and
13266 grub/cache.h.
13267 * util/raid.c: Include grub/util/raid.h.
13268 (grub_util_getdiskname): Make static.
13269
87a297bf 13270 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
13271 grub_hostfs_fini(), as they are called from grub_init_all() and
13272 grub_fini_all() respectively. This fixes an infinite loop in
13273 grub-fstest due to double registration of hostfs.
13274 Reported by Christian Franke <Christian.Franke@t-online.de>
13275
f6ce7629 132762008-04-05 Pavel Roskin <proski@gnu.org>
13277
13278 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
13279 all 8 functions. Otherwise, probe function 0 only.
13280
070e49e4 132812008-04-04 Pavel Roskin <proski@gnu.org>
13282
8b088a4c 13283 * commands/lspci.c (grub_lspci_iter): Print the bus number
13284 correctly.
13285
4f657021 13286 * commands/lspci.c (grub_pci_classes): Fix typos.
13287 (grub_lspci_iter): Don't print func twice. Print vendor ID
13288 before device ID, as it's normally done.
13289
070e49e4 13290 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13291 Fix signedness warnings.
13292 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
13293 Likewise.
13294 * util/ieee1275/get_disk_name.c: Include config.h so that
13295 _GNU_SOURCE is defined and getline() is declared. Mark an
13296 unused argument as such. Fix a signedness warning.
13297
ba7328dc 132982008-04-02 Pavel Roskin <proski@gnu.org>
13299
26887f22 13300 * genkernsyms.sh.in: Use more robust assignments for CC and
13301 srcdir. Quote srcdir.
13302 * gensymlist.sh.in: Likewise. Assert at the compile time that
13303 the symbol table is not empty.
13304
ba7328dc 13305 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
13306 * fs/cpio.c (grub_cpio_read): Likewise.
13307
0f582c6b 133082008-04-01 Pavel Roskin <proski@gnu.org>
13309
4b6e1995 13310 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
13311 * disk/host.c (grub_host_open): Likewise.
13312 * disk/loopback.c (grub_loopback_open): Likewise.
13313 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
13314 disk->id as in disk/host.c, not a multi-character constant.
13315
828a2768 13316 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
13317 later is obsolete, potentially dangerous and sets a bad example.
13318 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
13319 * util/misc.c (grub_util_get_image_size): Likewise.
13320
2bb4fb47 13321 * disk/loopback.c (options): Improve help for "--partitions".
13322
0f582c6b 13323 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
13324 options to align them with the short options, e.g. "echo -e".
13325
a33224e0 133262008-03-31 Bean <bean123ch@gmail.com>
13327
13328 * video/reader/png.c (grub_png_data): New member is_16bit and
13329 image_data.
13330 (grub_png_decode_image_header): Detect 16 bit png image.
13331 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
13332 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
13333 (grub_video_reader_png): Release memory occupied by image_data.
13334
13335 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
13336 4096 bytes.
13337 (grub_nfs_mount): Skip the test for sector per cluster.
13338
13339 * include/grub/ntfs.h (MAX_SPC): Removed.
13340
86cb4f54 133412008-03-31 Bean <bean123ch@gmail.com>
13342
13343 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
13344 (grub_probe_SOURCES): Add fs/afs.c.
13345 (grub_fstest_SOURCES): Likewise.
13346 (afs_mod_SOURCES): New variable.
13347 (afs_mod_CFLAGS): Likewise.
13348 (afs_mod_LDFLAGS): Likewise.
13349
13350 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
13351 (grub_emu_SOURCES): Likewise.
13352
13353 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13354
13355 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13356
13357 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13358
13359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13360
13361 * fs/afs.c: New file.
13362
17c74c21 133632008-03-30 Pavel Roskin <proski@gnu.org>
13364
4cb68e89 13365 * disk/host.c: Include grub/misc.h to fix a warning.
13366 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
13367 warnings about implicit declarations.
13368
8790bb04 13369 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
13370 variable.
13371 * include/grub/i386/loader.h: Change declaration of
13372 grub_linux_boot() to match what grub_loader_set() expects.
13373 * util/getroot.c (grub_guess_root_device): Return const char* to
13374 fix a warning.
13375 * util/grub-probe.c (probe): Fix a warning about uninitialized
13376 abstraction_name variable.
13377 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
13378 second argument as unused to fix a warning.
13379
9a3f3296 13380 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
13381 missing grub_error() call.
13382
0ecef90d 13383 * util/update-grub_lib.in: Define datarootdir, since Autoconf
13384 2.60 and newer uses it to define datadir.
13385
0bf6d401 13386 * commands/sleep.c: Fix warning about implicit declaration.
13387 * disk/memdisk.c: Likewise.
13388 * loader/aout.c: Likewise.
13389 * loader/i386/bsd_normal.c: Likewise.
13390 * util/grub-probe.c: Likewise.
13391
7cdacf97 13392 * commands/i386/cpuid.c (has_longmode): Make static.
13393 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
13394 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
13395
17c74c21 13396 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
13397 GDT. This is more robust, as %ds can change.
13398 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
13399 calling real_to_prot().
13400 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
13401
80a3e68b 134022008-03-28 Pavel Roskin <proski@gnu.org>
13403
13404 * kern/i386/pc/startup.S: Assert that uncompressed functions
13405 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
13406 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
13407 code, as they push parts of the code (error handlers) beyond
13408 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
13409 code as correctness and size.
13410
77bcd272 134112008-03-28 Pavel Roskin <proski@gnu.org>
13412
13413 * kern/i386/pc/startup.S
13414 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
13415 data block address to the real mode, keep offset minimal. This
13416 works around a bug in AWARD BIOS on old Athlon systems, which
13417 makes CD detection hang.
13418
c5dfd43b 134192008-03-26 Pavel Roskin <proski@gnu.org>
13420
13421 * normal/color.c (grub_parse_color_name_pair): Make `name' a
13422 const.
13423 * include/grub/normal.h: Add grub_parse_color_name_pair()
13424 declaration.
13425
bf962df2 134262008-03-24 Bean <bean123ch@gmail.com>
13427
13428 * disk/i386/pc/biosdisk.c (cd_start): Removed.
13429 (cd_count): Removed.
13430 (cd_drive): New variable.
13431 (grub_biosdisk_get_drive): Don't check for (cdN) device.
13432 (grub_biosdisk_call_hook): Likewise.
13433 (grub_biosdisk_iterate): Change cdrom detection method.
13434 (grub_biosdisk_open): Replace cd_start with cd_drive.
13435 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
13436 detect cdrom device.
13437
13438 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
13439 Removed.
13440 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
13441 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
13442 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
13443 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
13444 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
13445 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
13446 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
13447 (grub_biosdisk_cdrp): New structure.
13448 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
13449
13450 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
13451
13452 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
13453 device.
13454
13455 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
13456 New function.
13457
68e7fc7a 134582008-03-20 Robert Millan <rmh@aybabtu.com>
13459
13460 Remove 2 TiB limit in ata.mod.
13461 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
13462 (grub_ata_dumpinfo): Print sector count with 0x%llx.
13463 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
13464 grub_uint64_t instead of grub_uint32_t.
13465
38ad2cf5 134662008-03-05 Bean <bean123ch@gmail.com>
13467
13468 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
13469 (grub_multiboot): Set boot device.
13470
13471 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
13472
2b89344e 134732008-03-02 Bean <bean123ch@gmail.com>
13474
13475 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
13476 symlink_buffer.
13477
87a95d1f 134782008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
13479
13480 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
13481 texinfo.tex.
13482
13483 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
13484 modified.
13485
13486 * docs/fdl.texi: New file.
f19dbdb7 13487
87a95d1f 13488 * docs/mdate-sh: New file. Copied from gnulib.
13489 * docs/texinfo.tex: Likewise.
13490
13491 * config.guess: Updated from gnulib.
13492 * install-sh: Likewise.
13493
7dc15d8e 134942008-02-28 Robert Millan <rmh@aybabtu.com>
13495
13496 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
13497 (aout_mod_SOURCES): New variable.
13498 (aout_mod_CFLAGS): Likewise.
13499 (aout_mod_LDFLAGS): Likewise.
13500
13501 * conf/i386-ieee1275.rmk: Likewise.
13502
b00ab696 135032008-02-28 Robert Millan <rmh@aybabtu.com>
13504
13505 * util/update-grub.in: Reorganise terminal validity check. Accept
13506 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
13507 Based on suggestion by Franklin PIAT.
13508
79ca2d78 135092008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
13510
13511 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
13512 function.
13513 * util/getroot.c (grub_util_check_block_device): New function that
13514 returns the given argument if it is a block device and returns NULL else.
13515 * util/grub-probe.c (argument_is_device): New variable.
13516 (probe): Promote device_name from a variable to an argument. Receive
13517 device_name from grub_util_check_block_device() if path is NULL and from
13518 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 13519 (options): Introduce new parameter '-d, --device'.
79ca2d78 13520 (main): Add description of the new parameter to the help screen.
13521 Rename path variable to argument. Set argument_is_device if the '-d'
13522 option is given. Pass argument to probe() depending on
13523 argument_is_device.
13524
0d16e571 135252008-02-24 Bean <bean123ch@gmail.com>
13526
13527 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
13528 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
13529 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
13530 (GRUB_ISO9660_VOLDESC_PART): Likewise.
13531 (GRUB_ISO9660_VOLDESC_END): Likewise.
13532 (grub_iso9660_primary_voldesc): New member escape.
13533 (grub_iso9660_data): New member joliet.
13534 (grub_iso9660_convert_string): New function.
13535 (grub_iso9660_mount): Detect joliet extension.
13536 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
13537 (grub_iso9660_iso9660_label): Likewise.
13538
13539 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
13540 (grub_setup_SOURCES): Add fs/udf.c.
13541 (grub_fstest_SOURCES): Likewise.
13542 (udf_mod_SOURCES): New variable.
13543 (udf_mod_CFLAGS): Likewise.
13544 (udf_mod_LDFLAGS): Likewise.
13545
13546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
13547 (grub_emu_SOURCES): Likewise.
13548
13549 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13550
13551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13552
13553 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13554
13555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13556
13557 * fs/udf.c: New file.
13558
8a594a17 135592008-02-24 Robert Millan <rmh@aybabtu.com>
13560
13561 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
13562 (normal/lexer.c_DEPENDENCIES): New variables.
13563 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13564 (normal/lexer.c_DEPENDENCIES): Likewise.
13565 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
13566 (normal/lexer.c_DEPENDENCIES): Likewise.
13567 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
13568 (normal/lexer.c_DEPENDENCIES): Likewise.
13569 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13570 (normal/lexer.c_DEPENDENCIES): Likewise.
13571 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13572 (normal/lexer.c_DEPENDENCIES): Likewise.
13573
2dc33c03 135742008-02-23 Robert Millan <rmh@aybabtu.com>
13575
13576 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
13577 since they were intended to be in hex. This didn't break previously
13578 because of a bug in gpt_partition_map_iterate() (see below).
13579
13580 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
13581 when checking the validity of GPT header.
13582 Remove `partno', since it always provides the same information as `i'.
13583
f6f4cfb0 135842008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
13585
13586 * include/grub/efi/time.h: Fix a wrong comment.
13587
79ff665f 135882008-02-19 Pavel Roskin <proski@gnu.org>
13589
13590 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
13591 message.
13592
d38e24c2 135932008-02-19 Bean <bean123ch@gmail.com>
13594
13595 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
13596 (aout_mod_SOURCES): New variable.
13597 (aout_mod_CFLAGS): Likewise.
13598 (aout_mod_LDFLAGS): Likewise.
13599 (_bsd_mod_SOURCES): New variable.
13600 (_bsd_mod_CFLAGS): Likewise.
13601 (_bsd_mod_LDFLAGS): Likewise.
13602 (bsd_mod_SOURCES): New variable.
13603 (bsd_mod_CFLAGS): Likewise.
13604 (bsd_mod_LDFLAGS): Likewise.
13605
13606 * include/grub/aout.h: New file.
13607
13608 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
13609
13610 * include/grub/i386/bsd.h: New file.
13611
13612 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
13613 to make it public.
13614
13615 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
13616 function is called, so that it's possible to change it inside the hook.
13617 (grub_elf64_load): Likewise.
13618 (grub_elf_file): Don't close the file if elf header is not found.
13619 (grub_elf_close): Close the file if grub_elf_file fails (The new
13620 grub_elf_file won't close it).
13621 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
13622 (grub_elf64_size): Likewise.
13623
13624 * kern/i386/loader.S (grub_unix_real_boot): New function.
13625
13626 * loader/aout.c: New file.
13627
13628 * loader/i386/bsd.c: New file.
13629
13630 * loader/i386/bsd_normal.c: New file.
13631
13632 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
13633
13634 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 13635 can test other formats.
d38e24c2 13636
b93bdb0f 136372008-02-19 Robert Millan <rmh@aybabtu.com>
13638
13639 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
13640 (grub_gpt_partition_type_empty): Redefine with macro from
13641 `<grub/gpt_partition.h>'.
13642 (gpt_partition_map_iterate): Adjust partition type comparison.
13643
13644 Export `entry' as partmap-specific `part.data' struct.
13645 (grub_gpt_header, grub_gpt_partentry): Move from here ...
13646
13647 * include/grub/gpt_partition.h (grub_gpt_header)
13648 (grub_gpt_partentry): ... to here (new file).
13649
13650 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
13651
13652 (grub_gpt_partition_type_bios_boot): New const variable, defined
13653 with macro from `<grub/gpt_partition.h>'.
13654
13655 (setup): Replace `first_start' with `embed_region', which keeps
13656 track of the embed region (and is partmap-agnostic).
13657
13658 Replace find_first_partition_start() with find_usable_region(),
13659 which finds a usable region for embedding using partmap-specific
13660 knowledge (supports PC/MSDOS and GPT).
13661
13662 Fix all assumptions that the embed region start at sector 1, using
13663 `embed_region.start' from now on. Similarly, use `embed_region.end'
13664 rather than `first_start' to calculate available size.
13665
13666 In grub_util_info() message, replace "into after the MBR" with an
13667 indication of the specific sector our embed region starts at.
13668
66cb40f6 136692008-02-19 Robert Millan <rmh@aybabtu.com>
13670
13671 * DISTLIST: Replace `commands/ieee1275/halt.c' and
13672 `commands/ieee1275/reboot.c' with `commands/halt.c' and
13673 `commands/reboot.c'.
13674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13675 (halt_mod_SOURCES): Likewise.
13676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13677 (halt_mod_SOURCES): Likewise.
13678
b7202015 136792008-02-17 Christian Franke <franke@computer.org>
13680
13681 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
13682
32b0fc49 136832008-02-17 Robert Millan <rmh@aybabtu.com>
13684
13685 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13686 set `first_start' to 0 for non-PC/MSDOS partition maps.
13687
aca63502 136882008-02-16 Robert Millan <rmh@aybabtu.com>
13689
13690 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13691 do not assume partition map is PC/MSDOS before performing checks that
13692 are specific to that layout.
13693
0de8be86 136942008-02-13 Robert Millan <rmh@aybabtu.com>
13695
13696 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
13697 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
13698 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
13699
c3db8364 137002008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
13701
13702 * configure.ac: Only a cosmetic change on the handling of
13703 -fno-stack-protector.
13704
f714229e 137052008-02-12 Alexandre Boeglin <alex@boeglin.org>
13706
c3db8364 13707 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
13708 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
13709 reboot.c.
f714229e 13710 (grub_install_SOURCES): Add halt.mod and reboot.mod.
13711 (halt_mod_SOURCES): New variable.
13712 (halt_mod_CFLAGS): Likewise.
13713 (halt_mod_LDFLAGS): Likewise.
13714 (reboot_mod_SOURCES): Likewise.
13715 (reboot_mod_CFLAGS): Likewise.
13716 (reboot_mod_LDFLAGS): Likewise.
13717
c3db8364 13718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
13719 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
13720 reboot.c.
f714229e 13721 (halt_mod_SOURCES): Likewise.
13722 (reboot_mod_SOURCES): Likewise.
13723
c3db8364 13724 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
13725 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 13726 (reboot_mod_SOURCES): Likewise.
13727
13728 * commands/i386/pc/reboot.c: merge this file ...
13729
13730 * commands/ieee1275/reboot.c: ... and this file ...
13731
13732 * commands/reboot.c: ... to this file.
c3db8364 13733 Add some precompiler directive to include the correct header for
13734 each machine.
f714229e 13735
13736 * commands/ieee1275/halt.c: move this file ...
13737
13738 * commands/halt.c: ... to here.
c3db8364 13739 Add some precompiler directive to include the correct header for
13740 each machine.
f714229e 13741
13742 * include/grub/efi/efi.h (grub_reboot): New function declaration.
13743 (grub_halt): Likewise.
13744
13745 * kern/efi/efi.c (grub_reboot): New function.
13746 (grub_halt): Likewise.
13747
c74493e0 137482008-02-12 Robert Millan <rmh@aybabtu.com>
13749
13750 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
13751 /dev (like it is done for /dev/mapper). This doesn't provide support
13752 for EVMS, but at least it is now easy to identify the problem when it
13753 arises.
13754
d0db4b04 137552008-02-11 Robert Millan <rmh@aybabtu.com>
13756
13757 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
13758 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
13759 comparing it with -1, not 0.
13760
bf748642 137612008-02-10 Robert Millan <rmh@aybabtu.com>
13762
13763 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
13764 `disk/lvm.c'.
13765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13766 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13767
13768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
13769 `disk/lvm.c' to the end of the list.
13770 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13771 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13772
b5db202a 137732008-02-10 Robert Millan <rmh@aybabtu.com>
13774
13775 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
13776 grub_print_error() instead. This will let user know why we're entering
13777 rescue mode.
13778 Based on suggestions from Sam Morris.
13779
83abee31 137802008-02-10 Alexandre Boeglin <alex@boeglin.org>
13781
13782 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
13783 on remaining N args, instead of "--" arg N times.
13784
78d5a08b 137852008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
13786
13787 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
13788 (fill_with_default_glyph): Changed to use unknown_glyph for fill
13789 pattern for unknown glyphs.
13790
68807e5f 137912008-02-09 Robert Millan <rmh@aybabtu.com>
13792
13793 * configure.ac: Probe for `help2man'.
13794 * Makefile.in (builddir): New variable.
13795 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
13796 or otherwise add a few flags/options to it.
13797 (install-local): For every executable utility or script that is
13798 installed, invoke $(HELP2MAN) to install a manpage based on --help
13799 output.
13800
13801 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
13802 that it doesn't prevent --help from working in build tree.
13803
13804 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
13805 with `bug-grub@gnu.org'.
13806 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
13807 * util/update-grub.in (usage): New function.
13808 Implement proper argument check, with support for --help and --version
13809 (as well as existing -y).
13810
138112008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 13812
13813 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
13814 avoid overwriting previous output.
13815 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
13816
c1962162 138172008-02-09 Robert Millan <rmh@aybabtu.com>
13818
13819 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
13820 drawing the menu.
13821
3dac2e3f 138222008-02-09 Robert Millan <rmh@aybabtu.com>
13823
13824 * commands/sleep.c: New file.
13825 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
13826 (sleep_mod_SOURCES): New variable.
13827 (sleep_mod_CFLAGS): Likewise.
13828 (sleep_mod_LDFLAGS): Likewise.
13829
7a634e08 138302008-02-09 Robert Millan <rmh@aybabtu.com>
13831
13832 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
13833 situations in which we can deduce the RAID size and the superblock
13834 doesn't match it.
13835
b92f0c18 138362008-02-09 Robert Millan <rmh@aybabtu.com>
13837
13838 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
13839 and return a grub_diskmemberlist_t composed of LVM physical volumes.
13840 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
13841
13842 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
13843 and return a grub_diskmemberlist_t composed of physical array members.
13844 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
13845
13846 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
13847 prototype.
13848 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
13849 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
13850 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
13851
13852 * util/grub-probe.c (probe): Move partmap probing code from here ...
13853 (probe_partmap): ... to here.
13854 (probe): Use probe_partmap() once for the disk we're probing, and
13855 additionally, when such disk contains a memberlist() struct member,
13856 once for each disk that is contained in the structure returned by
13857 memberlist().
13858
91a4bf68 138592008-02-09 Robert Millan <rmh@aybabtu.com>
13860
13861 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
13862 environment variable to 'all' in order to obtain debug output from
13863 non-util/ code.
13864 * util/i386/pc/grub-setup.c (main): Likewise.
13865
a96f9caa 138662008-02-08 Robert Millan <rmh@aybabtu.com>
13867
13868 * disk/raid.c (grub_raid_scan_device): Check for
13869 `array->device[sb.this_disk.number]' rather than for
13870 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 13871 guaranteed to be accessible.
a96f9caa 13872
b37a9222 138732008-02-08 Robert Millan <rmh@aybabtu.com>
13874
13875 * disk/raid.c: Update copyright.
13876 * fs/cpio.c: Likewise.
13877 * include/grub/raid.h: Likewise.
13878 * loader/i386/pc/multiboot.c: Likewise.
13879 * util/hostfs.c: Likewise.
13880
5626aee1 138812008-02-08 Robert Millan <rmh@aybabtu.com>
13882
13883 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
13884 to a grub_disk_t array.
13885 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
13886 `device[x]'.
13887 (grub_raid_scan_device): Replace `device[x].name' accesses with
13888 `device[x]->name'. Simplify initialization of `array->device[x]'.
13889
554f0187 138902008-02-08 Robert Millan <rmh@aybabtu.com>
13891
13892 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
13893 grub_dprintf() calls.
13894 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
13895 error message.
13896
1ec8425d 138972008-02-07 Christian Franke <franke@computer.org>
13898
13899 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
13900 instead of fseek and ftell to support large files.
13901 (grub_hostfs_read): Likewise.
13902
f2156fda 139032008-02-07 Robert Millan <rmh@aybabtu.com>
13904
13905 Patch from Jeroen Dekkers.
13906 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 13907 failure, since successfully reading all array members might not be
f2156fda 13908 required.
13909
9216e0e7 139102008-02-06 Robert Millan <rmh@aybabtu.com>
13911
13912 * util/grub-probe.c (probe): Simplify partmap probing (with the
13913 assumption that the first word up to the underscore equals to
13914 the module name).
13915
b0dfd29a 139162008-02-06 Christian Franke <franke@computer.org>
13917
13918 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13919 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13920 last block of a cpio or tar stream.
13921 Check for "TRAILER!!!" instead of any empty data
13922 block to detect last block of a cpio stream.
13923 (grub_cpio_dir): Fix constness of variable np.
13924 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13925 cpio or tar trailer is detected. This fixes a crash
13926 on open of a non existing file.
13927
c32865bf 139282008-02-05 Bean <bean123ch@gmail.com>
13929
13930 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13931 address of entry.
13932 (grub_multiboot_load_elf64): Likewise.
13933 (grub_multiboot): Initialize mbi structure.
13934
13935 * util/grub-fstest.c: Don't include unused header file script.h.
13936
fe6b695a 13937 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13938 of file.
13939 (grub_fstest_SOURCES): Likewise.
13940
409480b7 139412008-02-05 Robert Millan <rmh@aybabtu.com>
13942
13943 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13944 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13945 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13946 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13947
13948 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13949 (translation_table): Replace hardcoded values with macros
13950 provided by `<grub/term.h>'.
13951
13952 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13953 (keyboard_map): Correct/add a few values, with macros provided
13954 by `<grub/term.h>'.
13955 (keyboard_map_shift): Zero values that don't differ from their
13956 `keyboard_map' equivalents.
13957 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13958 Discard the second scan code that is always sent by Caps lock.
13959 Only use `keyboard_map_shift' when it provides a non-zero value,
13960 otherwise fallback to `keyboard_map'.
13961
99fadbaa 139622008-02-04 Bean <bean123ch@gmail.com>
13963
13964 * Makefile.in (enable_grub_fstest): New variable.
13965
13966 * conf/common.rmk (grub_fstest_init.lst): New rule.
13967 (grub_fstest_init.h): Likewise.
13968 (grub_fstest_init.c): Likewise.
13969 (util/grub-fstest.c_DEPENDENCIES): New variable.
13970 (grub_fstest_SOURCES): Likewise.
13971
13972 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13973
13974 * util/grub-fstest.c: New file.
13975
bf567c50 139762008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13977
13978 Make grub-setup handle a separate root device.
f19dbdb7 13979
bf567c50 13980 * util/i386/pc/grub-setup.c (setup): Always open the root device,
13981 so that the root device can be compared with the destination
13982 device.
13983 When embedding the core image, if the root and destination devices
13984 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
13985 0xFF.
13986 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 13987
9be6b98b 139882008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13989
13990 Add support for having a grub directory in a different drive. This
13991 is still only the data handling part.
f19dbdb7 13992
9be6b98b 13993 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
13994 (codestart): Save %dh in GRUB_ROOT_DRIVE.
13995 (grub_root_drive): New variable.
13996
13997 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
13998 instead of GRUB_BOOT_DRIVE to construct a device name. Set
13999 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14000 as it was.
14001
14002 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14003
14004 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14005 macro.
14006 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14007
14008 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14009 is bogus, because PXE booting does not specify any drive
14010 correctly.
14011
14012 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14013 am not sure if this is really correct.
14014
14015 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14016 is always identical to the boot drive when booting from a CD.
14017
14018 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14019 longer.
14020 (root_drive): New variable.
14021 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14022 (setup_sectors): Push %dx right after popping it, because %dh will
14023 be modified later.
14024 (copy_buffer): Restore %dx.
14025
e0ca0677 140262008-02-03 Robert Millan <rmh@aybabtu.com>
14027
14028 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14029 use `cdboot.img' for cdrom images.
14030
3b3f6629 140312008-02-03 Robert Millan <rmh@aybabtu.com>
14032
14033 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14034 only setup gfxterm when `font' command has succeeded.
14035
d42b3672 140362008-02-03 Robert Millan <rmh@aybabtu.com>
14037
14038 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14039 (grub_rescue_cmd_multiboot_loader)
14040 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14041
fa370ea6 140422008-02-03 Pavel Roskin <proski@gnu.org>
14043
e0c5dacb 14044 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14045 %edx and %esi from stack only after grub_gate_a20() is called.
14046 grub_gate_a20() clobbers %edx.
14047
f2a76e1d 140482008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14049
14050 * configure.ac (AC_INIT): Bumped to 1.96.
14051
14052 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14053 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14054 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14055 video/readers/png.c.
14056
90fd32d1 140572008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14058
14059 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14060 (cdboot_img_SOURCES): New variable.
14061 (cdboot_img_ASFLAGS): New variable.
14062 (cdboot_img_LDFLAGS): New variable.
14063
14064 * boot/i386/pc/cdboot.S: New file.
14065
14066 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14067 (cd_count): Likewise.
14068 (grub_biosdisk_get_drive): Add support for cd device.
14069 (grub_biosdisk_call_hook): Likewise.
14070 (grub_biosdisk_iterate): Likewise.
14071 (grub_biosdisk_open): Likewise.
14072 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14073 (grub_biosdisk_rw): Support reading from cd device.
14074 (GRUB_MOD_INIT): Iterate cd devices.
14075
14076 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14077 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14078 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14079
14080 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14081
4020aa53 140822008-02-02 Robert Millan <rmh@aybabtu.com>
14083
14084 * commands/read.c: New file.
14085 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
14086 (read_mod_SOURCES): New variable.
14087 (read_mod_CFLAGS): Likewise.
14088 (read_mod_LDFLAGS): Likewise.
14089
e03a1132 140902008-02-02 Robert Millan <rmh@aybabtu.com>
14091
14092 * normal/main.c (grub_normal_execute): Check for `menu->size' when
14093 determining whether menu has to be displayed.
14094
58c69220 140952008-02-02 Marco Gerards <marco@gnu.org>
14096
14097 * bus/pci.c: New file.
14098
14099 * include/grub/pci.h: Likewise.
14100
14101 * include/grub/i386/pc/pci.h: Likewise.
14102
14103 * commands/lspci.c: Likewise.
14104
14105 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
14106 `lspci.mod'.
14107 (pci_mod_SOURCES): New variable.
14108 (pci_mod_CFLAGS): Likewise.
14109 (pci_mod_LDFLAGS): Likewise.
14110 (lspci_mod_SOURCES): Likewise.
14111 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 14112 (lspci_mod_LDFLAGS): Likewise.
58c69220 14113
c004e1b4 141142008-02-02 Bean <bean123ch@gmail.com>
14115
14116 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
14117 (grub_ufs_get_file_block): Fix indirect block calculation problem.
14118
14119 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
14120 (grub_xfs_btree_node): New structure.
14121 (grub_xfs_btree_root): New structure.
14122 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
14123 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
14124 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14125 (GRUB_XFS_EXTENT_SIZE): Likewise.
14126 (grub_xfs_read_block): Support btree format type.
14127 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
14128 Use directory block as basic unit.
14129
14130 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
14131
14132 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
14133 __attribute__ ((__regparm__ (1))).
14134
f95562bf 141352008-02-01 Robert Millan <rmh@aybabtu.com>
14136
14137 Correct a mistake in previous commit.
14138
14139 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
14140 top.
14141 (normal/command.c_DEPENDENCIES): New variable.
14142
7d31f41f 141432008-02-01 Robert Millan <rmh@aybabtu.com>
14144
14145 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
14146 top.
14147 (normal/command.c_DEPENDENCIES): New variable.
14148 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
14149 * conf/i386-ieee1275.rmk: Likewise.
14150 * conf/i386-linuxbios.rmk: Likewise.
14151 * conf/i386-pc.rmk: Likewise.
14152 * conf/sparc64-ieee1275.rmk: Likewise.
14153 * conf/powerpc-ieee1275.rmk: Likewise.
14154 (grub_emu_SOURCES): Add `fs/fshelp.c'.
14155
14156 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
14157
60b6be74 141582008-02-01 Robert Millan <rmh@aybabtu.com>
14159
14160 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
14161 call at beginning of function.
14162
078522ab 141632008-01-31 Pavel Roskin <proski@gnu.org>
14164
14165 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 14166 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
14167 (grub_mkrescue_SOURCES): Likewise.
078522ab 14168 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
14169
ccaa8a5f 141702008-01-30 Robert Millan <rmh@aybabtu.com>
14171
14172 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
14173 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
14174 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
14175 (grub_probe_SOURCES): ... to here.
14176
14177 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
14178 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
14179 * conf/i386-ieee1275.rmk: Likewise.
14180 * conf/i386-linuxbios.rmk: Likewise.
14181 * conf/powerpc-ieee1275.rmk: Likewise.
14182
ae5a9cd7 141832008-01-30 Tristan Gingold <gingold@free.fr>
14184
14185 * kern/rescue.c: Silently accept empty lines.
14186
70bc2ef2 141872008-01-29 Bean <bean123ch@gmail.com>
14188
14189 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
14190 (real_code_2): Code cleanup and change comment style.
14191 (move_memory): Avoid using 32-bit address mode.
14192
6a4d50ea 141932008-01-29 Bean <bean123ch@gmail.com>
14194
14195 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
14196 (png_mod_SOURCES): New variable.
14197 (png_mod_CFLAGS): Likewise.
14198 (png_mod_LDFLAGS): Likewise.
14199
14200 * video/readers/png.c: New file.
14201
11cc30ac 142022008-01-28 Robert Millan <rmh@aybabtu.com>
14203
14204 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
14205 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
14206 `ifndef GRUB_MOD_GAP' hack.
14207 * util/elf/grub-mkimage.c (add_segments): Likewise.
14208
3abc589f 142092008-01-27 Robert Millan <rmh@aybabtu.com>
14210
14211 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
14212 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 14213 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 14214
e1907778 142152008-01-27 Robert Millan <rmh@aybabtu.com>
14216
14217 Get grub-emu to build again (including parallel builds).
14218
14219 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
14220 Split into ...
14221 (util/grub-emu.c_DEPENDENCIES): ... this, ...
14222 (normal/execute.c_DEPENDENCIES): ... this, ...
14223 (grub-emu_DEPENDENCIES): ... and this.
14224
14225 * conf/i386-efi.rmk: Likewise.
14226 * conf/i386-linuxbios.rmk: Likewise.
14227 * conf/i386-ieee1275.rmk: Likewise.
14228 * conf/powerpc-ieee1275.rmk: Likewise.
14229 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
14230
2216b101 142312008-01-27 Robert Millan <rmh@aybabtu.com>
14232
14233 * NEWS: Add a few items.
14234
f75172d9 142352008-01-27 Robert Millan <rmh@aybabtu.com>
14236
14237 Fix parallel builds with grub-emu. Based on earlier commit for
14238 grub-probe and grub-setup.
14239
14240 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14241 (util/grub-emu.c_DEPENDENCIES): ... this.
14242 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14243 (util/grub-emu.c_DEPENDENCIES): ... this.
14244 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14245 (util/grub-emu.c_DEPENDENCIES): ... this.
14246 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14247 (util/grub-emu.c_DEPENDENCIES): ... this.
14248 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14249 (util/grub-emu.c_DEPENDENCIES): ... this.
14250
3f51de77 142512008-01-27 Pavel Roskin <proski@gnu.org>
14252
14253 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
14254 to create a gap between _end and the modules added to the image
14255 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
14256 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
14257 * util/elf/grub-mkimage.c (add_segments): Likewise.
14258
2033f53e 142592008-01-26 Pavel Roskin <proski@gnu.org>
14260
14261 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
14262 just return an error.
14263
22da1f6f 142642008-01-26 Bean <bean123ch@gmail.com>
14265
14266 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
14267 (grub_reiserfs_get_item): Save offset of the next item.
14268 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
14269
2a9525e6 142702008-01-25 Robert Millan <rmh@aybabtu.com>
14271
14272 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
14273 make all filesystem sources appear together (possibly fixing omissions
14274 while at it).
14275 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14276 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14277 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14279
14280 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
14281 add `kern/file.c'.
14282 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
14283 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14284 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
14285 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
14286
14287 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
14288 (probe): Add a sanity check to make sure of our ability to read
14289 requested files when probing for filesystem type.
14290
14291 * genmk.rb: Update copyright year (2007).
14292
14293 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
14294 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
14295 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
14296 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
14297 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
14298 : Remove function prototypes.
14299
b95f71b5 143002008-01-25 Robert Millan <rmh@aybabtu.com>
14301
14302 Revert my previous commits (based on wrong assumption of how grub_errno
14303 works).
14304
fe6b695a 14305 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 14306 * kern/file.c (grub_file_open): Likewise.
14307
d08bbb49 143082008-01-24 Pavel Roskin <proski@gnu.org>
14309
14310 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
14311 that hang if GRUB tries to setup colors.
14312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
14313 colors for firmwares that don't support it.
14314 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
14315 Recognize Open Hack'Ware, set flags to work around its
14316 limitations.
14317
605e36ed 143182008-01-24 Robert Millan <rmh@aybabtu.com>
14319
14320 * kern/file.c (grub_file_open): Do not account previous failures of
14321 unrelated functions when grub_errno is checked for.
14322 Reported by Oleg Strikov.
14323
bac332a1 143242008-01-24 Bean <bean123ch@gmail.com>
14325
14326 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
14327 (grub_ufs_sblock): New member volume name.
14328 (grub_ufs_find_file): Fix string copy bug.
14329 (grub_ufs_label): Implement this function properly.
14330
14331 * fs/hfs.c (grub_hfs_cnid_type): New enum.
14332 (grub_hfs_iterate_records): Use the correct file number for extents
14333 and catalog file. Fix problem in next index calculation.
14334 (grub_hfs_find_node): Replace recursive function call with loop.
14335 (grub_hfs_iterate_dir): Replace recursive function call with loop.
14336
15c80c09 143372008-01-23 Robert Millan <rmh@aybabtu.com>
14338
14339 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
14340 `<grub/symbol.h>' and `<grub/multiboot.h>'.
14341 (grub_multiboot2_real_boot): New function prototype.
14342
14343 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
14344 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
14345
14346 * kern/i386/ieee1275/init.c (grub_os_area_addr)
14347 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
14348
305338fd 143492008-01-23 Robert Millan <rmh@aybabtu.com>
14350
14351 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
14352 #ifdef'ed out grub_printf().
14353
3ea52685 143542008-01-23 Robert Millan <rmh@aybabtu.com>
14355
14356 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
14357 grub_dprintf calls, since they make "debug=all" mode unusable.
14358 (grub_console_checkkey): Likewise.
14359
5882ae4b 143602008-01-23 Robert Millan <rmh@aybabtu.com>
14361
14362 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14363 `term/i386/pc/at_keyboard.c'.
14364 (pkglib_MODULES): Add `serial.mod'.
14365 (serial_mod_SOURCES): New variable.
14366 (serial_mod_CFLAGS): Likewise.
14367 (serial_mod_LDFLAGS): Likewise.
14368
14369 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
14370 `<grub/powerpc/ieee1275/console.h>'.
14371 (grub_keyboard_controller_init): New function prototype.
14372 (grub_console_checkkey): Likewise.
14373 (grub_console_getkey): Likewise.
14374
14375 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
14376 keyboard on i386.
14377
14378 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
14379 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
14380
06ab5303 143812008-01-23 Robert Millan <rmh@aybabtu.com>
14382
14383 * kern/i386/pc/init.c (make_install_device): When memdisk image is
14384 present, "(memdisk)/boot/grub" becomes the default prefix.
14385
14386 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
14387 a memdisk tarball with all the modules. Add --overlay=DIR option that
14388 allows users to overlay additional files into the image.
14389
dbb475a4 143902008-01-23 Robert Millan <rmh@aybabtu.com>
14391
14392 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
14393 and `machine/memory.h'.
14394 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
14395 (_multiboot_mod_SOURCES): New variable.
14396 (_multiboot_mod_CFLAGS): Likewise.
14397 (_multiboot_mod_LDFLAGS): Likewise.
14398 (multiboot_mod_SOURCES): Likewise.
14399 (multiboot_mod_CFLAGS): Likewise.
14400 (multiboot_mod_LDFLAGS): Likewise.
14401
14402 * include/grub/i386/ieee1275/loader.h: New file.
14403
14404 * include/grub/i386/ieee1275/machine.h: Likewise.
14405
14406 * include/grub/i386/ieee1275/memory.h: Likewise.
14407
14408 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
14409 variable declaration.
14410 (grub_os_area_size): Likewise.
14411
14412 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
14413 (grub_lower_mem, grub_upper_mem): New variables.
14414 (grub_stop_floppy): New function (just to make
14415 grub_multiboot2_real_boot() happy).
14416
14417 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
14418 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
14419 (grub_stop): New function.
14420 Include `"../realmode.S"' and `"../loader.S"'.
14421
14422 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
14423 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
14424
14425 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
14426 rely on grub_multiboot2_real_boot() for final boot.
14427
25638629 144282008-01-22 Robert Millan <rmh@aybabtu.com>
14429
14430 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
14431 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
14432 device that doesn't look like an SD card.
14433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14434 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
14435 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
14436 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
14437 found.
14438
9dad816d 144392008-01-22 Robert Millan <rmh@aybabtu.com>
14440
14441 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
14442 avoid claiming over our own code.
14443
34842f2d 144442008-01-22 Bean <bean123ch@gmail.com>
14445
14446 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
14447 (jpeg_mod_SOURCES): New variable.
14448 (jpeg_mod_CFLAGS): Likewise.
14449 (jpeg_mod_LDFLAGS): Likewise.
14450
14451 * video/readers/jpeg.c : New file.
14452
44023a28 144532008-01-22 Bean <bean123ch@gmail.com>
14454
14455 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
14456 there are no more items.
14457
bc2d8ac6 144582008-01-21 Robert Millan <rmh@aybabtu.com>
14459
14460 * kern/mm.c (grub_mm_init_region): Improve debug message.
14461
261bd4bc 144622008-01-21 Robert Millan <rmh@aybabtu.com>
14463
14464 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
14465 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
14466 address.
14467 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
14468 a C macro.
14469 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
14470 Indicates start of upper memory.
14471 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
14472 (generate_image): Abort when image size is big enough to corrupt
14473 upper memory.
14474
14475 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
14476 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
14477 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14478 instead of hardcoding 0xA0000.
14479 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
14480 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
14481 instead of hardcoding 0xA0000.
14482
f970b55e 144832008-01-21 Robert Millan <rmh@aybabtu.com>
14484
14485 * disk/memdisk.c (memdisk_size): New variable.
14486 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
14487 `memdisk_size'.
14488 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
14489 image to dynamic memory.
14490 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
14491 `memdisk_size'. Free memdisk block.
14492
1a8b0526 144932008-01-21 Robert Millan <rmh@aybabtu.com>
14494
14495 Fix detection of very small filesystems (like tar).
14496
14497 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
14498 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
14499 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
14500 a problem with this disk).
14501
6e9b4aab 145022008-01-21 Robert Millan <rmh@aybabtu.com>
14503
14504 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
14505 on grub_biosdisk_rw_standard() error.
14506
0d8837b2 145072008-01-21 Robert Millan <rmh@aybabtu.com>
14508
14509 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
14510 recent changes.
14511 * kern/elf.c: Likewise.
14512 * kern/ieee1275/ieee1275.c: Likewise.
14513 * kern/powerpc/ieee1275/openfw.c: Likewise.
14514 * term/ieee1275/ofconsole.c: Likewise.
14515
ffd36e34 145162008-01-21 Robert Millan <rmh@aybabtu.com>
14517
14518 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
14519
3f0093d0 14520 * include/grub/kernel.h (grub_arch_memdisk_addr)
14521 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 14522
3f0093d0 14523 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
14524 (grub_arch_memdisk_size): ... to here.
ffd36e34 14525
6c391b21 145262008-01-21 Robert Millan <rmh@aybabtu.com>
14527
14528 Mostly based on bugfix from Bean.
14529
14530 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
14531 attribute with hook() parameter.
14532 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
14533 declaration.
14534 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
14535 attribute with hook() parameter.
14536 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
14537 declaration.
14538
55a581dc 145392008-01-21 Robert Millan <rmh@aybabtu.com>
14540
14541 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
14542 (pkglib_MODULES): Add `memdisk.mod'.
14543 (memdisk_mod_SOURCES): New variable.
14544 (memdisk_mod_CFLAGS): Likewise.
14545 (memdisk_mod_LDFLAGS): Likewise.
14546
14547 * disk/memdisk.c: New file.
14548
14549 * include/grub/disk.h (grub_disk_dev_id): Add
14550 `GRUB_DISK_DEVICE_MEMDISK_ID'.
14551
14552 * include/grub/i386/pc/kernel.h
14553 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
14554 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
14555 (grub_kernel_image_size): New variable declaration.
14556 (grub_total_module_size): Likewise.
14557 (grub_memdisk_image_size): Likewise.
14558
14559 * include/grub/i386/pc/memory.h
14560 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
14561
14562 * include/grub/kernel.h: Include `<grub/symbol.h>'.
14563 (grub_arch_memdisk_addr): New variable declaration.
14564 (grub_arch_memdisk_size): Likewise.
14565
14566 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
14567 (grub_arch_memdisk_size): Likewise.
14568
14569 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
14570 (codestart): Replace hardcoded `0x100000' with
14571 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
14572
14573 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
14574 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
14575 not NULL, append the contents of the file it refers to, at the end of
14576 the compressed kernel image. Initialize `grub_memdisk_image_size'
14577 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
14578 (options): Add "memdisk"|'m' option.
14579 (main): Parse --memdisk|-m option, and pass user-provided path as
14580 parameter to generate_image().
14581
3d7f54c9 145822008-01-20 Robert Millan <rmh@aybabtu.com>
14583
14584 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
14585 grub_dprintf() calls from here ...
14586 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
14587
0bf74728 145882008-01-20 Robert Millan <rmh@aybabtu.com>
14589
14590 Fix detection of "real mode" when /options/real-mode? doesn't exist.
14591
14592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
14593 declaration.
14594 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
14595 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
14596 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 14597 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 14598 property).
14599 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
14600 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
14601
33bf70a7 146022008-01-19 Robert Millan <rmh@aybabtu.com>
14603
fe6b695a 14604 Get rid of confusing function (superseded by
33bf70a7 14605 `grub_ieee1275_get_integer_property')
14606 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
14607 prototype.
14608 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
14609 function.
14610 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
14611 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 14612 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 14613
e2da7d26 146142008-01-19 Robert Millan <rmh@aybabtu.com>
14615
14616 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
14617 command after "shut-down", since implementations differ on which
14618 the command for halt is.
14619
59f1fd8d 146202008-01-19 Robert Millan <rmh@aybabtu.com>
14621
14622 * include/grub/i386/linuxbios/console.h: Add header protection.
14623 (grub_keyboard_controller_init): New function prototype.
14624 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
14625 (KEYBOARD_COMMAND_READ): Likewise.
14626 (KEYBOARD_COMMAND_WRITE): Likewise.
14627 (KEYBOARD_SCANCODE_SET1): Likewise.
14628 (grub_keyboard_controller_write): New function.
14629 (grub_keyboard_controller_read): Likewise.
14630 (grub_keyboard_controller_init): Likewise.
14631
14632 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
14633 (grub_console_init): On coreboot/LinuxBIOS, call
14634 grub_keyboard_controller_init().
14635
5f5a7c15 146362008-01-19 Robert Millan <rmh@aybabtu.com>
14637
14638 PowerPC changes provided by Pavel Roskin.
14639
14640 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
14641 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
14642 don't rely on cmain() doing it.
14643 * kern/i386/ieee1275/startup.S (_start): Store %eax in
14644 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
14645
1210e168 146462008-01-16 Robert Millan <rmh@aybabtu.com>
14647
14648 * include/grub/i386/linuxbios/memory.h
14649 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
14650 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
14651 receive `table_header' as argument. Instead, probe for it in the
14652 known memory ranges where it can be present.
14653 (grub_available_iterate): Do not pass a fixed `table_header' address
14654 to grub_linuxbios_table_iterate().
14655
3d04eab8 146562008-01-15 Robert Millan <rmh@aybabtu.com>
14657
14658 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
14659 * conf/i386-ieee1275.rmk: New file.
14660 * include/grub/i386/ieee1275/console.h: Likewise.
14661 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
14662 * include/grub/i386/ieee1275/kernel.h: Likewise.
14663 * include/grub/i386/ieee1275/time.h: Likewise.
14664 * kern/i386/ieee1275/init.c: Likewise.
14665 * kern/i386/ieee1275/startup.S: Likewise.
14666
d1bc1b73 146672008-01-15 Robert Millan <rmh@aybabtu.com>
14668
14669 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
14670 when pointers are 32-bit (but still do set it to one when they are
14671 64-bit).
14672
66a65807 146732008-01-15 Robert Millan <rmh@aybabtu.com>
14674
14675 * include/grub/ieee1275/ieee1275.h
14676 (grub_ieee1275_get_integer_property): New function prototype.
14677
14678 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
14679 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 14680 grub_ieee1275_get_property() to handle endianness.
66a65807 14681
14682 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
14683 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 14684 where appropriate.
66a65807 14685 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
14686 (grub_map): Likewise.
14687 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
14688
a83ccafd 146892008-01-15 Bean <bean123ch@gmail.com>
14690
14691 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
14692 (grub_script_execute_cmdline): Reset grub_errno.
14693
14694 * normal/main.c (read_config_file): Reset grub_errno.
14695
14696 * normal/parse.y (script_init): New.
14697 (script): Move function and menuentry here.
14698 (delimiter): New.
14699 (command): Add delimiter at the end of command.
14700 (commands): Adjust to match the new command.
14701 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 14702 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 14703 (if): Use the new commands.
14704
14705 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
14706
df6ecfc6 147072008-01-15 Robert Millan <rmh@aybabtu.com>
14708
14709 * normal/menu.c (run_menu): Move timeout message from here ...
14710 (print_timeout): ... to here.
14711 (run_menu): Use print_timeout() once during initial draw to print
14712 the whole message, and again in every clock tick to update only
14713 the number of seconds.
14714
87ae25eb 147152008-01-15 Robert Millan <rmh@aybabtu.com>
14716
14717 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
14718 actual size of `available' from grub_ieee1275_get_property(), and
14719 restrict parsing to that bound.
14720
47bf09a4 147212008-01-15 Christian Franke <franke@computer.org>
14722
14723 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
14724 (argp_program_version): Remove variable.
14725 (argp_program_bug_address): Likewise.
14726 (options): Convert from struct argp_option to struct option.
14727 (struct arguments): Remove.
14728 (parse_opt): Remove.
14729 (usage): New function.
14730 (main): Replace struct args members by simple variables.
14731 Replace argp_parse() by getopt_long().
14732 Add switch to evaluate options.
14733 Add missing "(...)" around root_dev in prefix string.
14734
c86f1469 147352008-01-14 Robert Millan <rmh@aybabtu.com>
14736
14737 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
14738 for grub_ieee1275_exit(), in order to improve portability.
14739
e622c559 147402008-01-14 Robert Millan <rmh@aybabtu.com>
14741
14742 * util/grub.d/10_linux.in (prefix): Define.
14743 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
14744
44cb1ec8 147452008-01-13 Pavel Roskin <proski@gnu.org>
14746
14747 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
14748 grub_errno if no errors have been detected.
14749
1eb8c802 147502008-01-12 Robert Millan <rmh@aybabtu.com>
14751
14752 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
14753 (grub_util_get_dev_abstraction): New function prototype.
14754
14755 * util/getroot.c: Include `<grub/util/getroot.h>'
14756 (grub_util_get_grub_dev): Move detection of abstraction type to ...
14757 (grub_util_get_dev_abstraction): ... here (new function).
14758
14759 * util/grub-probe.c: Convert PRINT_* to an enum. Add
14760 `PRINT_ABSTRACTION'.
14761 (probe): Probe for abstraction type when requested.
14762 (main): Understand `--target=abstraction'.
14763
14764 * util/i386/efi/grub-install.in: Add abstraction module to core
14765 image when it is found to be necessary.
14766 * util/i386/pc/grub-install.in: Likewise.
14767 * util/powerpc/ieee1275/grub-install.in: Likewise.
14768
14769 * util/update-grub_lib.in (font_path): Return system path without
14770 converting to GRUB path.
14771 * util/update-grub.in: Convert system path returned by font_path()
14772 to a GRUB path. Use `grub-probe -t abstraction' to determine what
14773 abstraction module is needed for loading fonts (if any). Export
14774 that as `GRUB_PRELOAD_MODULES'.
14775 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
14776 insmod commands).
14777
52bd3de9 147782008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
14779
14780 Remove some unused code from reiserfs.
f19dbdb7 14781
52bd3de9 14782 * fs/reiserfs.c (struct grub_reiserfs_key)
14783 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
14784 (struct grub_reiserfs_node_body): Removed.
14785 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14786 Likewise.
14787 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14788 Likewise.
14789 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14790 Likewise.
14791 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14792 Likewise.
14793 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14794 Likewise.
14795 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
14796 Likewise.
14797 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14798 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14799 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14800
2f80039d 148012008-01-10 Robert Millan <rmh@aybabtu.com>
14802
14803 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
14804 Determines if a file is garbage left by packaging systems, etc.
14805 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
14806 for processing /etc/grub.d scripts.
14807 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
14808 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
14809 as a condition for processing Linux images.
14810
87888032 148112008-01-10 Pavel Roskin <proski@gnu.org>
14812
14813 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
14814 to compile reiserfs.c on PowerPC.
14815
7e54fced 148162008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 14817
14818 * kern/device.c (grub_device_iterate): Do not abort device iteration
14819 when one of the devices cannot be opened.
14820 * kern/disk.c (grub_disk_open): Do not account previous failures of
14821 unrelated functions when grub_errno is checked for.
14822
5aa541e6 148232008-01-08 Robert Millan <rmh@aybabtu.com>
14824
14825 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
14826 `! grub_linux_is_bzimage', change order of address comparison to make
14827 it more intuitive, and improve "too big zImage" error message.
14828
7076340d 148292008-01-08 Robert Millan <rmh@aybabtu.com>
14830
14831 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
14832 `$(update-grub_DATA)'.
14833 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
14834 targets.
14835
9ca70333 148362008-01-07 Robert Millan <rmh@aybabtu.com>
14837
14838 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
14839 which instruction is modified by grub-setup during installation
14840 (since it wasn't obvious by only looking at this file).
14841
38ccf575 148422008-01-07 Robert Millan <rmh@aybabtu.com>
14843
14844 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
14845 listing actual TODO items.
14846
f5db4291 148472008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14848
868967cf 14849 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
14850 correctly.
14851 (grub_reiserfs_get_key_offset): Likewise.
14852 (grub_reiserfs_set_key_offset): Likewise.
14853 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 14854 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 14855
14856 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
14857 better to remove the bitfield version completely.
f19dbdb7 14858
868967cf 148592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14860
f5db4291 14861 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
14862 allocated from the heap, due to the fshelp implementation.
14863 (grub_reiserfs_dir): Free NODE, due to the same reason.
14864
492e6d9d 148652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14866
14867 Mostly from Vincent Pelletier:
f19dbdb7 14868
492e6d9d 14869 * fs/reiserfs.c: New file.
f19dbdb7 14870
492e6d9d 14871 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
14872 (reiserfs_mod_SOURCES): New variable.
14873 (reiserfs_mod_CFLAGS): Likewise.
14874 (reiserfs_mod_LDFLAGS): Likewise.
14875
14876 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
14877 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
14878 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
14879 normal/color.c.
14880
9ce3e7c1 148812008-01-06 Robert Millan <rmh@aybabtu.com>
14882
14883 * normal/color.c: Remove `<grub/env.h>'.
14884
f3b58148 148852008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
14886
14887 * include/grub/normal.h: Include <grub/env.h>.
14888
7ac3bcfa 148892008-01-05 Robert Millan <rmh@aybabtu.com>
14890
14891 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
14892 usage example with `(hd0,1)'.
fb358190 14893 Reported by Samuel Thibault.
7ac3bcfa 14894
c8ee99d7 148952008-01-05 Robert Millan <rmh@aybabtu.com>
14896
14897 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
14898 (grub_linux_boot_zimage): Rename to ...
14899 (grub_linux_boot): ... this.
14900 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
14901 (grub_linux_boot_zimage): Conditionalize zImage copy.
14902
14903 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
14904 (grub_linux_boot_bzimage): Remove prototype.
14905 (grub_linux_boot_zimage): Rename to ...
14906 (grub_linux_boot): ... this.
14907
14908 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
14909 (grub_linux_boot): Remove function.
14910
0ece25b1 149112008-01-05 Robert Millan <rmh@aybabtu.com>
14912
14913 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
14914 (grub_env_write_color_highlight): Likewise.
14915 (grub_wait_after_message): Likewise.
14916
14917 * normal/color.c: New file.
14918
14919 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14920 (normal_mod_DEPENDENCIES): Likewise.
14921
14922 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14923 (normal_mod_DEPENDENCIES): Likewise.
14924
14925 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14926 (normal_mod_DEPENDENCIES): Likewise.
14927
14928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14929 (normal_mod_DEPENDENCIES): Likewise.
14930
14931 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14932 for waiting after a message is printed.
14933 * normal/main.c (read_config_file): Likewise.
14934 (grub_normal_init): Register grub_env_write_color_normal() and
14935 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14936 `color_highlight' variables as global.
14937
14938 * normal/menu.c (grub_wait_after_message): New function.
14939 (grub_color_menu_normal): New variable. Replaces ...
14940 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14941 (grub_color_menu_highlight): New variable. Replaces ...
14942 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14943 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14944 `GRUB_TERM_COLOR_STANDARD'.
14945 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14946 `normal_code' and `highlight_code' to `old_color_normal' and
14947 `old_color_highlight', respectively.
14948 (grub_menu_init_page): Update colors when drawing the menu, based on
14949 `menu_color_normal' and `menu_color_highlight' variables.
14950 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14951 a message is printed.
14952
182dd4e5 149532008-01-05 Robert Millan <rmh@aybabtu.com>
14954
14955 * kern/env.c (grub_env_context_open): Propagate hooks for global
14956 variables to new context.
14957
14958 * kern/main.c (grub_set_root_dev): Export `root' variable.
14959
ddf8f6ad 149602008-01-05 Robert Millan <rmh@aybabtu.com>
14961
14962 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14963 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14964 them.
14965
d8b43d9b 149662008-01-05 Robert Millan <rmh@aybabtu.com>
14967
14968 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14969
2bff2de3 149702008-01-04 Christian Franke <franke@computer.org>
14971
14972 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14973 of eisa_mmap.
14974
97eab917 149752008-01-03 Pavel Roskin <proski@gnu.org>
14976
14977 * kern/i386/linuxbios/init.c: Put "void" to all function
14978 declarations with no arguments.
14979 * kern/powerpc/ieee1275/init.c: Likewise.
14980 * term/i386/pc/at_keyboard.c: Likewise.
14981 * term/i386/pc/vga_text.c: Likewise.
14982 * util/grub-mkdevicemap.c: Likewise.
14983
b9416d00 149842008-01-02 Robert Millan <rmh@aybabtu.com>
14985
14986 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
14987 message when loaded image is out of bounds.
14988 (grub_multiboot_load_elf64): Likewise.
14989
92695df9 149902008-01-02 Pavel Roskin <proski@gnu.org>
14991
14992 * util/grub.d/10_linux.in: Try version without ".old" when
14993 looking for initrd. It's better to use initrd from the newer
14994 kernel of the same version than no initrd at all.
14995
d98d9cad 149962008-01-01 Robert Millan <rmh@aybabtu.com>
14997
14998 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
14999
dbfdce36 150002008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15001
f19dbdb7 15002 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15003 grub_video_get_active_render_target.
15004 (grub_video_adapter): Added unmap_color and get_active_render_target.
15005
f19dbdb7 15006 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15007 grub_video_get_active_render_target.
15008 (grub_video_get_info): Changed method to accept NULL pointer as an
15009 argument to allow detection of active video adapter.
15010
15011 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15012 grub_video_vbe_unmap_color_int.
15013 Added grub_video_vbe_unmap_color and
15014 grub_video_vbe_get_active_render_target.
15015 (grub_video_vbe_adapter): Added unmap_color and
15016 get_active_render_target.
15017
f19dbdb7 15018 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15019 with grub_video_vbe_unmap_color_int.
15020
15021 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15022 (DEFAULT_NORMAL_COLOR): Likewise.
15023 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15024 (DEFAULT_FG_COLOR): Removed.
15025 (DEFAULT_BG_COLOR): Likewise.
15026 (DEFAULT_CURSOR_COLOR): Changed value.
15027 (grub_virtual_screen): Added standard_color_setting,
15028 normal_color_setting, highlight_color_setting and term_color.
15029 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15030 (bitmap_width): Added.
15031 (bitmap_height): Likewise.
15032 (bitmap): Likewise.
15033 (set_term_color): Likewise.
15034 (grub_virtual_screen_setup): Changed to use new terminal coloring
15035 settings.
15036 (grub_gfxterm_init): Added init for bitmap.
15037 (grub_gfxterm_fini): Added destroy for bitmap.
15038 (redraw_screen_rect): Updated to use background bitmap and new
15039 terminal coloring.
15040 (scroll_up): Added optimization for case when there is no bitmap.
15041 (grub_gfxterm_cls): Fixed to use correct background color.
15042 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15043 coloring.
15044 (grub_virtual_screen_setcolor): Likewise.
15045 (grub_virtual_screen_getcolor): Added.
15046 (grub_gfxterm_background_image_cmd): Likewise.
15047 (grub_video_term): Added setcolor and getcolor.
15048 (MOD_INIT): Added registration of background_image command.
15049 (MOD_TERM): Added unregistration for background_image command.
15050
c3c20931 150512007-12-30 Pavel Roskin <proski@gnu.org>
15052
15053 * loader/multiboot_loader.c: Fix multiboot command
15054 unregistration. Fix all typos in the word "multiboot".
15055
df266716 150562007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15057
15058 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15059 support for initrd names used in Fedora.
15060
fc6e896c 150612007-12-26 Bean <bean123ch@gmail.com>
15062
15063 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15064 (cpio_mod_SOURCES): New variable.
15065 (cpio_mod_CFLAGS): Likewise.
15066 (cpio_mod_LDFLAGS): Likewise.
15067
15068 * fs/cpio.c: New file.
15069
15070 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15071
15072 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15073
15074 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15075
15076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15077
533110ad 150782007-12-25 Robert Millan <rmh@aybabtu.com>
15079
15080 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15081 (grub_getcolor): New function.
15082
15083 * kern/term.c (grub_getcolor): New function.
15084 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15085 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
15086 (print_entry): Set normal and highlight colors to
15087 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
15088 respectively, before printing and restore them to old
15089 values afterwards.
15090 (grub_menu_init_page): Likewise. Fill an additional colored space
15091 that would otherwise be left blank.
15092
15093 * term/efi/console.c (grub_console_getcolor): New function.
15094 (struct grub_console_term.getcolor): New variable.
15095 * term/i386/pc/console.c (grub_console_getcolor): New function.
15096 (struct grub_console_term.getcolor): New variable.
15097 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
15098 (struct grub_console_term.getcolor): New variable.
15099
15100 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
15101 (struct grub_console_term.setcolor): Remove variable.
15102 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
15103 (struct grub_console_term.setcolor): Remove variable.
15104 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
15105 (struct grub_console_term.setcolor): Remove variable.
15106 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
15107 (struct grub_console_term.setcolor): Remove variable.
15108
4931827f 151092007-12-25 Robert Millan <rmh@aybabtu.com>
15110
15111 * configure.ac: Search for possible unifont.hex locations, and
15112 define UNIFONT_HEX if found.
15113
15114 * Makefile.in (UNIFONT_HEX): Define variable.
15115 (DATA): Rename to ...
15116 (PKGLIB): ... this. Update all users.
15117 (PKGDATA): New variable.
15118 (pkgdata_IMAGES): Rename to ...
15119 (pkglib_IMAGES): ... this. Update all users.
15120 (pkgdata_MODULES): Rename to ...
15121 (pkglib_MODULES): ... this. Update all users.
15122 (pkgdata_PROGRAMS): Rename to ...
15123 (pkglib_PROGRAMS): ... this. Update all users.
15124 (pkgdata_DATA): Rename to ...
15125 (pkglib_DATA): ... this. Update all users.
15126 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
15127 (unicode.pff, ascii.pff): New rules.
15128 (all-local): Add `$(PKGDATA)' dependency.
15129 (install-local): Process `$(PKGDATA)'.
15130
15131 * util/update-grub_lib.in (font_path): Search for *.pff files in
15132 a few more locations, including `${pkgdata}'.
15133
57e57e31 151342007-12-23 Robert Millan <rmh@aybabtu.com>
15135
15136 Patch from Bean <bean123ch@gmail.com>:
15137 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
15138 `size'.
15139
4bc72aa9 151402007-12-21 Bean <bean123ch@gmail.com>
15141
15142 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
15143 (ntfscomp_mod_SOURCES): New variable.
15144 (ntfscomp_mod_CFLAGS): Likewise.
15145 (ntfscomp_mod_LDFLAGS): Likewise.
15146
15147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
15148 (grub_probe_SOURCES): Likewise.
15149 (grub_emu_SOURCES): Likewise.
15150
15151 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15152 (grub_emu_SOURCES): Likewise.
15153
15154 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15155 (grub_emu_SOURCES): Likewise.
15156
15157 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15158 (grub_emu_SOURCES): Likewise.
15159
15160 * fs/ntfs.c (grub_ntfscomp_func): New variable.
15161 (read_run_list): Renamed to grub_ntfs_read_run_list.
15162 (decomp_nextvcn): Moved to ntfscomp.c.
15163 (decomp_getch): Likewise.
15164 (decomp_get16): Likewise.
15165 (decomp_block): Likewise.
15166 (read_block): Likewise.
15167 (read_data): Partially moved to ntfscomp.c.
15168 (fixup): Change unsigned to grub_uint16_t.
15169 (read_mft): Change unsigned long to grub_uint32_t.
15170 (read_attr): Likewise.
15171 (read_data): Likewise.
15172 (read_run_data): Likewise.
15173 (read_run_list): Likewise.
15174 (read_mft): Likewise.
15175
15176 * fs/ntfscomp.c: New file.
15177
15178 * include/grub/ntfs.h: New file.
15179
af680a87 151802007-12-16 Robert Millan <rmh@aybabtu.com>
15181
15182 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
15183 IDE disk check, since Linux is known to support 20 IDE disks.
15184 Reported by Colin Watson.
15185
84be7599 151862007-12-15 Bean <bean123ch@gmail.com>
15187
15188 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
15189 (lnxboot_img_SOURCES): New variable.
15190 (lnxboot_img_ASFLAGS): Likewise.
15191 (lnxboot_img_LDFLAGS): Likewise.
15192
15193 * boot/i386/pc/lnxboot.S: New file.
15194
6af9db01 151952007-11-24 Pavel Roskin <proski@gnu.org>
15196
15197 * configure.ac: Test if '--build-id=none' is supported by the
15198 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
15199 objcopy to generate incorrect binary files (binutils
15200 2.17.50.0.18-1 as shipped by Fedora 8).
15201 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
15202 linking, so that build ID doesn't break the test.
15203
7361cfe6 152042007-11-24 Pavel Roskin <proski@gnu.org>
15205
15206 * include/grub/i386/time.h: use "void" in the argument list
15207 of grub_cpu_idle().
15208 * include/grub/powerpc/time.h: Likewise.
15209 * include/grub/sparc64/time.h: Likewise.
15210
1593e10c 152112007-11-18 Christian Franke <franke@computer.org>
15212
15213 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
15214 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
15215 This fixes the problem that function keys did not work in grub-emu.
15216
3b8db1a8 152172007-11-18 Christian Franke <franke@computer.org>
15218
15219 * disk/host.c (grub_host_open): Remove attribute unused from
15220 name parameter. Add check for "host". This fixes the problem
15221 that grub-emu does not find partitions.
15222
2e29408d 152232007-11-18 Christian Franke <franke@computer.org>
15224
15225 * util/hostfs.c (is_dir): New function.
15226 (grub_hostfs_dir): Handle missing dirent.d_type case.
15227 (grub_hostfs_read): Add missing fseek().
15228 (grub_hostfs_label): Clear label pointer. This fixes a crash
15229 of grub-emu on "ls (host)".
15230
398cd047 152312007-11-18 Christian Franke <franke@computer.org>
15232
15233 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
15234 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
15235 to 64 bit boundary by default.
15236
c405c391 152372007-11-18 Bean <bean123ch@gmail.com>
15238
15239 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
15240 (hexdump_mod_SOURCES): New variable.
15241 (hexdump_mod_CFLAGS): Likewise.
15242 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 15243
c405c391 15244 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15245
15246 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15247
15248 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15249
15250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15251
15252 * include/grub/hexdump.h: New file.
15253
15254 * commands/hexdump.c: New file.
15255
5cced7fd 152562007-11-10 Robert Millan <rmh@aybabtu.com>
15257
15258 * commands/i386/pc/play.c (beep_off): Switch order of arguments
15259 in grub_outb() calls.
15260 (beep_on): Likewise.
15261
8b714eb0 152622007-11-10 Christian Franke <franke@computer.org>
15263
15264 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
15265 (grub_menu_run): Likewise.
15266
ce0f1839 152672007-11-10 Robert Millan <rmh@aybabtu.com>
15268
15269 * include/grub/i386/efi/machine.h: New file.
15270 * include/grub/i386/linuxbios/machine.h: Likewise.
15271 * include/grub/i386/pc/machine.h: Likewise.
15272 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15273 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15274
15275 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
15276 (serial_hw_io_addr): New variable.
15277 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
15278 instead of `(unsigned short *) 0x400'.
15279
270c237d 152802007-11-10 Bean <bean123ch@gmail.com>
15281
15282 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
15283
a87783bf 152842007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15285
15286 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
15287 (vga_mod_SOURCES): Added.
15288 (vga_mod_CFLAGS): Likewise.
15289 (vga_mod_LDFLAGS): Likewise.
15290
15291 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
15292 grub_outb() calls.
15293 (set_map_mask): Likewise.
15294 (set_read_map): Likewise.
15295 (set_read_address): Likewise.
15296 (vga_font): Removed variable.
15297 (get_vga_glyph): Removed function.
15298 (invalidate_char): Likewise.
15299 (write_char): Changed to use grub_font_get_glyph() for font
15300 information.
15301 (grub_vga_putchar): Likewise.
15302 (grub_vga_getcharwidth): Likewise.
15303
6433b448 153042007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
15305
15306 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
15307 flags.
15308 (pxeboot_img_LDFLAGS): Likewise.
15309 (diskboot_img_LDFLAGS): Likewise.
15310 (kernel_img_LDFLAGS): Likewise.
15311
49178511 153122007-11-06 Robert Millan <rmh@aybabtu.com>
15313
15314 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
15315 in grub_outb() calls.
15316 (serial_hw_init): Likewise.
15317
53b052de 153182007-11-05 Robert Millan <rmh@aybabtu.com>
15319
15320 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
15321 spaces. Skip non-regular files.
15322
5ab33bba 153232007-11-05 Robert Millan <rmh@aybabtu.com>
15324
15325 * kern/disk.c (grub_disk_firmware_fini)
15326 (grub_disk_firmware_is_tainted): New variables.
15327
15328 * include/grub/disk.h (grub_disk_firmware_fini)
15329 (grub_disk_firmware_is_tainted): Likewise.
15330
15331 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
15332 (grub_disk_biosdisk_fini): ... to here.
15333 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
15334 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
15335 is set. Register grub_disk_biosdisk_fini() in
15336 `grub_disk_firmware_fini'.
15337
15338 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
15339 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
15340 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
15341 to finish existing firmware disk interface.
15342
15343 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
15344 (ata_mod_SOURCES): New variable.
15345 (ata_mod_CFLAGS): Likewise.
15346 (ata_mod_LDFLAGS): Likewise.
15347
0149ab7c 153482007-11-05 Robert Millan <rmh@aybabtu.com>
15349
15350 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
15351 (grub_ata_wait): Reimplement using grub_millisleep().
15352
15353 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
15354 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
15355
be7ac41e 153562007-11-03 Marco Gerards <marco@gnu.org>
15357
15358 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
15359 (CRTC_ADDR_PORT): New macro.
15360 (CRTC_DATA_PORT): Likewise.
15361 (CRTC_CURSOR): Likewise.
15362 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15363 (CRTC_CURSOR_ADDR_LOW): Likewise.
15364 (update_cursor): New function.
15365 (grub_console_real_putchar): Call `update_cursor'.
15366 (grub_console_gotoxy): Likewise.
15367 (grub_console_cls): Set the default color when clearing the
15368 screen.
15369 (grub_console_setcursor): Implemented.
15370
bb06ab2e 153712007-11-03 Marco Gerards <marco@gnu.org>
15372
15373 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
15374 become activate.
15375 (grub_ata_pio_write): Likewise.
15376
15377 (grub_atapi_identify): Wait after issuing an ATA command.
15378 (grub_atapi_packet): Likewise.
15379 (grub_ata_identify): Likewise.
15380 (grub_ata_readwrite): Likewise.
15381
cf8f780b 153822007-11-03 Marco Gerards <marco@gnu.org>
15383
15384 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
15385 (grub_ata_pio_write): Likewise.
15386 (grub_ata_readwrite): Use `grub_error', instead of
15387 returning `grub_errno'.
15388
ed649e54 153892007-11-03 Marco Gerards <marco@gnu.org>
15390
15391 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
15392 grub_ata_pio_write once for every single sector, instead of for
15393 multiple sectors.
15394
ca25d8f0 153952007-10-31 Robert Millan <rmh@aybabtu.com>
15396
15397 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
15398
15399 * conf/i386-linuxbios.rmk: New file.
15400
15401 * kern/i386/pc/hardware.c: Likewise.
15402 * term/i386/pc/at_keyboard.c: Likewise.
15403 * term/i386/pc/vga_text.c: Likewise.
15404
15405 * include/grub/i386/linuxbios/boot.h: Likewise.
15406 * include/grub/i386/linuxbios/console.h: Likewise.
15407 * include/grub/i386/linuxbios/init.h: Likewise.
15408 * include/grub/i386/linuxbios/kernel.h: Likewise.
15409 * include/grub/i386/linuxbios/loader.h: Likewise.
15410 * include/grub/i386/linuxbios/memory.h: Likewise.
15411 * include/grub/i386/linuxbios/serial.h: Likewise.
15412 * include/grub/i386/linuxbios/time.h: Likewise.
15413
15414 * kern/i386/linuxbios/init.c: Likewise.
15415 * kern/i386/linuxbios/startup.S: Likewise.
15416 * kern/i386/linuxbios/table.c: Likewise.
15417
e911ecc1 154182007-10-31 Marco Gerards <marco@gnu.org>
15419
15420 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
15421 (ata_mod_SOURCES): New variable.
15422 (ata_mod_CFLAGS): Likewise.
15423 (ata_mod_LDFLAGS): Likewise.
15424
15425 * disk/ata.c: New file.
15426
15427 * include/grub/disk.h (grub_disk_dev_id): Add
15428 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 15429
7f66d0e0 154302007-10-31 Robert Millan <rmh@aybabtu.com>
15431
15432 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
15433 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
15434
15435 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
15436 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
15437
15438 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
15439 `<grub/types.h>'.
15440
15441 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
15442
5cd7dd46 154432007-10-27 Robert Millan <rmh@aybabtu.com>
15444
3236ca65 15445 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 15446
2ebfc90f 154472007-10-22 Robert Millan <rmh@aybabtu.com>
15448
15449 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
15450 `"../realmode.S"'.
15451 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
15452
73fcb0f3 154532007-10-22 Robert Millan <rmh@aybabtu.com>
15454
15455 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
15456 (pkgdata_MODULES): Add `biosdisk.mod'.
15457 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
15458 variables.
15459
15460 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
15461 (grub_biosdisk_init): Replace with ...
15462 (GRUB_MOD_INIT(biosdisk)): ... this.
15463 (grub_biosdisk_fini): Replace with ...
15464 (GRUB_MOD_FINI(biosdisk)): ... this.
15465
15466 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
15467 (grub_machine_init): Remove call to grub_biosdisk_init().
15468 (grub_machine_fini): Remove call to grub_machine_fini().
15469
15470 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
15471
3381d274 154722007-10-22 Robert Millan <rmh@aybabtu.com>
15473
15474 * include/grub/time.h: New file.
15475 * include/grub/i386/time.h: Likewise.
15476 * include/grub/powerpc/time.h: Likewise.
15477 * include/grub/sparc64/time.h: Likewise.
15478
15479 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
15480 instances to ...
15481 (KERNEL_MACHINE_TIME_HEADER): ... this.
15482 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15483 instances to ...
15484 (KERNEL_MACHINE_TIME_HEADER): ... this.
15485 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
15486 instances to ...
15487 (KERNEL_MACHINE_TIME_HEADER): ... this.
15488
15489 * kern/i386/efi/init.c: Include `<grub/time.h>'.
15490 (grub_millisleep): New function.
15491 * kern/i386/pc/init.c: Include `<grub/time.h>'.
15492 (grub_millisleep): New function.
15493 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
15494 Remove `grub/machine/time.h' include.
15495 (grub_millisleep): New function.
15496 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
15497 Remove `grub/machine/time.h' include.
15498 (grub_millisleep): New function.
15499
15500 * include/grub/misc.h (grub_div_roundup): New function.
15501
15502 * kern/misc.c: Include `<grub/time.h>'.
15503 (grub_millisleep_generic): New function.
15504
15505 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
15506 Add `time.h'.
15507 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
15508 Add `time.h'.
15509 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
15510 `machine/time.h'. Add `time.h'.
15511 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15512
a39a0312 155132007-10-21 Robert Millan <rmh@aybabtu.com>
15514
15515 * include/grub/misc.h (grub_max): New function.
15516
2aad70e2 155172007-10-21 Robert Millan <rmh@aybabtu.com>
15518
15519 * util/misc.c (grub_util_info): Call fflush() before returning.
15520
54b71c4b 155212007-10-20 Robert Millan <rmh@aybabtu.com>
15522
15523 * genmk.rb (Image): Copy `extra_flags' from here ...
15524 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
15525
15526 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
15527 to `argc' and `args' arguments.
15528
a979f513 155292007-10-17 Robert Millan <rmh@aybabtu.com>
15530
15531 * kern/i386/loader.S: New file.
15532
15533 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
15534 * kern/i386/loader.S (grub_linux_prot_size)... to here.
15535 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
15536 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
15537 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
15538 * kern/i386/loader.S (grub_linux_real_addr)... to here.
15539 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
15540 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
15541 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
15542 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
15543 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
15544 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
15545 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
15546 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
15547
15548 * kern/i386/realmode.S: New file.
15549
15550 * kern/i386/pc/startup.S (protstack): Moved from here ...
15551 * kern/i386/realmode.S (protstack)... to here.
15552 * kern/i386/pc/startup.S (gdt): Moved from here ...
15553 * kern/i386/realmode.S (gdt)... to here.
15554 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
15555 * kern/i386/realmode.S (prot_to_real)... to here.
15556
15557 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
15558 `kern/i386/realmode.S'.
15559
825fc8fd 155602007-10-17 Robert Millan <rmh@aybabtu.com>
15561
15562 * include/grub/i386/loader.h: New file.
15563
15564 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
15565 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15566 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15567 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15568 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
15569 * include/grub/i386/loader.h (grub_linux_prot_size)
15570 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15571 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15572 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15573 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
15574
15575 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
15576
e179b2f4 155772007-10-15 Robert Millan <rmh@aybabtu.com>
15578
15579 * normal/misc.c (grub_normal_print_device_info): Do not probe for
15580 filesystem when dev->disk is unset.
15581 Do probe for filesystem even when dev->disk->has_partitions is set.
15582 In case a filesystem is found, always report it.
15583 In case it isn't, if dev->disk->has_partitions is set, report that
15584 a partition table was found instead of reporting that no filesystem
15585 could be identified.
15586
5db82af6 155872007-10-12 Robert Millan <rmh@aybabtu.com>
15588
15589 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
15590 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
15591
68f6ac74 15592 * include/grub/types.h (grub_host_to_target16): New macro.
15593 (grub_host_to_target32): Likewise.
15594 (grub_host_to_target64): Likewise.
15595 (grub_target_to_host16): Likewise.
15596 (grub_target_to_host32): Likewise.
15597 (grub_target_to_host64): Likewise.
5db82af6 15598
15599 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15600 Renamed from to ...
15601 (GRUB_MOD_ALIGN): ...this. Update all users.
15602
68f6ac74 15603 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
15604 grub_host_to_target32.
15605 Replace grub_be_to_cpu32 with grub_target_to_host32.
15606 (load_modules): Likewise.
15607 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
15608 Replace grub_be_to_cpu32 with grub_target_to_host32.
15609 Replace grub_cpu_to_be16 with grub_host_to_target16.
15610 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 15611
3cf497cc 156122007-10-12 Robert Millan <rmh@aybabtu.com>
15613
15614 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
15615 * util/elf/grub-mkimage.c: ... here.
15616
15617 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
15618 `util/powerpc/ieee1275/grub-mkimage.c'.
15619
c8cc3692 156202007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 15621
c8cc3692 15622 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
15623 and make it easier to figure out.
15624 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
15625 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
15626 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
15627 leave us with less than HEAP_MIN_SIZE total heap.
15628 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 15629
5c58b791 156302007-10-03 Robert Millan <rmh@aybabtu.com>
15631
15632 * include/grub/i386/io.h: New file.
15633 * commands/i386/pc/play.c (inb): Removed.
15634 (outb): Removed.
15635 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15636 with grub_outb().
afcd2ef8 15637 * term/i386/pc/serial.c (inb): Removed.
15638 (outb): Removed.
15639 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15640 with grub_outb().
15641 * term/i386/pc/vga.c (inb): Removed.
15642 (outb): Removed.
15643 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15644 with grub_outb().
5c58b791 15645
1a477ed6 156462007-10-02 Robert Millan <rmh@aybabtu.com>
15647
15648 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
15649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15650 Reported by Marcin Kurek.
15651
6b5d80fa 156522007-09-07 Robert Millan <rmh@aybabtu.com>
15653
15654 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
15655 SmartFirmware version updates (as released by Sven Luther), and avoid
15656 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
15657 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
15658 known broken.
15659
5618afbf 156602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15661
15662 From Hitoshi Ozeki:
15663 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
15664 when merging two regions.
15665
6139dcd9 156662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15667
508e39ee 15668 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
15669 * normal/completion.c (grub_normal_do_completion): Likewise.
15670 Reported by Hitoshi Ozeki.
15671
156722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15673
6139dcd9 15674 Do not use devices at boot in chainloading.
f19dbdb7 15675
6139dcd9 15676 * loader/i386/pc/chainloader.c (boot_drive): New variable.
15677 (boot_part_addr): Likewise.
15678 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
15679 with BOOT_DRIVE and BOOT_PART_ADDR.
15680 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
15681 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
15682
38da6516 156832007-08-29 Robert Millan <rmh@aybabtu.com>
15684
15685 Patch from Simon Peter <dn.tlp@gmx.net>:
15686 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
15687 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
15688 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
15689 util/i386/pc/grub-setup.c_DEPENDENCIES.
15690 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
15691 util/grub-probe.c_DEPENDENCIES.
15692 * conf/powerpc-ieee1275.rmk: Likewise.
15693
29d0928c 156942007-08-28 Robert Millan <rmh@aybabtu.com>
15695
15696 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
15697 to tell grub-mkdevicemap how to name devices.
15698 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
15699 feature).
15700
15701 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
15702 util/i386/get_disk_name.c.
15703 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
15704 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
15705 util/ieee1275/get_disk_name.c.
15706
15707 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
15708
15709 * DISTLIST: Add util/i386/get_disk_name.c and
15710 util/ieee1275/get_disk_name.c.
15711
15712 * util/grub-mkdevicemap.c: Replace device naming logic with
15713 grub_util_get_disk_name() calls.
15714
5a0d3cca 157152007-08-20 Robert Millan <rmh@aybabtu.com>
15716
15717 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
15718 (so that it works for both plural and singular quantities).
15719
8b72db2f 157202007-08-05 Robert Millan <rmh@aybabtu.com>
15721
15722 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
15723 so that [xz] isn't taken into account when determining order.
15724
352466bf 157252007-08-02 Marco Gerards <marco@gnu.org>
15726
15727 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
15728 `include/multiboot2.h', `include/grub/elfload.h',
15729 `include/multiboot.h', `include/grub/multiboot.h',
15730 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
15731 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
15732 `kern/elf.c', `loader/multiboot_loader.c',
15733 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
15734 `loader/i386/pc/multiboot2.c',
15735 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
15736 `util/i386/pc/grub-mkrescue.in'. Remove
15737 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
15738 `include/grub/i386/pc/util/biosdisk.h' and
15739 `include/grub/powerpc/ieee1275/multiboot.h'.
15740
8f096014 157412007-08-02 Bean <bean123ch@gmail.com>
15742
15743 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
15744 (ntfs_mod_SOURCES): New variable.
15745 (ntfs_mod_CFLAGS): Likewise.
15746 (ntfs_mod_LDFLAGS): Likewise.
15747
15748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
15749 (grub_probe_SOURCES): Likewise.
15750 (grub_emu_SOURCES): Likewise.
15751
15752 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15753 (grub_emu_SOURCES): Likewise.
15754
15755 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15756 (grub_emu_SOURCES): Likewise.
f19dbdb7 15757
8f096014 15758 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
15759
15760 * fs/ntfs.c: New file.
15761
9959f7db 157622007-08-02 Bean <bean123ch@gmail.com>
15763
15764 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
15765
15766 * file.h (grub_file): Likewise.
15767
15768 * fshelp.h (grub_fshelp_read_file): Likewise.
15769
15770 * util/i386/pc/grub-setup.c (setup): Likewise.
15771 (save_first_sector): Likewise.
15772 (save_blocklists): Likewise.
f19dbdb7 15773
9959f7db 15774 * fs/affs.c (grub_affs_read_file): Likewise.
15775
15776 * fs/ext2.c (grub_ext2_read_file): Likewise.
15777
15778 * fs/fat.c (grub_fat_read_data): Likewise.
15779
15780 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
15781
15782 * fs/hfs.c (grub_hfs_read_file): Likewise.
15783
15784 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15785
15786 * fs/jfs.c (grub_jfs_read_file): Likewise.
15787
15788 * fs/minix.c (grub_minix_read_file): Likewise.
15789
15790 * fs/sfs.c (grub_sfs_read_file): Likewise.
15791
15792 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 15793
9959f7db 15794 * fs/xfs.c (grub_xfs_read_file): Likewise.
15795
15796 * command/blocklist.c (read_blocklist): Likewise.
15797 (print_blocklist): Likewise.
15798
0a203f83 157992007-08-02 Marco Gerards <marco@gnu.org>
15800
15801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
15802 `util/hostfs.c'.
15803
15804 * disk/host.c: New file.
15805
15806 * util/hostfs.c: Likewise.
15807
15808 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
15809 return `GRUB_ERR_BAD_FS'.
15810 * fs/sfs.c (grub_sfs_mount): Likewise.
15811 * fs/xfs.c (grub_xfs_mount): Likewise.
15812
15813 * include/grub/disk.h (enum grub_disk_dev_id): Add
15814 `GRUB_DISK_DEVICE_HOST_ID'.
15815
15816 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
15817
e5dfe777 158182007-07-24 Jerone Young <jerone@gmail.com>
15819
f19dbdb7 15820 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 15821 modules for compilation.
15822 * conf/powerpc-ieee1275.rmk: Likewise.
15823
15824 * include/multiboot.h: Move multiboot definitions to one file. Rename
15825 many definitions to not get grub specific.
15826 * include/multiboot2.h: Create header with multiboot 2 definitions.
15827 * include/grub/multiboot.h: Header for grub specific function
15828 prototypes and definitions.
15829 * include/grub/multiboot2.h: Likewise.
15830 * include/grub/multiboot_loader.h: Likewise.
15831 * include/grub/i386/pc/multiboot.h: Removed.
15832 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
15833
15834 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
15835 and 2 to allow for one multiboot and module commands.
15836 * loader/multiboot2.c: Add multiboot2 functionality.
15837 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
15838 and definition names.
15839 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
15840 2 functions.
15841 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
15842 ieee1275 specific multiboot2 code.
15843
15844 * kern/i386/pc/startup.S: Change headers and definition names for
15845 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
15846
daf0f0ba 158472007-07-22 Robert Millan <rmh@aybabtu.com>
15848
15849 * geninitheader.sh: Process file specified in first parameter rather
15850 than hardcoding grub_modules_init.lst.
fe6b695a 15851 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 15852 than hardcoding grub_modules_init.h.
15853
15854 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
15855 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
15856 grub_probe_init.[ch] and grub_setup_init.[ch].
15857
15858 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
15859 grub_modules_init.h with grub_emu_init.h.
15860 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
15861 grub_probe_init.[ch] files.
15862 * conf/i386-efi.rmk: Likewise.
15863 * conf/i386-pc.rmk: Likewise.
15864 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
15865 grub_setup_init.[ch] files.
15866
15867 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
15868 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
15869 to initialize modules rather than a list of hardcoded functions.
15870 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
15871 grub_init_all() to initialize modules rather than a list of hardcoded
15872 functions.
15873
54cdc1cc 158742007-07-22 Robert Millan <rmh@aybabtu.com>
15875
15876 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15877 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
15878
ad0686cc 158792007-07-22 Robert Millan <rmh@aybabtu.com>
15880
15881 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15882 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
15883 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
15884 flag when running on SmartFirmware.
15885 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
15886 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
15887 was set.
15888
15889 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15890 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
15891 rather than decreasing it.
15892
15893 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
15894 there's not enough space to do it, fail in the same way as when it
15895 can't be done because there are no partitions.
15896
15897 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
15898 when nvsetenv failed.
15899
969c02ec 159002007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15901
15902 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
15903 because this rule is automatically generated.
15904 (grub-mkrescue): Removed for the same reason as above.
15905
5a79f472 159062007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15907
15908 Migrate to GNU General Public License Version 3.
f19dbdb7 15909
5a79f472 15910 * COPYING: Replaced with the plain text version of GPLv3.
15911
15912 * config.guess: Updated from gnulib.
15913 * config.sub: Likewise.
15914
15915 * geninit.sh: Output a GPLv3 copyright notice.
15916 * geninitheader.sh: Likewise.
15917 * genmodsrc.sh: Likewise.
15918 * gensymlist.sh.in: Likewise.
15919
15920 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15921 * boot/i386/pc/diskboot.S: Likewise.
15922 * boot/i386/pc/pxeboot.S: Likewise.
15923 * commands/blocklist.c: Likewise.
15924 * commands/boot.c: Likewise.
15925 * commands/cat.c: Likewise.
15926 * commands/cmp.c: Likewise.
15927 * commands/configfile.c: Likewise.
15928 * commands/echo.c: Likewise.
15929 * commands/help.c: Likewise.
15930 * commands/ls.c: Likewise.
15931 * commands/search.c: Likewise.
15932 * commands/terminal.c: Likewise.
15933 * commands/test.c: Likewise.
15934 * commands/videotest.c: Likewise.
15935 * commands/i386/cpuid.c: Likewise.
15936 * commands/i386/pc/halt.c: Likewise.
15937 * commands/i386/pc/play.c: Likewise.
15938 * commands/i386/pc/reboot.c: Likewise.
15939 * commands/i386/pc/vbeinfo.c: Likewise.
15940 * commands/i386/pc/vbetest.c: Likewise.
15941 * commands/ieee1275/halt.c: Likewise.
15942 * commands/ieee1275/reboot.c: Likewise.
15943 * commands/ieee1275/suspend.c: Likewise.
15944 * disk/loopback.c: Likewise.
15945 * disk/lvm.c: Likewise.
15946 * disk/raid.c: Likewise.
15947 * disk/efi/efidisk.c: Likewise.
15948 * disk/i386/pc/biosdisk.c: Likewise.
15949 * disk/ieee1275/ofdisk.c: Likewise.
15950 * font/manager.c: Likewise.
15951 * fs/affs.c: Likewise.
15952 * fs/ext2.c: Likewise.
15953 * fs/fat.c: Likewise.
15954 * fs/fshelp.c: Likewise.
15955 * fs/hfs.c: Likewise.
15956 * fs/hfsplus.c: Likewise.
15957 * fs/iso9660.c: Likewise.
15958 * fs/jfs.c: Likewise.
15959 * fs/minix.c: Likewise.
15960 * fs/sfs.c: Likewise.
15961 * fs/ufs.c: Likewise.
15962 * fs/xfs.c: Likewise.
15963 * hello/hello.c: Likewise.
15964 * include/grub/acorn_filecore.h: Likewise.
15965 * include/grub/arg.h: Likewise.
15966 * include/grub/bitmap.h: Likewise.
15967 * include/grub/boot.h: Likewise.
15968 * include/grub/cache.h: Likewise.
15969 * include/grub/device.h: Likewise.
15970 * include/grub/disk.h: Likewise.
15971 * include/grub/dl.h: Likewise.
15972 * include/grub/elfload.h: Likewise.
15973 * include/grub/env.h: Likewise.
15974 * include/grub/err.h: Likewise.
15975 * include/grub/file.h: Likewise.
15976 * include/grub/font.h: Likewise.
15977 * include/grub/fs.h: Likewise.
15978 * include/grub/fshelp.h: Likewise.
15979 * include/grub/gzio.h: Likewise.
15980 * include/grub/hfs.h: Likewise.
15981 * include/grub/kernel.h: Likewise.
15982 * include/grub/loader.h: Likewise.
15983 * include/grub/lvm.h: Likewise.
15984 * include/grub/misc.h: Likewise.
15985 * include/grub/mm.h: Likewise.
15986 * include/grub/net.h: Likewise.
15987 * include/grub/normal.h: Likewise.
15988 * include/grub/parser.h: Likewise.
15989 * include/grub/partition.h: Likewise.
15990 * include/grub/pc_partition.h: Likewise.
15991 * include/grub/raid.h: Likewise.
15992 * include/grub/rescue.h: Likewise.
15993 * include/grub/script.h: Likewise.
15994 * include/grub/setjmp.h: Likewise.
15995 * include/grub/symbol.h: Likewise.
15996 * include/grub/term.h: Likewise.
15997 * include/grub/terminfo.h: Likewise.
15998 * include/grub/tparm.h: Likewise.
15999 * include/grub/types.h: Likewise.
16000 * include/grub/video.h: Likewise.
16001 * include/grub/efi/api.h: Likewise.
16002 * include/grub/efi/chainloader.h: Likewise.
16003 * include/grub/efi/console.h: Likewise.
16004 * include/grub/efi/console_control.h: Likewise.
16005 * include/grub/efi/disk.h: Likewise.
16006 * include/grub/efi/efi.h: Likewise.
16007 * include/grub/efi/pe32.h: Likewise.
16008 * include/grub/efi/time.h: Likewise.
16009 * include/grub/i386/linux.h: Likewise.
16010 * include/grub/i386/setjmp.h: Likewise.
16011 * include/grub/i386/types.h: Likewise.
16012 * include/grub/i386/efi/kernel.h: Likewise.
16013 * include/grub/i386/efi/loader.h: Likewise.
16014 * include/grub/i386/efi/time.h: Likewise.
16015 * include/grub/i386/pc/biosdisk.h: Likewise.
16016 * include/grub/i386/pc/boot.h: Likewise.
16017 * include/grub/i386/pc/chainloader.h: Likewise.
16018 * include/grub/i386/pc/console.h: Likewise.
16019 * include/grub/i386/pc/init.h: Likewise.
16020 * include/grub/i386/pc/kernel.h: Likewise.
16021 * include/grub/i386/pc/loader.h: Likewise.
16022 * include/grub/i386/pc/memory.h: Likewise.
16023 * include/grub/i386/pc/multiboot.h: Likewise.
16024 * include/grub/i386/pc/serial.h: Likewise.
16025 * include/grub/i386/pc/time.h: Likewise.
16026 * include/grub/i386/pc/vbe.h: Likewise.
16027 * include/grub/i386/pc/vbeblit.h: Likewise.
16028 * include/grub/i386/pc/vbefill.h: Likewise.
16029 * include/grub/i386/pc/vbeutil.h: Likewise.
16030 * include/grub/i386/pc/vga.h: Likewise.
16031 * include/grub/ieee1275/ieee1275.h: Likewise.
16032 * include/grub/ieee1275/ofdisk.h: Likewise.
16033 * include/grub/powerpc/libgcc.h: Likewise.
16034 * include/grub/powerpc/setjmp.h: Likewise.
16035 * include/grub/powerpc/types.h: Likewise.
16036 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16037 * include/grub/powerpc/ieee1275/console.h: Likewise.
16038 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16039 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16040 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16041 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16042 * include/grub/powerpc/ieee1275/time.h: Likewise.
16043 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16044 * include/grub/sparc64/libgcc.h: Likewise.
16045 * include/grub/sparc64/setjmp.h: Likewise.
16046 * include/grub/sparc64/types.h: Likewise.
16047 * include/grub/sparc64/ieee1275/console.h: Likewise.
16048 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16049 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16050 * include/grub/sparc64/ieee1275/time.h: Likewise.
16051 * include/grub/util/biosdisk.h: Likewise.
16052 * include/grub/util/getroot.h: Likewise.
16053 * include/grub/util/lvm.h: Likewise.
16054 * include/grub/util/misc.h: Likewise.
16055 * include/grub/util/raid.h: Likewise.
16056 * include/grub/util/resolve.h: Likewise.
16057 * io/gzio.c: Likewise.
16058 * kern/device.c: Likewise.
16059 * kern/disk.c: Likewise.
16060 * kern/dl.c: Likewise.
16061 * kern/elf.c: Likewise.
16062 * kern/env.c: Likewise.
16063 * kern/err.c: Likewise.
16064 * kern/file.c: Likewise.
16065 * kern/fs.c: Likewise.
16066 * kern/loader.c: Likewise.
16067 * kern/main.c: Likewise.
16068 * kern/misc.c: Likewise.
16069 * kern/mm.c: Likewise.
16070 * kern/parser.c: Likewise.
16071 * kern/partition.c: Likewise.
16072 * kern/rescue.c: Likewise.
16073 * kern/term.c: Likewise.
16074 * kern/efi/efi.c: Likewise.
16075 * kern/efi/init.c: Likewise.
16076 * kern/efi/mm.c: Likewise.
16077 * kern/i386/dl.c: Likewise.
16078 * kern/i386/efi/init.c: Likewise.
16079 * kern/i386/efi/startup.S: Likewise.
16080 * kern/i386/pc/init.c: Likewise.
16081 * kern/i386/pc/lzo1x.S: Likewise.
16082 * kern/i386/pc/startup.S: Likewise.
16083 * kern/ieee1275/ieee1275.c: Likewise.
16084 * kern/powerpc/cache.S: Likewise.
16085 * kern/powerpc/dl.c: Likewise.
16086 * kern/powerpc/ieee1275/cmain.c: Likewise.
16087 * kern/powerpc/ieee1275/crt0.S: Likewise.
16088 * kern/powerpc/ieee1275/init.c: Likewise.
16089 * kern/powerpc/ieee1275/openfw.c: Likewise.
16090 * kern/sparc64/cache.S: Likewise.
16091 * kern/sparc64/dl.c: Likewise.
16092 * kern/sparc64/ieee1275/init.c: Likewise.
16093 * kern/sparc64/ieee1275/openfw.c: Likewise.
16094 * loader/efi/chainloader.c: Likewise.
16095 * loader/efi/chainloader_normal.c: Likewise.
16096 * loader/i386/efi/linux.c: Likewise.
16097 * loader/i386/efi/linux_normal.c: Likewise.
16098 * loader/i386/pc/chainloader.c: Likewise.
16099 * loader/i386/pc/chainloader_normal.c: Likewise.
16100 * loader/i386/pc/linux.c: Likewise.
16101 * loader/i386/pc/linux_normal.c: Likewise.
16102 * loader/i386/pc/multiboot.c: Likewise.
16103 * loader/i386/pc/multiboot_normal.c: Likewise.
16104 * loader/powerpc/ieee1275/linux.c: Likewise.
16105 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16106 * normal/arg.c: Likewise.
16107 * normal/cmdline.c: Likewise.
16108 * normal/command.c: Likewise.
16109 * normal/completion.c: Likewise.
16110 * normal/execute.c: Likewise.
16111 * normal/function.c: Likewise.
16112 * normal/lexer.c: Likewise.
16113 * normal/main.c: Likewise.
16114 * normal/menu.c: Likewise.
16115 * normal/menu_entry.c: Likewise.
16116 * normal/misc.c: Likewise.
16117 * normal/parser.y: Likewise.
16118 * normal/script.c: Likewise.
16119 * normal/i386/setjmp.S: Likewise.
16120 * normal/powerpc/setjmp.S: Likewise.
16121 * normal/sparc64/setjmp.S: Likewise.
16122 * partmap/acorn.c: Likewise.
16123 * partmap/amiga.c: Likewise.
16124 * partmap/apple.c: Likewise.
16125 * partmap/gpt.c: Likewise.
16126 * partmap/pc.c: Likewise.
16127 * partmap/sun.c: Likewise.
16128 * term/gfxterm.c: Likewise.
16129 * term/terminfo.c: Likewise.
16130 * term/efi/console.c: Likewise.
16131 * term/i386/pc/console.c: Likewise.
16132 * term/i386/pc/serial.c: Likewise.
16133 * term/i386/pc/vesafb.c: Likewise.
16134 * term/i386/pc/vga.c: Likewise.
16135 * term/ieee1275/ofconsole.c: Likewise.
16136 * util/biosdisk.c: Likewise.
16137 * util/console.c: Likewise.
16138 * util/genmoddep.c: Likewise.
16139 * util/getroot.c: Likewise.
16140 * util/grub-emu.c: Likewise.
16141 * util/grub-mkdevicemap.c: Likewise.
16142 * util/grub-probe.c: Likewise.
16143 * util/lvm.c: Likewise.
16144 * util/misc.c: Likewise.
16145 * util/raid.c: Likewise.
16146 * util/resolve.c: Likewise.
16147 * util/update-grub.in: Likewise.
16148 * util/update-grub_lib.in: Likewise.
16149 * util/grub.d/00_header.in: Likewise.
16150 * util/grub.d/10_hurd.in: Likewise.
16151 * util/grub.d/10_linux.in: Likewise.
16152 * util/i386/efi/grub-install.in: Likewise.
16153 * util/i386/efi/grub-mkimage.c: Likewise.
16154 * util/i386/pc/grub-install.in: Likewise.
16155 * util/i386/pc/grub-mkimage.c: Likewise.
16156 * util/i386/pc/grub-mkrescue.in: Likewise.
16157 * util/i386/pc/grub-setup.c: Likewise.
16158 * util/i386/pc/misc.c: Likewise.
16159 * util/powerpc/ieee1275/grub-install.in: Likewise.
16160 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
16161 * util/powerpc/ieee1275/misc.c: Likewise.
16162 * video/bitmap.c: Likewise.
16163 * video/video.c: Likewise.
16164 * video/i386/pc/vbe.c: Likewise.
16165 * video/i386/pc/vbeblit.c: Likewise.
16166 * video/i386/pc/vbefill.c: Likewise.
16167 * video/i386/pc/vbeutil.c: Likewise.
16168 * video/readers/tga.c: Likewise.
16169
3572d015 161702007-07-02 Robert Millan <rmh@aybabtu.com>
16171
16172 * conf/i386-efi.rmk: Replace obsolete reference to
16173 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
16174 with util/getroot.c.
16175 * conf/powerpc-ieee1275.rmk: Likewise.
16176 * conf/sparc64-ieee1275.rmk: Likewise.
16177
16178 * util/grub-emu.c (main): Fix unchecked pointer handling.
16179
2c2a681b 161802007-07-02 Robert Millan <rmh@aybabtu.com>
16181
16182 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
16183 invocation to fail, in order to support partition-less media.
16184
16185 * util/i386/pc/grub-install.in: Likewise.
16186
16187 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
16188 which fs or partmap modules are needed (akin to its sister scripts).
16189
16190 Also use grub-probe to get rid of unportable /proc/mounts check.
16191
16192 Print the same informational message that the other scripts do, before
fe6b695a 16193 exiting.
2c2a681b 16194
6193defe 161952007-06-23 Robert Millan <rmh@aybabtu.com>
16196
fe6b695a 16197 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 16198 a font file can be found and, if so, echo the GRUB path to it.
16199
16200 * util/update-grub.in: Handle multiple terminals depending on user
16201 input, platform availability and font file presence. Propagate
16202 variables of our findings to /etc/grub.d/ children.
16203
16204 * util/grub.d/00_header.in: Handle multiple terminals, based on
16205 environment setup by update-grub.
16206
eface1dc 162072007-06-23 Robert Millan <rmh@aybabtu.com>
16208
ba50d28f 16209 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 16210
bf697e28 162112007-06-21 Robert Millan <rmh@aybabtu.com>
16212
16213 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
16214 indicate end of data section in kernel image.
16215 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
16216 GRUB_KERNEL_MACHINE_DATA_END.
16217
16218 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
16219 space for it.
16220 * kern/i386/efi/startup.S: Likewise.
16221
16222 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
16223 during image generation. Implement --prefix option to override this
16224 patch.
16225 * util/i386/efi/grub-mkimage.c: Likewise.
16226
16227 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
16228 code to make path relative to its root into a separate function.
16229
16230 * util/i386/pc/grub-install.in: Use newly provided
16231 make_system_path_relative_to_its_root() to convert ${grubdir}, then
16232 pass the result to grub-install --prefix.
16233
baa574b4 162342007-06-13 Robert Millan <rmh@aybabtu.com>
16235
16236 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
16237 DEFAULT_DEVICE_MAP.
16238 * util/grub-emu.c: Use above definitions from misc.h instead of
16239 defining them.
16240 * util/grub-mkdevicemap.c: Likewise.
16241 * util/i386/pc/grub-setup.c: Likewise.
16242 * util/grub-probe.c: Likewise.
16243 (probe): Abort with grub_util_error() when either
16244 grub_guess_root_device or grub_util_get_grub_dev fails.
16245
0215dcbf 162462007-06-12 Robert Millan <rmh@aybabtu.com>
16247
16248 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
16249 "pager" assignment.
16250 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
16251 "pcdata".
16252 * util/grub-probe.c (probe): Likewise for "drive_name".
16253
8af2ab7b 162542007-06-11 Robert Millan <rmh@aybabtu.com>
16255
16256 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
16257 not just the cdrom one.
16258
59d31694 162592007-06-11 Robert Millan <rmh@aybabtu.com>
16260
16261 * util/i386/pc/grub-mkrescue.in: Add "set -e".
16262 Add --pkglibdir=DIR option to override pkglibdir.
16263 Mention --image-type=TYPE in help output.
16264 Fix --grub-mkimage (it was a no-op).
fe6b695a 16265 Abort gracefully when no parameter is given.
59d31694 16266
7ee367e4 162672007-06-11 Robert Millan <rmh@aybabtu.com>
16268
16269 * util/i386/pc/grub-mkrescue.in: New file.
16270 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
16271 * Makefile.in: Handle bin_SCRIPTS.
16272
29b0ed46 162732007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
16274
16275 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
16276 list of video modes.
16277
c0f90770 162782007-06-06 Robert Millan <rmh@aybabtu.com>
16279
16280 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
16281 file doesn't exist, or if it is in a filesystem grub can't read.
16282
16283 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
16284 not abort if GRUB_DRIVE could not be defined. Rearrange generated
16285 header comment to fit in 80 columns when the variables are resolved.
16286
16287 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
16288 could be identified by update-grub. Remove redundant check for
fe6b695a 16289 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 16290 handles that).
16291
fb36dc26 162922007-06-04 Robert Millan <rmh@aybabtu.com>
16293
16294 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
16295
16296 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
16297
16298 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
16299
0c68c93e 163002007-06-04 Robert Millan <rmh@aybabtu.com>
16301
16302 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
16303
16304 * include/grub/partition.h: Declare grub_apple_partition_map_init and
16305 grub_apple_partition_map_fini.
16306
16307 * util/biosdisk.c
16308 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
16309 to access >2 TiB disks).
16310
16311 Print disk->total_sectors with %llu instead of %lu, since this
16312 variable is always 64-bit (prevents wrong disk size from being displayed
16313 on either >2 TiB disk or big-endian CPU).
16314
16315 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
16316 into a generic case that supports all (sane) partition maps.
16317
16318 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
16319 breaks big-endian.
16320
16321 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
16322 and grub_apple_partition_map_fini() after that.
16323
0f23eb74 163242007-06-01 Robert Millan <rmh@aybabtu.com>
16325
16326 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
16327
16328 * util/grub.d/00_header.in: Only enable gfxterm when
16329 convert_system_path_to_grub_path() succeeds.
16330
42c71976 163312007-05-20 Robert Millan <rmh@aybabtu.com>
16332
16333 * util/update-grub_lib.in: New file.
16334 * DISTLIST: Add update-grub_lib.in.
16335 * conf/common.rmk: Generate update-grub_lib and install it in
16336 $(lib_DATA).
16337 * Makefile.in: Add install routine for $(lib_DATA).
16338
16339 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
16340 function provided by update-grub_lib to support arbitrary paths of
16341 unifont.pff.
16342 * util/update-grub.in: Use convert_system_path_to_grub_path() to
16343 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
16344
5beb2291 163452007-05-19 Robert Millan <rmh@aybabtu.com>
16346
16347 * commands/i386/cpuid.c: New module.
16348 * DISTLIST: Add it.
16349 * conf/i386-efi.rmk: Enable cpuid.mod.
16350 * conf/i386-pc.rmk: Likewise.
16351
7262eca1 163522007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16353
16354 * kern/disk.c (grub_disk_read): Check return value of
16355 grub_realloc().
16356
260ba823 163572007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
16358
16359 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
16360 arrays.
16361 * disk/raid.c (grub_raid_open): Likewise.
16362
1ecb6cf2 163632007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16364
16365 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
16366 stack instead of on the heap.
16367
16368 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
16369 before doing a read on it.
16370
16371 * configure.ac: Only use -fno-stack-protector for the target
16372 environment.
f19dbdb7 16373
21c8cbb1 163742007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
16375
16376 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
16377 __attribute_ ((unused)) to mode_type argument.
16378
16379 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 16380
21c8cbb1 16381 * kern/misc.c (memcmp): Fix prototype.
16382
16383 * include/grub/partition.h [GRUB_UTIL]
16384 (grub_gpt_partition_map_init): Add prototype.
16385 (grub_gpt_partition_map_fini): Likewise.
16386
16387 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
16388 at the right place.
16389
16390 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
16391 (grub_fat_read_data): Likewise.
16392 (grub_fat_find_dir): Likewise.
16393
16394 * font/manager.c (find_glyph): Make table a const.
16395 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 16396
849d55d3 163972007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
16398
16399 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
16400 code, first search for device in /dev/mapper, then in /dev.
16401 (grub_util_get_grub_dev): New function.
16402 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
16403 prototype.
16404 * util/grub-probe.c (probe): Remove check for RAID, call
16405 grub_util_get_grub_dev() instead of
16406 grub_util_biosdisk_get_grub_dev().
16407 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
16408 grub_util_biosdisk_get_grub_dev().
16409 * util/i386/pc/grub-setup.c (main): Likewise.
16410
8fff7c2f 164112007-05-16 Robert Millan <rmh@aybabtu.com>
16412
16413 * DISTLIST: Update for the latest changes.
16414 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
16415 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
16416 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
16417 grub/util/biosdisk.h.
16418 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
16419 grub/util/biosdisk.h.
16420
48e12b52 164212007-05-16 Robert Millan <rmh@aybabtu.com>
16422
16423 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
16424
46b9d128 164252007-05-16 Robert Millan <rmh@aybabtu.com>
16426
16427 * util/i386/efi/grub-install.in: New.
16428 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
16429 newly added grub-install.
16430 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
16431 include.
16432 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
16433 grub/util/biosdisk.h.
16434 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
16435 grub/util/biosdisk.h.
16436
2d1a40a9 164372007-05-16 Robert Millan <rmh@aybabtu.com>
16438
16439 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
16440 * include/grub/util/biosdisk.h: ... here.
16441 * util/i386/pc/biosdisk.c: Moved to ...
16442 * util/biosdisk.c: ... here.
16443 * util/i386/pc/getroot.c: Moved to ...
16444 * util/getroot.c: ... here.
16445 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
16446 * util/grub-mkdevicemap.c: ... here.
16447 * util/i386/pc/grub-probe.c: Moved to ...
16448 * util/grub-probe.c: ... here.
16449
9e26e3bc 164502007-05-15 Robert Millan <rmh@aybabtu.com>
16451
16452 * util/update-grub.in: Remove duplicated line in grub.cfg header
16453 message.
16454
57f96397 164552007-05-13 Robert Millan <rmh@aybabtu.com>
16456
16457 * util/update-grub.in: Fix a few assumptions about the devices holding
16458 /, /boot and /boot/grub being the same.
16459 * util/grub.d/00_header.in: Likewise.
16460 * util/grub.d/10_hurd.in: Likewise.
16461 * util/grub.d/10_linux.in: Likewise.
16462
16463 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
16464 patterns. Use that to define the `.old' suffix as older than `'.
16465
16466 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
16467
16468 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
16469 the grub.cfg header message.
16470
2e610d62 164712007-05-11 Robert Millan <rmh@aybabtu.com>
16472
16473 * util/update-grub.in: Create device.map if it doesn't already exist,
16474 before attempting to run grub-probe.
16475 Check for grub-probe and grub-mkdevicemap with the same code
16476 grub-install is using.
16477 Remove test mode.
16478
3f6a10ef 164792007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
16480
16481 * Makefile.in: Add the datarootdir autoconf variable.
16482
02e7b75e 164832007-05-09 Robert Millan <rmh@aybabtu.com>
16484
16485 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 16486 fail gracefully if dev->disk->partition == NULL.
02e7b75e 16487
75f396cc 164882007-05-07 Robert Millan <rmh@aybabtu.com>
16489
16490 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
16491 determine partition map module.
16492 * util/i386/pc/grub-install.in: Use this feature to decide which
16493 partition module to load, instead of hardcoding pc and gpt.
16494
da65cb36 164952007-05-07 Robert Millan <rmh@aybabtu.com>
16496
16497 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
16498 source directory differs from build directory.
16499
b57d6a91 165002007-05-05 Robert Millan <rmh@aybabtu.com>
16501
16502 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
16503 initialisation.
16504
509d00f1 165052007-05-05 Robert Millan <rmh@aybabtu.com>
16506
16507 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
16508
c48f23ef 165092007-05-05 Robert Millan <rmh@aybabtu.com>
16510
16511 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
16512 command-line arguments via ${GRUB_CMDLINE_LINUX}.
16513
20b97658 165142007-05-05 Robert Millan <rmh@aybabtu.com>
16515
16516 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
16517 (grub_probe_SOURCES): Likewise.
16518 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
16519 GPT and initialize dos_part and bsd_part accordingly.
16520 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
16521 install_bsd_part.
16522 (main): Activate gpt module for use during partition identification,
16523 and deactivate it afterwards.
16524 * util/i386/pc/grub-install.in: Add gpt module to core.img.
16525 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
16526 partition identification, and deactivate it afterwards.
16527
99123174 165282007-05-05 Robert Millan <rmh@aybabtu.com>
16529
16530 * term/i386/pc/console.c (grub_console_fini): Call
16531 grub_term_set_current() before grub_term_unregister().
16532
ebd97f6e 165332007-05-04 Robert Millan <rmh@aybabtu.com>
16534
16535 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
16536 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
16537 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
16538 and update-grub_DATA.
16539 * conf/common.rmk: Build and install update-grub components.
16540 * conf/common.mk: Regenerate.
16541 * util/update-grub.in: New. Core of update-grub.
16542 * util/grub.d/00_header.in: New. Generates grub.cfg header.
16543 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
16544 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
16545 * util/grub.d/README: New. Document grub.d directory layout.
16546
b06a264d 165472007-05-01 Robert Millan <rmh@aybabtu.com>
16548
16549 * util/grub-emu.c: Move initialization functions
16550 grub_util_biosdisk_init() and grub_init_all() before
16551 grub_util_biosdisk_get_grub_dev(), which relies on them.
16552
41f0050e 165532007-04-19 Robert Millan <rmh@aybabtu.com>
16554
16555 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
16556 it is used later.
16557
04582bb3 165582007-04-18 Jerone Young <jerone@gmail.com>
16559
f19dbdb7 16560 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 16561 stanza.
16562
08db4632 165632007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 16564
08db4632 16565 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
16566 continue on and look for device node with real device name.
16567
801b76be 165682007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 16569
fe6b695a 16570 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 16571 ability.
16572 * Makefile.in: Add autoconf package transformation code.
16573 * util/i386/pc/grub-install.in: Likewise.
16574 * util/powerpc/ieee1275/grub-install.in: Likewise.
16575
6795c4e1 165762007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
16577
16578 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
16579 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
16580 (EXT2_REVISION): Likewise.
16581 (EXT2_INODE_SIZE): Likewise.
16582 (struct grub_ext2_block_group): Added a missing member
16583 "used_dirs".
16584 (grub_ext2_read_inode): Divide by the inode size in a superblock
16585 instead of 128 to obtain INODES_PER_BLOCK.
16586 Use the macro EXT2_INODE_SIZE instead of directly using
16587 SBLOCK->INODE_SIZE.
16588
d70af616 165892007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
16590
16591 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
16592 superblock instead of the structure size to compute an
16593 offset. This fixes the problem that GRUB could not read a
16594 filesystem when inode size is different from 128-byte.
16595
3b801603 165962007-03-05 Marco Gerards <marco@gnu.org>
16597
16598 * normal/main.c (read_config_file): When "menu" is not set, create
16599 an initial context.
16600
4785bfe4 166012007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16602
16603 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
16604 (HEAP_LIMIT): New macro.
16605 (grub_claim_heap): Claim memory up to `heaplimit'.
16606
a0cbb023 166072007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16608
16609 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
16610 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
16611 (_start): Likewise.
16612 (grub_arch_modules_addr): Return address after `_end'.
16613 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
16614 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
16615 (add_segments): Calculate `_end' from phdr size and location.
16616 (ALIGN_UP): Moved to ...
16617 * include/grub/misc.h: here.
16618 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16619 New macro.
16620 (GRUB_IEEE1275_MODULE_BASE): Removed.
16621
fd7d8eba 166222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16623
16624 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
16625 loop boundary.
16626
9b09e6fc 166272007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16628
16629 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
16630 All users updated.
16631 (grub_elf64_load_hook_t): Likewise.
16632 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
16633 debug output.
16634
3ce27299 166352007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16636
16637 * kern/mm.c: Update copyright.
16638 (grub_mm_debug): Correct syntax error.
16639 (grub_mm_dump_free): New function.
16640 (grub_debug_free): Call `grub_free'.
16641 * include/grub/mm.h: Update copyright.
16642 (grub_mm_dump_free): Add declaration.
16643
077d5fee 166442007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16645
16646 * include/grub/ieee1275/ieee1275.h: Update copyright.
16647 * kern/powerpc/ieee1275/init.c: Likewise.
16648 * kern/powerpc/ieee1275/openfw.c: Likewise.
16649
16650 * loader/powerpc/ieee1275/linux.c: Likewise.
16651 * include/grub/elfload.h: Likewise.
16652 * kern/elf.c: Likewise.
16653 (grub_elf32_load): Pass `base' and `size' parameters. Update all
16654 callers.
16655 (grub_elf64_load): Likewise.
16656 (grub_elf32_load_segment): Move to a nested function.
16657 (grub_elf64_load_segment): Likewise.
16658
dc946850 166592007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16660
16661 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
16662 prototype.
16663 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
16664 (grub_heap_len): Likewise.
16665 (HEAP_SIZE): New macro.
16666 (grub_claim_heap): New function.
16667 (grub_machine_init): Don't claim heap directly. Call
16668 `grub_claim_heap'.
16669 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
16670 (grub_available_iterate): New function.
16671
baa2a121 166722007-02-03 Thomas Schwinge <tschwinge@gnu.org>
16673
16674 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
16675 * configure.ac: Use it for testing the HOST and TARGET compilers.
16676
4fe9862e 166772006-12-13 Thomas Schwinge <tschwinge@gnu.org>
16678
16679 * Makefile.in (enable_grub_emu): New variable.
16680 * configure.ac (--enable-grub-emu): New option.
16681 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
16682 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
16683 * conf/i386-pc.rmk: Likewise.
16684 * conf/powerpc-ieee1275.rmk: Likewise.
16685 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
16686
a8aa5762 166872006-12-12 Marco Gerards <marco@gnu.org>
16688
16689 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
16690
16691 * kern/env.c (grub_env_unset): Don't free the member `value' when
16692 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
16693 pointer.
16694
16695 * normal/main.c (current_menu): Removed.
16696 (free_menu): Unset the `menu' environment variable.
16697 (grub_normal_menu_addentry): Make use of the environment variable
16698 `menu', instead of using the global `current_menu'. Allocate
16699 memory for the sourcecode of this entry.
16700 (read_config_file): New argument `nested', changed all callers.
16701 Only in the case of a new context, initialize a new menu. Set the
16702 `menu' environment variable.
16703 (grub_normal_execute): Don't set and unset the environment
16704 variable `menu' here anymore. Only free the menu when leaving the
16705 context.
16706
16707 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
16708 leak.
16709
957b3a3e 167102006-12-11 Marco Gerards <marco@gnu.org>
16711
16712 * normal/menu_entry.c (run): Fix off by one bug so the last line
16713 is executed. Move the loader check to outside the loop.
16714
ef875714 167152006-12-08 Hollis Blanchard <hollis@penguinppc.org>
16716
16717 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
16718
4e739985 167192006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
16720
16721 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
16722 the number of sectors. Reported by Andrey Shuvikov
16723 <mr_hyro@yahoo.com>.
f19dbdb7 16724
790707f2 167252006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
16726
16727 * kern/disk.c (grub_disk_read): When there is a read error, always
16728 try to read only the necessary data.
f19dbdb7 16729
790707f2 16730 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
16731 disk/raid.c.
16732 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
16733 prototype.
16734 [GRUB_UTIL] (grub_raid_fini): Likewise.
16735 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 16736 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 16737 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
16738 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
16739 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
16740 and grub_raid_fini().
f19dbdb7 16741
03e58196 167422006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
16743
16744 * include/grub/types.h (__unused): Rename to UNUSED.
16745 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
16746 (grub_elf64_size): Likewise.
f19dbdb7 16747
ae4f23bf 167482006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16749
16750 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
16751 grub_error_push and grub_error_pop in the error-handling path.
16752 (grub_elf32_load_segment): Only call grub_file_read with non-zero
16753 length.
16754
2166cc83 167552006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16756
16757 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
16758 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16760 (kernel_elf_SOURCES): Likewise.
16761 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
16762 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
16763 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16764 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16765 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
16766 (elf_mod_SOURCES): New variable.
16767 (elf_mod_CFLAGS): Likewise.
16768 (elf_mod_LDFLAGS): Likewise.
16769 * include/grub/types.h (__unused): New macro.
16770 * include/grub/elfload.h: New file.
16771 * kern/elf.c: Likewise.
16772 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
16773 (ELF32_LOADMASK): New macro.
16774 (ELF64_LOADMASK): Likewise.
16775 (vmlinux): Removed.
16776 (grub_linux_load32): New function.
16777 (grub_linux_load64): Likewise.
16778 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
16779 Use grub_elf_t instead of grub_file_t.
16780
a09d5aa5 167812006-11-02 Hollis Blanchard <hollis@penguinppc.org>
16782
16783 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
16784 `catch_result' to struct set_color_args.
16785
d976fc51 167862006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16787
16788 * normal/menu.c: Include grub/script.h.
16789 * normal/menu_entry.c: Likewise.
16790 * include/grub/normal.h: Do not include grub/script.h.
16791
67507549 167922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16793
16794 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
16795
69203a99 167962006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16797
16798 * kern/disk.c (grub_disk_open): Print debug messages when opening a
16799 disk.
16800 (grub_disk_close): Print debug messages when closing a disk.
16801 (grub_disk_read): Print debug messages when disk read fails.
16802 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
16803 filesystem type.
16804 * kern/partition.c: Include misc.h.
16805 (grub_partition_iterate): Print debug messages when detecting
16806 partition type.
16807
e2b8278c 168082006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16809
16810 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
16811 is negative.
16812 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
16813
97b2f2ff 168142006-10-26 Hollis Blanchard <hollis@penguinppc.org>
16815
16816 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16817 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
16818
6555d655 168192006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
16820
16821 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
16822 instead of sizeof(lv). Patch by Michael Guntsche.
16823
4d42b77f 168242006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
16825
16826 * disk/lvm.c: Rename VGS to VG_LIST.
16827 (grub_lvm_iterate): Change VGS->LV to VG-LV.
16828 (grub_lvm_open): Likewise.
16829 Thanks to Michael Guntsche for finding this bug.
16830
5d74d927 168312006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16832
16833 * configure.ac (AC_INIT): Bumped to 1.95.
16834
a1bb27e4 168352006-10-14 Robert Millan <rmh@aybabtu.com>
16836
16837 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
16838 with "/dev/.static/dev/md".
16839
e0994b8b 168402006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16841
16842 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
16843 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
16844 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
16845 DRIVE_NAME are always freed.
16846
16847 * util/i386/pc/biosdisk.c (make_device_name): Add one into
16848 DOS_PART, as a DOS partition is counted from one instead of zero
16849 now. Reported by Robert Millan.
16850
ddd5cee9 168512006-10-14 Robert Millan <rmh@aybabtu.com>
16852
16853 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
16854 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
16855 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
16856 string returned by grub_guess_root_device.
16857 * util/i386/pc/grub-setup.c: Likewise.
16858 * util/i386/pc/grub-probefs.c: Likewise.
16859
16860 * util/i386/pc/grub-probefs.c: Rename to ...
16861 * util/i386/pc/grub-probe.c: ... this.
16862 * DISTLIST: Remove grub-probefs, add grub-probe.
16863 * conf/i386-efi.rmk: Likewise.
16864 * conf/i386-pc.rmk: Likewise.
16865 * util/i386/pc/grub-install.in: Likewise.
16866
16867 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
16868 choose which information we want to print.
16869
2b002173 168702006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16871
16872 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
16873 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
16874 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
16875 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
16876 video/readers/tga.c and video/i386/pc/vbeutil.c.
16877
168782006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
16879
16880 Added support for RAID and LVM.
f19dbdb7 16881
2b002173 16882 * disk/lvm.c: New file.
16883 * disk/raid.c: Likewise.
16884 * include/grub/lvm.h: Likewise.
f19dbdb7 16885 * include/grub/raid.h: Likewise.
2b002173 16886 * include/grub/util/lvm.h: Likewise.
16887 * include/grub/util/raid.h: Likewise.
16888 * util/lvm.c: Likewise.
16889 * util/raid.c: Likewise.
16890
16891 * include/grub/disk.h (grub_disk_dev_id): Add
16892 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
16893 (grub_disk_get_size): New prototype.
16894 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
16895 returns a partition.
16896 (grub_disk_get_size): New function.
f19dbdb7 16897
2b002173 16898 * kern/i386/pc/init.c (make_install_device): Copy the prefix
16899 verbatim if grub_install_dos_part is -2.
16900
16901 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
16902 and LVM devices.
16903
16904 * util/i386/pc/grub-setup.c (setup): New argument
16905 MUST_EMBED. Force embedding of GRUB when the argument is
16906 true. Close FILE before returning.
16907 (main): Add support for RAID and LVM.
f19dbdb7 16908
2b002173 16909 * conf/common.rmk: Add RAID and LVM modules.
16910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
16911 util/lvm.c.
16912 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
16913
16914 * kern/misc.c (grub_strstr): New function.
16915 * include/grub/misc.h (grub_strstr): New prototype.
16916
050548d0 169172006-10-10 Tristan Gingold <tristan.gingold@bull.net>
16918
16919 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16920
da849d2d 169212006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16922
16923 * kern/misc.c (grub_strtoull): Guess the base only if not
16924 specified.
16925
97b2f2ff 169262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16927
16928 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16929 PowerMac support.
16930
97b2f2ff 169312006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16932
16933 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16934
16935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16936 Remove `flags' argument. All callers changed.
16937 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16938 (IEEE1275_IHANDLE_INVALID): New variable.
16939 (IEEE1275_CELL_INVALID): New variable.
16940 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16941 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16942 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16943 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16944 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16945 codes from Open Firmware. All callers updated.
16946 (grub_ieee1275_next_property): Directly return Open Firmware return
16947 code.
16948 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16949 Standardize error checking from `grub_ieee1275_get_property'.
16950 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16951 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16952
97b2f2ff 169532006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16954
16955 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16956 `instance_to_package_args' to `instance_to_path_args'.
16957
16958 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16959 `grub_ieee1275_chosen'.
16960
16961 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16962 `grub_ieee1275_interpret'.
16963
97b2f2ff 169642006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16965
16966 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16967
97b2f2ff 169682006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16969
16970 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16971 (__cmpdi): Likewise.
16972
16973 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16974 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16975 `grub_ssize_t'.
16976
02bb8acc 16977 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 16978
16979 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
16980 to type `grub_ssize_t'.
16981 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
16982
7f9a8531 169832006-09-22 Marco Gerards <marco@gnu.org>
16984
16985 * normal/script.c (grub_script_create_cmdmenu): Skip leading
16986 newlines.
16987
b5ef1102 169882006-09-22 Marco Gerards <marco@gnu.org>
16989
16990 * commands/echo.c: New file.
16991
16992 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
16993
16994 * conf/common.rmk (echo_mod_SOURCES): New variable.
16995 (echo_mod_CFLAGS): Likewise.
16996 (echo_mod_LDFLAGS): Likewise.
16997
2cff3677 169982006-09-22 Marco Gerards <marco@gnu.org>
16999
17000 * normal/main.c (get_line): Malloc memory instead of using
17001 preallocated memory. Removed the arguments `cmdline' and
17002 `max_len'. Updated all callers.
17003
6ba4688b 170042006-09-22 Marco Gerards <marco@gnu.org>
17005
17006 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17007 (normal_mod_DEPENDENCIES): Likewise.
17008
17009 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17010 (normal_mod_DEPENDENCIES): Likewise.
17011
17012 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17013
e02ac02c 170142006-09-22 Johan Rydberg <jrydberg@gnu.org>
17015
17016 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17017 programs.
17018 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17019 (normal_mod_DEPENDENCIES): Likewise.
17020 * conf/i386-pc.mk: Regenerate.
17021 * conf/i386-efi.mk: Likewise
17022 * conf/common.mk: Likewise.
17023 * conf/powerpc-ieee1275.mk: Likewise.
17024 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17025
8d252e44 170262006-09-22 Robert Millan <rmh@aybabtu.com>
17027
17028 Sync with i386 version.
17029 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17030 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17031
209bf7ac 170322006-09-21 Robert Millan <rmh@aybabtu.com>
17033
17034 Import from GRUB Legacy (lib/device.c):
17035 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17036 (init_device_map) [__linux__]: Add support for I2O devices.
17037
6b146090 170382006-09-14 Marco Gerards <marco@gnu.org>
17039
17040 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17041 `-melf_i386'.
17042
e38600a8 170432006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17044
17045 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17046 /boot/grub/*.lst.
78fa1790 17047
2952da5d 17048 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17049
2952da5d 17050 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17051 before adding it to device.map.
17052
01b82a64 170532006-08-15 Johan Rydberg <jrydberg@gnu.org>
17054
fe6b695a 17055 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17056 compiles a file; using the -MD option.
17057 * conf/common.mk: Regenerate.
17058 * conf/i386-pc.mk: Likewise.
17059 * conf/i386-efi.mk: Likewise.
17060 * conf/powerpc-ieee1275.mk: Likewise.
17061 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17062
1064790d 170632006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17064
17065 Move the prototypes of grub_setjmp and grub_longjmp to
17066 cpu/setjmp.h, so that each architecture may specify different
17067 attributes.
f19dbdb7 17068
1064790d 17069 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17070 (grub_longjmp): Likewise.
17071 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17072 (grub_longjmp): Likewise.
17073 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17074 (grub_longjmp): Likewise.
17075
17076 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17077 [!GRUB_UTIL] (grub_longjmp): Removed.
17078
29dda3ed 170792006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17080
17081 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17082 "color!" method does not return any value.
17083
ad2a06ed 170842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17085
17086 * include/grub/bitmap.h: New file.
17087
17088 * include/grub/i386/pc/vbeutil.h: Likewise.
17089
17090 * video/bitmap.c: Likewise.
17091
17092 * video/readers/tga.c: Likewise.
17093
17094 * video/i386/pc/vbeutil.c: Likewise.
17095
17096 * commands/videotest.c: Code cleanup and updated to reflect to new
17097 video API.
17098
17099 * term/gfxterm.c: Likewise.
17100
17101 * video/video.c: Likewise.
17102
17103 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
17104 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
17105 (bitmap_mod_SOURCES): New entry.
17106 (bitmap_mod_CFLAGS): Likewise.
17107 (bitmap_mod_LDFLAGS): Likewise.
17108 (tga_mod_SOURCES): Likewise.
17109 (tga_mod_CFLAGS): Likewise.
17110 (tga_mod_LDFLAGS): Likewise.
17111
17112 * include/grub/video.h (grub_video_blit_operators): New enum type.
17113 (grub_video_render_target): Changed as forward declaration and moved
17114 actual definition to be video driver specific.
17115 (grub_video_adapter.blit_bitmap): Added blitting operator.
17116 (grub_video_adapter.blit_render_target): Likewise.
17117 (grub_video_blit_bitmap): Likewise.
17118 (grub_video_blit_render_target): Likewise.
17119
17120 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
17121 driver specific render target definition.
17122 (grub_video_vbe_map_rgba): Added driver internal helper.
17123 (grub_video_vbe_unmap_color): Updated to use
17124 grub_video_i386_vbeblit_info.
17125 (grub_video_vbe_get_video_ptr): Likewise.
17126
17127 * include/grub/i386/pc/vbeblit.h
17128 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
17129 grub_video_i386_vbeblit_info.
17130 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17131 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17132 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17133 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17134 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17135 (grub_video_i386_vbeblit_index_index): Likewise.
17136 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
17137 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17138 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17139 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
17140 operator.
17141 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
17142 operator.
17143
17144 * video/i386/pc/vbeblit.c: Updated to reflect changes on
17145 include/grub/i386/pc/vbeblit.h.
17146
17147 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
17148 Updated to use grub_video_i386_vbeblit_info.
17149 (grub_video_i386_vbefill_R8G8B8): Likewise.
17150 (grub_video_i386_vbefill_index): Likewise.
17151 (grub_video_i386_vbefill): Added generic filler.
17152
17153 * video/i386/pc/vbefill.c: Updated to reflect changes on
17154 include/grub/i386/pc/vbefill.h.
17155
17156 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
17157 grub_video_i386_vbeblit_info.
17158 (grub_video_vbe_unmap_color): Likewise.
17159 (grub_video_vbe_blit_glyph): Likewise.
17160 (grub_video_vbe_scroll): Likewise.
17161 (grub_video_vbe_draw_pixel): Removed function.
17162 (grub_video_vbe_get_pixel): Likewise.
17163 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
17164 updated code to use it.
17165 (common_blitter): Added common blitter for render target and bitmap.
17166 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
17167 (grub_video_vbe_blit_render_target): Likewise.
17168
bc8c036d 171692006-07-30 Johan Rydberg <jrydberg@gnu.org>
17170
17171 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
17172 is in text mode if there is no console control protocol instance
17173 available.
17174
684a8eff 171752006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17176
17177 * include/grub/video.h: Code cleanup.
17178
17179 * include/grub/i386/pc/vbe.h: Likewise.
17180
17181 * video/i386/pc/vbe.c: Likewise.
17182
17183 * video/i386/pc/vbeblit.c: Likewise.
17184
17185 * video/i386/pc/vbefill.c: Likewise.
17186
17187 * video/video.c: Likewise. Also added more comments.
17188
5915059b 171892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17190
17191 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
17192 (struct grub_biosdisk_dap): Likewise.
17193
17194 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
17195 linkage settings for all functions.
17196
90ce5d56 171972006-07-12 Marco Gerards <marco@gnu.org>
17198
17199 * configure.ac (--enable-mm-debug): Fix typo.
17200
17201 * genkernsyms.sh.in: Use proper quoting for `CC'.
17202
43e7f879 172032006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
17204
17205 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
17206 (normal_mod_ASFLAGS): Remove "-m32".
17207
4889bdec 172082006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
17209
17210 * util/misc.c: Include config.h.
17211 [!HAVE_MEMALIGN]: Do not include malloc.h.
17212 (grub_memalign): Use posix_memalign, if present. Then, use
17213 memalign, if present. Otherwise, emit an error.
17214
17215 * util/grub-emu.c: Do not include malloc.h.
17216
17217 * include/grub/util/misc.h: Include unistd.h. This is required for
17218 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
17219 D. Eades III <hde@foobar-qux.org>.
17220
17221 * configure.ac (AC_GNU_SOURCE): Added.
17222 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
17223 type.
17224
fd39d4da 172252006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
17226
17227 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
17228 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
17229
b786f3b5 172302006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
17231
17232 * include/grub/types.h (grub_host_addr_t): Rename to
17233 grub_target_addr_t.
17234 (grub_host_off_t): Rename to grub_target_off_t.
17235 (grub_host_size_t): Rename to grub_target_size_t.
17236 (grub_host_ssize_t): Rename to grub_target_ssize_t.
17237 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
17238
17239 * include/grub/kernel.h (struct grub_module_header): Change type
17240 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
17241 (grub_module_info): Likewise.
f19dbdb7 17242
051988bb 172432006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17244
17245 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
17246 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
17247 Velazquez <jesus.velazquez@gmail.com>.
17248
deae281b 172492006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17250
17251 Count partitions from 1 instead of 0 in the string representation
17252 of partitions. Still use 0-based internally.
f19dbdb7 17253
deae281b 17254 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
17255 (sun_partition_map_iterate): Use grub_partition_t instead of
17256 struct grub_partition *. Cast DESC->START_CYLINDER to
17257 grub_uint64_t after converting the endian.
17258 (sun_partition_map_probe): Subtract 1 for PARTNUM.
17259 (sun_partition_map_get_name): Add 1 to P->INDEX.
17260
17261 * partmap/pc.c (grub_partition_parse): Subtract 1 for
17262 PCDATA->DOS_PART.
17263 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
17264
17265 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
17266 zero instead of one.
17267 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
17268 (gpt_partition_map_get_name): Add 1 into P->INDEX.
17269
17270 * partmap/apple.c (apple_partition_map_iterate): Change the type
17271 of POS to unsigned.
17272 (apple_partition_map_probe): Subtract 1 for PARTNUM.
17273 (apple_partition_map_get_name): Add 1 into P->INDEX.
17274
17275 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
17276 of POS to unsigned.
17277 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
17278 calculate the offset of a partition.
17279 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
17280 (amiga_partition_map_get_name): Add 1 into P->INDEX.
17281
17282 * partmap/acorn.c (acorn_partition_map_find): Change the type of
17283 SECTOR to grub_disk_addr_t.
17284 (acorn_partition_map_iterate): Likewise.
17285 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
17286 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
17287 top.
17288 (acorn_partition_map_get_name): Add 1 into P->INDEX.
17289
17290 * kern/i386/pc/init.c (make_install_device): Add 1 into
17291 GRUB_INSTALL_DOS_PART.
17292
17293 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
17294 conditional.
17295
524a1e6a 172962006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17297
17298 Clean up the code to support 64-bit addressing in disks and
17299 files. This change is not enough for filesystems yet.
f19dbdb7 17300
524a1e6a 17301 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
17302 type of "start" to grub_uint64_t.
17303 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
17304 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
17305 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
17306 convert addresses.
17307
17308 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
17309 to grub_disk_addr_t.
17310
17311 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
17312 string.
17313
17314 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17315
17316 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
17317 to char *.
17318
17319 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
17320
17321 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
17322
17323 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
17324
17325 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
17326 to grub_off_t, to detect an error from grub_file_seek.
17327 (grub_multiboot_load_elf32): Likewise.
17328
17329 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
17330 maximum unsigned long value when an overflow is detected.
17331 (grub_strtoull): New function.
17332 (grub_divmod64): Likewise.
17333 (grub_lltoa): use grub_divmod64.
17334
17335 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
17336 grub_disk_addr_t.
17337 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
17338 the pointer to next character. Use grub_strtoull instead of
17339 grub_strtoul.
17340 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
17341 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
17342 respectively.
17343
fe6b695a 17344 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 17345 return value is signed.
17346 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
17347 test if OFFSET is less than zero, as OFFSET is unsigned now.
17348
17349 * kern/disk.c (struct grub_disk_cache): Change the type of
17350 "sector" to grub_disk_addr_t.
17351 (grub_disk_cache_get_index): Change the type of SECTOR to
17352 grub_disk_addr_t. Calculate the hash with SECTOR casted to
17353 unsigned after shifting.
17354 (grub_disk_cache_invalidate): Change the type of SECTOR to
17355 grub_disk_addr_t.
17356 (grub_disk_cache_unlock): Likewise.
17357 (grub_disk_cache_store): Likewise.
17358 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
17359 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
17360 grub_disk_addr_t and grub_uint64_t, respectively.
17361 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
17362 body, as the value of OFFSET is tweaked by
17363 grub_disk_check_range. Change the types of START_SECTOR, LEN and
17364 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
17365 respectively.
17366 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
17367 body, as the value of OFFSET is tweaked by
17368 grub_disk_check_range. Change the types of LEN and N to
17369 grub_size_t.
17370
17371 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
17372 and "saved_offset" to grub_off_t.
17373 (test_header): Cast BUF to char *.
17374 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
17375 to char *.
17376 (grub_gzio_read): Change the types of OFFSET and SIZE to
17377 grub_off_t and grub_size_t, respectively.
17378
17379 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
17380 Removed.
17381 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
17382 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
17383 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
17384 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
17385 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
17386
17387 * include/grub/types.h (grub_off_t): Unconditionally set to
17388 grub_uint64_t.
17389 (grub_disk_addr_t): Changed to grub_uint64_t.
17390
17391 * include/grub/partition.h (struct grub_partition): Change the
17392 types of "start", "len" and "offset" to grub_disk_addr_t,
17393 grub_uint64_t and grub_disk_addr_t, respectively.
17394 (grub_partition_get_start): Return grub_disk_addr_t.
17395 (grub_partition_get_len): Return grub_uint64_t.
17396
17397 * include/grub/misc.h (grub_strtoull): New prototype.
17398 (grub_divmod64): Likewise.
17399
17400 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
17401 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
17402 grub_off_t, respectively.
17403 All callers and references changed.
17404
17405 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
17406 grub_size_t in "read".
17407 All callers and references changed.
17408
17409 * include/grub/file.h (struct grub_file): Change the types of
17410 "offset" and "size" to grub_off_t and grub_off_t,
17411 respectively. Change the type of SECTOR to grub_disk_addr_t in
17412 "read_hook".
17413 (grub_file_read): Change the type of LEN to grub_size_t.
17414 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
17415 grub_off_t.
17416 (grub_file_size): Return grub_off_t.
17417 (grub_file_tell): Likewise.
17418 All callers and references changed.
17419
17420 * include/grub/disk.h (struct grub_disk_dev): Change the types of
17421 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
17422 "write".
17423 (struct grub_disk): Change the type of "total_sectors" to
17424 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 17425 "read_hook".
524a1e6a 17426 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
17427 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
17428 (grub_disk_write): Likewise.
17429 All callers and references changed.
17430
17431 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
17432 char * for grub_strncmp to silence gcc.
17433 (grub_iso9660_mount): Likewise.
17434 (grub_iso9660_mount): Likewise.
17435 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
17436 return statement.
17437 (grub_iso9660_iterate_dir): Likewise.
17438 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
17439
17440 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
17441 LEN to grub_disk_addr_t and grub_size_t, respectively.
17442
17443 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17444
17445 * fs/jfs.c (grub_jfs_read_file): Likewise.
17446
17447 * fs/minix.c (grub_jfs_read_file): Likewise.
17448
17449 * fs/sfs.c (grub_jfs_read_file): Likewise.
17450
17451 * fs/ufs.c (grub_jfs_read_file): Likewise.
17452
17453 * fs/xfs.c (grub_jfs_read_file): Likewise.
17454
17455 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
17456 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
17457 respectively.
17458
17459 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
17460 BLKNR to -1 instead of returning GRUB_ERRNO.
17461 (grub_ext2_read_file): Change the types of SECTOR and
17462 LEN to grub_disk_addr_t and grub_size_t, respectively.
17463
17464 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
17465 LEN to grub_disk_addr_t and grub_size_t, respectively.
17466
17467 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
17468 grub_file_read.
17469
17470 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
17471 string. Do not cast SECTOR explicitly.
17472
17473 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
17474 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
17475 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
17476 grub_disk_addr_t and grub_size_t, respectively. If the sector is
17477 over 2TB and LBA mode is not supported, raise an error.
17478 (get_safe_sectors): New function.
17479 (grub_biosdisk_read): Use get_safe_sectors.
17480 (grub_biosdisk_write): Likewise.
17481
17482 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
17483 (grub_efidisk_write): Likewise.
17484
17485 * disk/loopback.c (delete_loopback): Cosmetic changes.
17486 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
17487 correctly.
17488 (grub_loopback_open): Likewise.
17489 (grub_loopback_read): Likewise. Also, change the type of POS to
17490 grub_off_t, and fix the usage of grub_memset.
17491
17492 * commands/i386/pc/play.c: Include grub/machine/time.h.
17493
17494 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
17495 print FILE->SIZE.
17496
17497 * commands/configfile.c: Include grub/env.h.
17498
17499 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
17500 GRUB_ERRNO directly instead. Change the type of POS to
17501 grub_off_t. Follow the coding standard.
17502
17503 * commands/blocklist.c: Include grub/partition.h.
17504 (grub_cmd_blocklist): Return an error if the underlying device is
17505 not a disk. Take the starting sector of a partition into account,
17506 if a partition is used.
17507
17508 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
17509 a length field.
17510 (lba_mode): Support 64-bit addresses.
17511 (chs_mode): Likewise.
17512 (copy_buffer): Adapted to the new offsets of a length field and a
17513 segment field.
17514 (blocklist_default_start): Allocate 64-bit space.
17515
17516 * boot/i386/pc/boot.S (force_lba): Removed.
17517 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 17518 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 17519 space.
17520 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
17521 is useless.
17522 (lba_mode): Refactored to support a 64-bit address. More size
17523 optimization.
17524 (setup_sectors): Likewise.
17525
53af98ad 175262006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
17527
17528 * DISTLIST: Added include/grub/i386/linux.h. Removed
17529 include/grub/i386/pc/linux.h
17530
17531 * configure.ac (AC_INIT): Bumped to 1.94.
17532
17533 * config.guess: Updated from gnulib.
17534 * config.sub: Likewise.
17535 * install-sh: Likewise.
17536 * mkinstalldirs: Likewise.
17537
b4c1940a 175382006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17539
17540 * conf/common.rmk (grub_modules_init.lst): Depended on
17541 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
17542 MODSRCFILES.
17543
17544 * genmk.rb (PModule::rule): Reverted the previous change.
17545
cfca1cfd 175462006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
17547
17548 * conf/common.rmk (grub_modules_init.lst): Depends on
17549 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
17550 that the target does not exist before producing.
17551 (grub_modules_init.h): Remove the target before generating.
17552 (grub_emu_init.c): Likewise.
17553
17554 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
17555
aa6d7826 175562006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
17557
17558 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
17559 for the target-specific tests. Make sure that we also have the
17560 up-to-date target variables for those tests.
17561
26c607b9 175622006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17563
17564 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
17565 (PModule::rule): Likewise.
17566
0162321a 175672006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17568
17569 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
17570 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
17571 target-specific flags should be prefixed.
17572 (PModule::rule): Likewise.
17573
6c826348 175742006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
17575
17576 * configure.ac (CMP): Check if cmp is available explicitly.
17577
b977bf01 175782006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
17579
17580 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
17581 (target_cpu): New variable.
17582 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 17583
b977bf01 17584 * util/i386/pc/grub-install.in (host_cpu): Removed.
17585 (target_cpu): New variable.
17586 (pkglibdir): Use target_cpu instead of host_cpu.
17587
17588 * util/genmoddep.c: Removed.
f19dbdb7 17589
b977bf01 17590 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
17591 instead of GRUB_HOST_SIZEOF_VOID_P.
17592 * kern/dl.c: Likewise.
17593
17594 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
17595 ...
17596 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17597 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17598 (GRUB_TARGET_SIZEOF_LONG): ... this.
17599 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17600 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17601 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17602 to ...
17603 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17604 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17605 (GRUB_TARGET_SIZEOF_LONG): ... this.
17606 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17607 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17608 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17609 to ...
17610 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17611 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17612 (GRUB_TARGET_SIZEOF_LONG): ... this.
17613 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17614 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17615
17616 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
17617 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
17618 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
17619 instead of GRUB_HOST_SIZEOF_LONG.
17620 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
17621 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
17622 GRUB_CPU_WORDS_BIGENDIAN.
17623 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
17624 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
17625 grub_host_ssize_t.
17626
17627 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
17628 (genmoddep_SOURCES): Likewise.
17629 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
17630 (genmoddep_SOURCES): Likewise.
17631 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
17632 (genmoddep_SOURCES): Likewise.
17633 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
17634 Likewise.
17635 (genmoddep_SOURCES): Likewise.
17636
17637 * genmoddep.awk: New file.
17638
17639 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
17640 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
17641 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
17642 (PModule::rule): Likewise.
17643 (Program::rule): Likewise.
17644 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
17645 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
17646 respectively.
17647
17648 * configure.ac: Rewritten intensively to use host and target
17649 instead of build and host, respectively.
17650
17651 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
17652 (host_cpu): Removed.
17653 (target_cpu): New variable.
17654 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
17655 (BUILD_CC): Removed.
17656 (BUILD_CFLAGS): Likewise.
17657 (BUILD_CPPFLAGS): Likewise.
17658 (TARGET_CC): New variable.
17659 (TARGET_CFLAGS): Likewise.
17660 (TARGET_CPPFLAGS): Likewise.
17661 (TARGET_LDFLAGS): Likewise.
17662 (AWK): Likewise.
17663 (include): Use target_cpu instead of host_cpu.
17664 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 17665
b977bf01 17666 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
17667
f09771a1 176682006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
17669
17670 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
17671 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
17672 field 'false' to 'exec_on_false'.
17673 (grub_script_create_cmdif): Renamed argument names to reflect above
17674 changes.
17675
17676 * normal/execute.c (grub_script_execute_cmdif): Likewise.
17677
17678 * normal/script.c (grub_script_create_cmdif): Likewise.
17679
118f4fb3 176802006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
17681
17682 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
17683 top.
17684 (grub_hfsplus_btree_recptr): Likewise.
17685 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
17686 FILEBLOCK both to pass a block number and store next block
17687 number.
17688 (grub_hfsplus_read_block): Rewritten heavily to support an extent
17689 overflow file correctly. Specify errors appropriately, because
17690 fshelp expects that GRUB_ERRNO is set when fails. Reuse
17691 grub_hfsplus_btree_recptr to get the pointer to a found key.
17692 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
17693 is found.
17694
17695 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
17696 linux.mod.
17697 (_linux_mod_SOURCES): New variable.
17698 (_linux_mod_CFLAGS): Likewise.
17699 (_linux_mod_LDFLAGS): Likewise.
17700 (linux_mod_SOURCES): Likewise.
17701 (linux_mod_CFLAGS): Likewise.
17702 (linux_mod_LDFLAGS): Likewise.
17703
17704 * DISTLIST: Added loader/i386/efi/linux.c,
17705 loader/i386/efi/linux_normal.c and
17706 include/grub/i386/efi/loader.h.
17707
17708 * loader/i386/efi/linux.c: New file.
17709 * loader/i386/efi/linux_normal.c: Likewise.
17710 * include/grub/i386/efi/loader.h: Likewise.
17711
89a7d726 177122006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
17713
17714 * commands/blocklist.c: New file.
17715
17716 * DISTLIST: Added commands/blocklist.c.
17717
17718 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 17719 color for the background, and a darker color for the foreground.
89a7d726 17720 (grub_console_checkkey): Return READ_KEY.
17721 (grub_console_cls): Set the background to
17722 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
17723
17724 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
17725
17726 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
17727 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
17728
17729 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
17730 prototype.
17731
17732 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
17733 BG. The spec is wrong again.
17734
17735 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
17736 prototype.
17737 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
17738
17739 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
17740 commands/blocklist.c.
17741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 17742
89a7d726 17743 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
17744 (blocklist_mod_SOURCES): New variable.
17745 (blocklist_mod_CFLAGS): Likewise.
17746 (blocklist_mod_LDFLAGS): Likewise.
17747
75c8f258 177482006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
17749
17750 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
17751 duplication.
17752 (lba_mode): Use %eax more intensively to reduce the code size.
17753
da2eb181 177542006-05-20 Marco Gerards <marco@gnu.org>
17755
17756 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
17757
17758 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
17759 for `menuentry'.
17760 (script): Accept leading newlines.
17761 (newlines): New rule to describe 0 or more newlines.
17762 (commands): Accept `command' with trailing newline. Fixed the
17763 order in which arguments were passed to `grub_script_add_cmd'.
17764 Accept commands separated by newlines.
17765 (function): Changed to accept newlines.
17766 (menuentry) Rewritten.
17767
17768 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
17769 front of the list, instead of to the end.
17770
577b4050 177712006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
17772
17773 * util/i386/pc/grub-install.in (bindir): New variable.
17774 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
17775 Shaver <lbgwjl@gmail.com>.
17776
0d6e1189 177772006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
17778
17779 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
17780 grub/machine/linux.h
17781 * loader/i386/pc/linux.c: Likewise.
17782
17783 * include/grub/i386/pc/linux.h: Moved to ...
17784 * include/grub/i386/linux.h: ... here.
17785
17786 * include/grub/i386/linux.h (struct linux_kernel_params): New
17787 struct.
f19dbdb7 17788
31b86e9f 177892006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
17790
17791 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
17792 checking.
17793 (grub_video_vbe_blit_glyph): Likewise.
17794 (grub_video_vbe_blit_bitmap): Likewise.
17795 (grub_video_vbe_blit_render_target): Likewise.
17796
83b984de 177972006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
17798
17799 * configure.ac (--with-platform): Properly quote the square
17800 brackets.
17801
5f0413bd 178022006-05-08 Marco Gerards <marco@gnu.org>
17803
17804 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
17805 this...
17806 (kernel_elf_HEADERS): ...to this. Updated all users.
17807 (grubof_symlist.c): Renamed from this...
17808 (kernel_elf_symlist.c): ...to this. Updated all users.
17809 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17810 (grubof_SOURCES): Renamed from this...
17811 (kernel_elf_SOURCES): ...to this.
17812 (grubof_HEADERS): Renamed from this...
17813 (kernel_elf_HEADERS): ...to this.
17814 (grubof_CFLAGS): Renamed from this...
17815 (kernel_elf_CFLAGS): ...to this.
17816 (grubof_ASFLAGS): Renamed from this...
17817 (kernel_elf_ASFLAGS): ...to this.
17818 (grubof_LDFLAGS): Renamed from this...
17819 (kernel_elf_LDFLAGS): ...to this.
17820
17821 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
17822 this...
17823 (kernel_elf_HEADERS): ...to this. Updated all users.
17824 (grubof_symlist.c): Renamed from this...
17825 (kernel_elf_symlist.c): ...to this. Updated all users.
17826 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17827 (grubof_SOURCES): Renamed from this...
17828 (kernel_elf_SOURCES): ...to this.
17829 (grubof_HEADERS): Renamed from this...
17830 (kernel_elf_HEADERS): ...to this.
17831 (grubof_CFLAGS): Renamed from this...
17832 (kernel_elf_CFLAGS): ...to this.
17833 (grubof_ASFLAGS): Renamed from this...
17834 (kernel_elf_ASFLAGS): ...to this.
17835 (grubof_LDFLAGS): Renamed from this...
17836 (kernel_elf_LDFLAGS): ...to this.
17837
17838 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
17839 `kernel.elf' instead of `grubof'.
17840
05568c2e 178412006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
17842
17843 Add --with-platform to configure. Use pkglibdir instead of
17844 pkgdatadir. This is reported by Roger Leigh.
17845
17846 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
17847 (host_vendor): Likewise.
17848 (host_os): Likewise.
17849 (pkgdatadir): Likewise.
17850 (platform): New variable.
17851 (pkglibdir): Likewise.
17852 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 17853
05568c2e 17854 * util/i386/pc/grub-install.in (datadir): Removed.
17855 (host_vendor): Likewise.
17856 (host_os): Likewise.
17857 (pkgdatadir): Likewise.
17858 (platform): New variable.
17859 (pkglibdir): Likewise.
17860 Use PKGLIBDIR instead of PKGDATADIR.
17861
17862 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
17863 instead of GRUB_DATADIR.
17864 (main): Likewise.
17865 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17866 (main): Likewise.
17867 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17868 (main): Likewise.
17869
17870 * configure.ac (--with-platform): New option.
17871 Use PLATFORM instead of HOST_VENDOR to specify a platform.
17872
17873 * Makefile.in: Include a makefile based on PLATFORM instead of
17874 HOST_VENDOR.
17875 (pkgdatadir): Not appended by the machine type.
17876 (pkglibdir): Appended by the machine type.
17877 (host_vendor): Removed.
17878 (platform): New variable.
17879 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
17880 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
17881 (uninstall): Likewise.
17882
4e93851c 178832006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
17884
17885 Use the environment context in the menu. Remove the commands
17886 "default" and "timeout", and use variables instead.
f19dbdb7 17887
4e93851c 17888 * normal/menu.c: Include grub/env.h.
17889 (print_entry): Cast TITLE to silence gcc.
17890 (get_timeout): New function.
17891 (set_timeout): Likewise.
17892 (get_entry_number): Likewise.
17893 (run_menu): Use a default entry, a fallback entry and a timeout
17894 in the environment variables "default", "fallback" and
17895 "timeout". Also, tweak the default entry if it is not within the
17896 current menu entries.
17897 (grub_menu_run): Use a fallback entry in the environment variable
17898 "fallback".
17899
17900 * normal/main.c (read_config_file): Do not initialize
17901 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
17902 NEWMENU->TIMEOUT.
17903 (grub_normal_execute): Use a data slot to store the menu.
17904
17905 * include/grub/normal.h (struct grub_menu): Removed default_entry,
17906 fallback_entry and timeout.
17907 (struct grub_menu_list): Removed.
17908 (grub_menu_list_t): Likewise.
17909 (struct grub_context): Likewise.
17910 (grub_context_t): Likewise.
17911 (grub_context_get): Likewise.
17912 (grub_context_get_current_menu): Likewise.
17913 (grub_context_push_menu): Likewise.
17914 (grub_context_pop_menu): Likewise.
17915 (grub_default_init): Likewise.
17916 (grub_default_fini): Likewise.
17917 (grub_timeout_init): Likewise.
17918 (grub_timeout_fini): Likewise.
17919
17920 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17921 and timeout.mod.
17922 (normal_mod_SOURCES): Removed normal/context.c.
17923
17924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17925 commands/default.c, commands/timeout.c and normal/context.c.
17926 (normal_mod_SOURCES): Removed normal/context.c.
17927
17928 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17929 commands/timeout.c and normal/context.c.
17930 (normal_mod_SOURCES): Removed normal/context.c.
17931
17932 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17933 commands/default.c, commands/timeout.c and normal/context.c.
17934 (normal_mod_SOURCES): Removed normal/context.c.
17935
17936 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17937 timeout.mod.
17938 (default_mod_SOURCES): Removed.
17939 (default_mod_CFLAGS): Likewise.
17940 (default_mod_LDFLAGS): Likewise.
17941 (timeout_mod_SOURCES): Removed.
17942 (timeout_mod_CFLAGS): Likewise.
17943 (timeout_mod_LDFLAGS): Likewise.
17944
17945 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17946 normal/context.c.
17947
17948 * commands/default.c: Removed.
17949 * commands/timeout.c: Likewise.
17950 * normal/context.c: Likewise.
17951
1eb9cc1d 179522006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17953
17954 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17955
385bd9c1 179562006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17957
17958 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17959 "next" to "prev" for readability.
17960 (struct grub_env_sorted_var): New struct.
17961 (grub_env_context): Renamed to ...
17962 (initial_context): ... this.
17963 (grub_env_var_context): Renamed to ...
17964 (current_context): ... this.
17965 (grub_env_find): Look only at CURRENT_CONTEXT.
17966 (grub_env_context_open): Rewritten to copy exported variables from
17967 previous context.
17968 (grub_env_context_close): Rewritten according to the new
17969 scheme. Also, add an assertion to prevent the initial context from
17970 removed.
17971 (grub_env_insert): Removed the code for the sorted list.
17972 (grub_env_remove): Likewise.
17973 (grub_env_export): Simply mark the variable with
17974 GRUB_ENV_VAR_GLOBAL.
17975 (grub_env_set): A cosmetic change for naming consistency.
17976 (grub_env_get): Likewise.
17977 (grub_env_unset): Likewise.
17978 (grub_env_iterate): Rewritten to sort variables within this
17979 function.
17980 (grub_register_variable_hook): Fixed for naming consistency. Call
17981 grub_env_find again, only if NAME is not found at the first time.
17982 (mangle_data_slot_name): New function.
17983 (grub_env_set_data_slot): Likewise.
17984 (grub_env_get_data_slot): Likewise.
17985 (grub_env_unset_data_slot): Likewise.
17986
17987 * include/grub/env.h (grub_env_var_type): New enum.
17988 (GRUB_ENV_VAR_LOCAL): New constant.
17989 (GRUB_ENV_VAR_GLOBAL): Likewise.
17990 (GRUB_ENV_VAR_DATA): Likewise.
17991 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
17992 "type".
17993 (grub_env_set): Replace VAR with NAME for consistency.
17994 (grub_register_variable_hook): Likewise.
17995 (grub_env_export): Specify the name of the argument.
17996 (grub_env_set_data_slot): New prototype.
17997 (grub_env_get_data_slot): Likewise.
17998 (grub_env_unset_data_slot): Likewise.
17999
7f362539 180002006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18001
18002 Extend the loader so that GRUB can accept a loader which comes
18003 back to GRUB when a loaded image exits. Also, this change adds
18004 support for a chainloader on EFI.
f19dbdb7 18005
7f362539 18006 * term/efi/console.c: Include grub/misc.h.
18007 (grub_console_checkkey): Display a scan code on the top for
18008 debugging. This will be removed once the EFI port gets stable.
18009 Correct the scan code mapping.
18010
18011 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18012 allocate memory from larger regions, in order to reduce the number
18013 of allocated regions. Otherwise, the MacOSX loader panics.
18014 (filter_memory_map): Avoid less than 1MB for compatibility with
18015 other loaders.
18016 (add_memory_regions): Allocate from the tail of a region, if
18017 possible, to avoid allocating a region near to 1MB, for the MacOSX
18018 loader.
18019
18020 * kern/efi/init.c (grub_efi_set_prefix): Specify
18021 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18022
18023 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18024 argument IMAGE_HANDLE and specify it to get a loaded image.
18025 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18026 grub_efi_get_loaded_image.
fe6b695a 18027 (grub_efi_get_filename): Divide the length by the size of
7f362539 18028 grub_efi_char16_t.
18029 (grub_efi_get_device_path): New function.
18030 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18031 the length by the size of grub_efi_char16_t for a file path device
18032 path node.
18033
18034 * kern/loader.c (grub_loader_noreturn): New variable.
18035 (grub_loader_set): Accept a new argument NORETURN. Set
18036 GRUB_LOADER_NORETURN to NORETURN.
18037 All callers changed.
18038 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18039 grub_machine_fini.
18040
18041 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18042 prototype.
18043 (grub_efi_get_loaded_image): Take an argument to specify an image
18044 handle.
18045
18046 * include/grub/loader.h (grub_loader_set): Added one more argument
18047 NORETURN.
18048
18049 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18050 instead of grub_efi_open_protocol.
18051 (grub_efidisk_get_device_name): Likewise.
18052 (grub_efidisk_close): Print a newline.
18053 (grub_efidisk_get_device_handle): Fixed to use
18054 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18055 GRUB_EFI_DEVICE_PATH_TYPE.
18056
18057 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18058 * kern/efi/efi.c (device_path_guid): ... here.
18059
18060 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18061 chain.mod.
18062 (kernel_mod_HEADERS): Added efi/disk.h.
18063 (_chain_mod_SOURCES): New variable.
18064 (_chain_mod_CFLAGS): Likewise.
18065 (_chain_mod_LDFLAGS): Likewise.
18066 (chain_mod_SOURCES): Likewise.
18067 (chain_mod_CFLAGS): Likewise.
18068 (chain_mod_LDFLAGS): Likewise.
18069
18070 * DISTLIST: Added include/grub/efi/chainloader.h,
18071 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18072
18073 * include/grub/efi/chainloader.h: New file.
18074 * loader/efi/chainloader.c: Likewise.
18075 * loader/efi/chainloader_normal.c: Likewise.
18076
c0111d6e 180772006-04-30 Marco Gerards <marco@gnu.org>
18078
18079 * commands/configfile.c (grub_cmd_source): New function.
18080 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18081 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18082
df5341da 180832006-04-30 Marco Gerards <marco@gnu.org>
18084
18085 * normal/execute.c (grub_script_execute_cmd): Change the return
18086 type to `grub_err_t'. Correctly return the error.
18087 (grub_script_execute_cmdline): In case a command line is not a
18088 command or a function, try to interpret it as an assignment.
18089
f85934bd 180902006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18091
18092 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
18093 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
18094 skip a node whose name is obviously invalid as UTF-16,
18095 i.e. contains a NUL character. Stop the iteration when the last
18096 directory entry is found. Instead of using the return value of
18097 grub_hfsplus_btree_iterate_node, store the value in RET and use
18098 it, because the iterator can be stopped by the last directory
18099 entry.
18100
8f8a2cf8 181012006-04-30 Marco Gerards <marco@gnu.org>
18102
18103 * include/grub/env.h (grub_env_export): New prototype. Reported
18104 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
18105
a27e84ce 181062006-04-30 Marco Gerards <marco@gnu.org>
18107
18108 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
18109 size of the extents in a catalog file record.
18110
eaef0553 181112006-04-29 Marco Gerards <marco@gnu.org>
18112
18113 * commands/configfile.c (grub_cmd_configfile): Execute the
18114 configfile within its own context.
18115
18116 * include/grub/env.h (grub_env_context_open): New prototype.
18117 (grub_env_context_close): Likewise.
18118
18119 * kern/env.c (grub_env): Removed.
18120 (grub_env_sorted): Likewise.
18121 (grub_env_context): New variable.
18122 (grub_env_var_context): Likewise.
18123 (grub_env_find): Search both the active context and the global
18124 context.
18125 (grub_env_context_open): New function.
18126 (grub_env_context_close): Likewise.
18127 (grub_env_insert): Likewise.
18128 (grub_env_remove): Likewise.
18129 (grub_env_export): Likewise.
18130 (grub_env_set): Changed to use helper functions to avoid code
18131 duplication.
18132 (grub_env_iterate): Rewritten so both the current context and the
18133 global context are being used.
18134
18135 * normal/command.c (export_command): New function.
18136 (grub_command_init): Register the `export' function.
18137
7b455f4d 181382006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
18139
18140 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
18141 explicitly to suppress gcc's warnings.
18142 * fs/fat.c (grub_fat_find_dir): Likewise.
18143 (grub_fat_label): Likewise.
18144 * fs/xfs.c (grub_xfs_read_inode): Likewise.
18145 (grub_xfs_mount): Likewise.
18146 (grub_xfs_label): Likewise.
18147 * fs/affs.c (grub_affs_mount): Likewise.
18148 (grub_affs_label): Likewise.
18149 (grub_affs_iterate_dir): Likewise.
18150 * fs/sfs.c (grub_sfs_mount): Likewise.
18151 (grub_sfs_iterate_dir): Likewise.
18152 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
18153 * fs/hfs.c (grub_hfs_mount): Likewise.
18154 (grub_hfs_cmp_catkeys): Likewise.
18155 (grub_hfs_find_dir): Likewise.
18156 (grub_hfs_dir): Likewise.
18157 (grub_hfs_label): Likewise.
18158 * fs/jfs.c (grub_jfs_mount): Likewise.
18159 (grub_jfs_opendir): Likewise.
18160 (grub_jfs_getent): Likewise.
18161 (grub_jfs_lookup_symlink): Likewise.
18162 (grub_jfs_label): Likewise.
18163 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
18164 (grub_hfsplus_iterate_dir): Likewise.
18165 (grub_hfsplus_btree_iterate_node): Made static.
18166
18167 * util/grub-emu.c (prefix): New variable.
18168 (grub_machine_set_prefix): New function.
18169 (main): Do not set the environment variable "prefix" here. Only
18170 set PREFIX, which is used later by grub_machine_set_prefix.
18171
18172 * include/grub/video.h: Do not include grub/symbol.h.
18173 (grub_video_register): Not exported. This symbol is not defined in
18174 the kernel.
18175 (grub_video_unregister): Likewise.
18176 (grub_video_iterate): Likewise.
18177 (grub_video_setup): Likewise.
18178 (grub_video_restore): Likewise.
18179 (grub_video_get_info): Likewise.
18180 (grub_video_get_blit_format): Likewise.
18181 (grub_video_set_palette): Likewise.
18182 (grub_video_get_palette): Likewise.
18183 (grub_video_set_viewport): Likewise.
18184 (grub_video_get_viewport): Likewise.
18185 (grub_video_map_color): Likewise.
18186 (grub_video_map_rgb): Likewise.
18187 (grub_video_map_rgba): Likewise.
18188 (grub_video_fill_rect): Likewise.
18189 (grub_video_blit_glyph): Likewise.
18190 (grub_video_blit_bitmap): Likewise.
18191 (grub_video_blit_render_target): Likewise.
18192 (grub_video_scroll): Likewise.
18193 (grub_video_swap_buffers): Likewise.
18194 (grub_video_create_render_target): Likewise.
18195 (grub_video_delete_render_target): Likewise.
18196 (grub_video_set_active_render_target): Likewise.
18197
18198 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
18199 Undefined.
18200 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
18201
18202 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
18203 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18204 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18205 instead of $(srcdir)/genkernsyms.sh.
18206
18207 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
18208 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18209 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18210 instead of $(srcdir)/genkernsyms.sh.
18211
18212 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
18213 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18214 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18215 instead of $(srcdir)/genkernsyms.sh.
18216
18217 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
18218 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18219 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18220 instead of $(srcdir)/genkernsyms.sh.
18221
18222 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
18223 genkernsyms.sh.
18224
18225 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
18226 genkernsyms.sh.
18227 (gensymlist.sh): New target.
18228 (genkernsyms.sh): Likewise.
18229
18230 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
18231 genkernsyms.sh.in and gensymlist.sh.in.
18232
18233 * genkernsyms.sh: Removed.
18234 * gensymlist.sh: Likewise.
f19dbdb7 18235
7b455f4d 18236 * genkernsyms.sh.in: New file.
18237 * gensymlist.sh.in: Likewise.
18238
1885bb27 182392006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18240
18241 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
18242 clobber "prefix", since we may have already set it manually.
18243
71538dff 182442006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18245
18246 * kern/misc.c (abort): New alias for grub_abort.
18247
2965c7cc 182482006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
18249
18250 A new machine-specific function "grub_machine_set_prefix" is
18251 defined. This is called after loading modules, so that a prefix
18252 initialization can use modules. Also, this change adds an
18253 intensive debugging feature for the memory manager via the
18254 configure option "--enable-mm-debug".
f19dbdb7 18255
2965c7cc 18256 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
18257 PART.LEN.
18258
18259 * kern/sparc64/ieee1275/init.c (abort): Removed.
18260 (grub_stop): Likewise.
18261 (grub_exit): New function.
18262 (grub_set_prefix): Renamed to ...
18263 (grub_machine_set_prefix): ... this.
18264 (grub_machine_init): Do not call grub_set_prefix.
18265
18266 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
18267 (grub_machine_set_prefix): ... this.
18268 (grub_machine_init): Do not call grub_set_prefix.
18269
18270 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
18271 (grub_machine_init): Do not set the prefix here.
18272
18273 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
18274
18275 * kern/efi/init.c: Include grub/mm.h.
18276 (grub_efi_set_prefix): New function.
18277
18278 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
18279 (grub_efi_get_filename): New function.
18280 (grub_print_device_path): Renamed to ...
18281 (grub_efi_print_device_path): ... this.
18282
18283 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
18284 [MM_DEBUG] (grub_realloc): Likewise.
18285 [MM_DEBUG] (grub_free): Likewise.
18286 [MM_DEBUG] (grub_memalign): Likewise.
18287 [MM_DEBUG] (grub_mm_debug): New variable.
18288 [MM_DEBUG] (grub_debug_malloc): New function.
18289 [MM_DEBUG] (grub_debug_free): New function.
18290 [MM_DEBUG] (grub_debug_realloc): New function.
18291 [MM_DEBUG] (grub_debug_memalign): New function.
18292
18293 * kern/misc.c (grub_abort): Print a newline to distinguish
18294 the message.
18295
18296 * kern/main.c (grub_main): Call grub_machine_set_prefix and
18297 grub_set_root_dev after loading modules. This is necessary when
18298 setting a prefix depends on modules.
18299
18300 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
18301 (grub_efi_print_device_path): ... this.
18302 (grub_efi_get_filename): New prototype.
18303 (grub_efi_set_prefix): Likewise.
18304
18305 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
18306 and grub/disk.h.
18307 (grub_efidisk_get_device_handle): New prototype.
18308 (grub_efidisk_get_device_name): Likewise.
18309
18310 * include/grub/mm.h: Include config.h.
18311 (MM_DEBUG): Removed.
18312 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
18313 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
18314 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
18315 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
18316 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
18317 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
18318 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
18319 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
18320 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
18321
18322 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
18323
18324 * disk/efi/efidisk.c: Include grub/partition.h.
18325 (iterate_child_devices): New function.
18326 (add_device): First, compare only last device path nodes, so that
18327 devices are sorted by the types.
18328 (grub_efidisk_get_device_handle): New function.
18329 (grub_efidisk_get_device_name): Likewise.
18330
18331 * configure.ac (--enable-mm-debug): New option to enable the
18332 memory manager debugging feature. This makes the binary much
18333 bigger, so is disabled by default.
18334
9cacaa17 183352006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
18336
18337 Use grub_abort instead of grub_stop, and grub_exit must be
18338 define in each architecture now. Also, this change adds support
18339 for EFI disks.
f19dbdb7 18340
9cacaa17 18341 * util/i386/pc/grub-probefs.c: Include grub/term.h.
18342 (grub_getkey): New function.
18343 (grub_term_get_current): Likewise.
18344
18345 * util/i386/pc/grub-setup.c: Include grub/term.h.
18346 (grub_getkey): New function.
18347 (grub_term_get_current): Likewise.
18348
18349 * util/misc.c (grub_stop): Renamed to ...
18350 (grub_exit): ... this.
18351
18352 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
18353 (grub_exit): ... this.
18354 (grub_machine_init): Use grub_abort instead of abort.
18355 (grub_stop): Removed.
18356
18357 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
18358 abort.
18359
18360 * kern/i386/pc/startup.S (grub_exit): New function.
18361 (cold_reboot): New label.
18362
18363 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
18364 (grub_efi_init): Call grub_efidisk_init.
18365 (grub_efi_fini): Call grub_efidisk_fini.
18366
18367 * kern/efi/efi.c: Include grub/mm.h.
18368 (grub_efi_console_control_guid): Renamed to ...
18369 (console_control_guid): ... this.
18370 (grub_efi_loaded_image_guid): Renamed to ...
18371 (loaded_image_guid): ... this.
18372 (grub_efi_locate_handle): New function.
18373 (grub_efi_open_protocol): Likewise.
18374 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
18375 GRUB_EFI_CONSOLE_CONTROL_GUID.
18376 (grub_efi_exit): Removed.
18377 (grub_stop): Likewise.
18378 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
18379 (grub_exit): New function.
18380 (grub_print_device_path): Likewise.
18381
18382 * kern/rescue.c (grub_rescue_cmd_exit): New function.
18383 (grub_enter_rescue_mode): Register "exit".
18384
18385 * kern/misc.c (grub_real_dprintf): A cosmetic change.
18386 (grub_abort): New function.
18387
18388 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
18389
18390 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
18391
18392 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
18393
18394 * include/grub/efi/efi.h (grub_efi_exit): Removed.
18395 (grub_print_device_path): New prototype.
18396 (grub_efi_locate_handle): Likewise.
18397 (grub_efi_open_protocol): Likewise.
18398
18399 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
18400 * disk/efi/efidisk.c: Likewise.
18401
18402 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
18403
18404 * include/grub/efi/console_control.h
18405 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
18406
18407 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
18408 last 8 bytes as an array.
18409 (GRUB_EFI_DISK_IO_GUID): New macro.
18410 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
18411 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
18412 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
18413 grub_uint8_t.
18414 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
18415 (struct grub_efi_device_path): Rename the member "sub_type" to
18416 "subtype".
18417 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
18418 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
18419 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
18420 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
18421 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
18422 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
18423 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
18424 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
18425 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
18426 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
18427 (struct grub_efi_pci_device_path): New structure.
18428 (grub_efi_pci_device_path_t): New type.
18429 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
18430 (struct grub_efi_pccard_device_path): New structure.
18431 (grub_efi_pccard_device_path_t): New type.
18432 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
18433 (struct grub_efi_memory_mapped_device_path): New structure.
18434 (grub_efi_memory_mapped_device_path_t): New type.
18435 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
18436 (struct grub_efi_vendor_device_path): New structure.
18437 (grub_efi_vendor_device_path_t): New type.
18438 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
18439 (struct grub_efi_controller_device_path): New structure.
18440 (grub_efi_controller_device_path_t): New type.
18441 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
18442 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
18443 (struct grub_efi_acpi_device_path): New structure.
18444 (grub_efi_acpi_device_path_t): New type.
18445 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
18446 (struct grub_efi_expanded_acpi_device_path): New structure.
18447 (grub_efi_expanded_acpi_device_path_t): New type.
18448 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
18449 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
18450 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
18451 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
18452 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
18453 (struct grub_efi_atapi_device_path): New structure.
18454 (grub_efi_atapi_device_path_t): New type.
18455 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
18456 (struct grub_efi_fibre_channel_device_path): New structure.
18457 (grub_efi_fibre_channel_device_path_t): New type.
18458 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
18459 (struct grub_efi_1394_device_path): New structure.
18460 (grub_efi_1394_device_path_t): New type.
18461 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
18462 (struct grub_efi_usb_device_path): New structure.
18463 (grub_efi_usb_device_path_t): New type.
18464 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
18465 (struct grub_efi_usb_class_device_path): New structure.
18466 (grub_efi_usb_class_device_path_t): New type.
18467 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
18468 (struct grub_efi_i2o_device_path): New structure.
18469 (grub_efi_i2o_device_path_t): New type.
18470 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
18471 (struct grub_efi_mac_address_device_path): New structure.
18472 (grub_efi_mac_address_device_path_t): New type.
18473 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
18474 (struct grub_efi_ipv4_device_path): New structure.
18475 (grub_efi_ipv4_device_path_t): New type.
18476 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
18477 (struct grub_efi_ipv6_device_path): New structure.
18478 (grub_efi_ipv6_device_path_t): New type.
18479 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
18480 (struct grub_efi_infiniband_device_path): New structure.
18481 (grub_efi_infiniband_device_path_t): New type.
18482 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
18483 (struct grub_efi_uart_device_path): New structure.
18484 (grub_efi_uart_device_path_t): New type.
18485 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
18486 (struct grub_efi_vendor_messaging_device_path): New structure.
18487 (grub_efi_vendor_messaging_device_path_t): New type.
18488 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
18489 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
18490 (struct grub_efi_hard_drive_device_path): New structure.
18491 (grub_efi_hard_drive_device_path_t): New type.
18492 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
18493 (struct grub_efi_cdrom_device_path): New structure.
18494 (grub_efi_cdrom_device_path_t): New type.
18495 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
18496 (struct grub_efi_vendor_media_device_path): New structure.
18497 (grub_efi_vendor_media_device_path_t): New type.
18498 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
18499 (struct grub_efi_file_path_device_path): New structure.
18500 (grub_efi_file_path_device_path_t): New type.
18501 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
18502 (struct grub_efi_protocol_device_path): New structure.
18503 (grub_efi_protocol_device_path_t): New type.
18504 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
18505 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
18506 (struct grub_efi_bios_device_path): New structure.
18507 (grub_efi_bios_device_path_t): New type.
18508 (struct grub_efi_disk_io): New structure.
18509 (grub_efi_disk_io_t): New type.
18510 (struct grub_efi_block_io_media): New structure.
18511 (grub_efi_block_io_media_t): New type.
18512 (struct grub_efi_block_io): New structure.
18513 (grub_efi_block_io_t): New type.
18514
18515 * include/grub/misc.h (grub_stop): Removed.
18516 (grub_exit): New prototype.
18517 (grub_abort): Likewise.
18518
18519 * include/grub/disk.h (enum grub_disk_dev_id): Added
18520 GRUB_DISK_DEVICE_EFIDISK_ID.
18521
18522 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
18523 disk/efi/efidisk.c.
18524 (kernel_syms.lst): Remove the target if an error occurs.
18525
49986a9f 185262006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
18527
18528 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
18529 as it was simply too buggy.
18530
970d3b8a 185312006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
18532
18533 * kern/misc.c (grub_lltoa): New function.
18534 (grub_vsprintf): Added support for the long long suffix,
18535 i.e. "ll".
18536
ff04ec24 185372006-04-20 Hollis Blanchard <hollis@penguinppc.org>
18538
18539 * Makefile.in (LDFLAGS): Add variable.
18540 (LD): Remove variable.
18541 * configure.ac: Add -m32 to LDFLAGS.
18542 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
18543 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
18544 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
18545 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
18546 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
18547 variables.
18548 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
18549 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
18550 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
18551
37e5e1a4 185522006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
18553
18554 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
18555 length for unknown glyph.
18556
c352d8dd 185572006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
18558
2eab1c0d 18559 Add support for pre-loaded modules into the EFI port.
f19dbdb7 18560
2eab1c0d 18561 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
18562 completely. Accept one more argument DIR. The caller has changed.
18563
18564 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
18565
18566 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
18567 (grub_efi_loaded_image_guid): New variable.
18568 (grub_efi_get_loaded_image): New function.
18569 (grub_arch_modules_addr): Likewise.
18570
18571 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
18572 prototype.
18573
18574 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
18575 (struct grub_efi_loaded_image): New structure.
18576 (grub_efi_loaded_image_t): New type.
18577
185782006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18579
c352d8dd 18580 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
18581 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
18582 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
18583
6d01d6b4 185842006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
18585
18586 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
18587
976a4ea0 185882006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
18589
18590 * DISTLIST: Added include/grub/efi/console.h,
18591 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
18592 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18593
18594 * include/grub/efi/console.h: New file.
18595 * include/grub/efi/time.h: Likewise.
18596 * include/grub/i386/efi/kernel.h: Likewise.
18597 * kern/efi/init.c: Likewise.
18598 * kern/efi/mm.c: Likewise.
18599 * term/efi/console.c: Likewise.
f19dbdb7 18600
976a4ea0 18601 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
18602 (grub_stop): Removed.
18603 (grub_get_rtc): Likewise.
18604 (grub_machine_init): Simply call grub_efi_init.
18605 (grub_machine_fini): Call grub_efi_fini.
18606
18607 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
18608 (grub_efi_output_string): Removed.
18609 (grub_efi_stall): New function.
18610 (grub_stop): Likewise.
18611 (grub_get_rtc): Likewise.
18612
18613 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
18614 (grub_efi_stall): New prototype.
18615 (grub_efi_allocate_pages): Likewise.
18616 (grub_efi_free_pages): Likewise.
18617 (grub_efi_get_memory_map): Likewise.
18618 (grub_efi_mm_init): Likewise.
18619 (grub_efi_mm_fini): Likewise.
18620 (grub_efi_init): Likewise.
18621 (grub_efi_fini): Likewise.
18622
18623 * include/grub/i386/efi/time.h: Do not include
18624 grub/symbol.h. Include grub/efi/time.h.
18625 (GRUB_TICKS_PER_SECOND): Removed.
18626 (grub_get_rtc): Likewise.
18627
18628 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
18629 Added padding. The EFI spec is buggy.
18630 (GRUB_EFI_BLACK): New macro.
18631 (GRUB_EFI_BLUE): Likewise.
18632 (GRUB_EFI_GREEN): Likewise.
18633 (GRUB_EFI_CYAN): Likewise.
18634 (GRUB_EFI_RED): Likewise.
18635 (GRUB_EFI_MAGENTA): Likewise.
18636 (GRUB_EFI_BROWN): Likewise.
18637 (GRUB_EFI_LIGHTGRAY): Likewise.
18638 (GRUB_EFI_BRIGHT): Likewise.
18639 (GRUB_EFI_DARKGRAY): Likewise.
18640 (GRUB_EFI_LIGHTBLUE): Likewise.
18641 (GRUB_EFI_LIGHTGREEN): Likewise.
18642 (GRUB_EFI_LIGHTCYAN): Likewise.
18643 (GRUB_EFI_LIGHTRED): Likewise.
18644 (GRUB_EFI_LIGHTMAGENTA): Likewise.
18645 (GRUB_EFI_YELLOW): Likewise.
18646 (GRUB_EFI_WHITE): Likewise.
18647 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
18648 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
18649 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
18650 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
18651 (GRUB_EFI_BACKGROUND_RED): Likewise.
18652 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
18653 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
18654 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
18655 (GRUB_EFI_TEXT_ATTR): Likewise.
18656
18657 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
18658 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18659 (kernel_mod_HEADERS): Added efi/time.h.
18660
83709125 186612006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
18662
18663 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
18664 include/grub/efi/api.h, include/grub/efi/console_control.h,
18665 include/grub/efi/efi.h, include/grub/efi/pe32.h,
18666 include/grub/i386/efi/time.h, kern/efi/efi.c,
18667 kern/i386/efi/init.c, kern/i386/efi/startup.S,
18668 and util/i386/efi/grub-mkimage.c.
18669
18670 * Makefile.in (RMKFILES): Added i386-efi.rmk.
18671
18672 * genmk.rb (PModule#rule): Do not export symbols if
18673 #{prefix}_EXPORTS is set to "no".
18674
18675 * conf/i386-efi.mk: New file.
18676 * conf/i386-efi.rmk: Likewise.
18677 * include/grub/efi/api.h: Likewise.
18678 * include/grub/efi/console_control.h: Likewise.
18679 * include/grub/efi/efi.h: Likewise.
18680 * include/grub/efi/pe32.h: Likewise.
18681 * include/grub/i386/efi/time.h: Likewise.
18682 * kern/efi/efi.c: Likewise.
18683 * kern/i386/efi/init.c: Likewise.
18684 * kern/i386/efi/startup.S: Likewise.
18685 * util/i386/efi/grub-mkimage.c: Likewise.
18686
186872006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 18688
18689 * include/grub/script.h: Include <grub/parser.h> and
18690 "grub_script.tab.h".
18691 (struct grub_lexer_param): New struct.
18692 (struct grub_parser_param): Likewise.
18693 (grub_script_create_arglist): Pass the state in an argument.
18694 (grub_script_add_arglist): Likewise.
18695 (grub_script_create_cmdline): Likewise.
18696 (grub_script_create_cmdblock): Likewise.
18697 (grub_script_create_cmdif): Likewise.
18698 (grub_script_create_cmdmenu): Likewise.
18699 (grub_script_add_cmd): Likewise.
18700 (grub_script_arg_add): Likewise.
18701 (grub_script_lexer_ref): Likewise.
18702 (grub_script_lexer_deref): Likewise.
18703 (grub_script_lexer_record_start): Likewise.
18704 (grub_script_lexer_record_stop): Likewise.
18705 (grub_script_mem_record): Likewise.
18706 (grub_script_mem_record_stop): Likewise.
18707 (grub_script_malloc): Likewise.
18708 (grub_script_yylex): Likewise.
18709 (grub_script_yyparse): Likewise.
18710 (grub_script_yyerror): Likewise.
18711 (grub_script_yylex): Likewise.
18712 (grub_script_lexer_init): Return the state.
18713
18714 * normal/lexer.c (grub_script_lexer_state): Removed variable.
18715 (grub_script_lexer_done): Likewise.
18716 (grub_script_lexer_getline): Likewise.
18717 (grub_script_lexer_refs): Likewise.
18718 (script): Likewise.
18719 (newscript): Likewise.
18720 (record): Likewise.
18721 (recording): Likewise.
18722 (recordpos): Likewise.
18723 (recordlen): Likewise.
18724 (grub_script_lexer_init): Return the state instead of setting
18725 global variables.
18726 (grub_script_lexer_ref): Use the newly added argument for state
18727 instead of globals.
18728 (grub_script_lexer_deref): Likewise.
18729 (grub_script_lexer_record_start): Likewise.
18730 (grub_script_lexer_record_stop): Likewise.
18731 (recordchar): Likewise.
18732 (nextchar): Likewise.
18733 (grub_script_yylex2): Likewise.
18734 (grub_script_yylex): Likewise.
18735 (grub_script_yyerror): Likewise.
18736
18737 * normal/parser.y (func_mem): Removed variable.
18738 (menu_entry): Likewise.
18739 (err): Likewise.
18740 (%lex-param): New parser option.
18741 (%parse-param): Likewise.
18742 (script): Always return the AST.
18743 (argument): Pass the state around.
18744 (arguments): Likewise.
18745 (grubcmd): Likewise.
18746 (commands): Likewise.
18747 (function): Likewise.
18748 (menuentry): Likewise.
18749 (if_statement): Likewise.
18750 (if): Likewise.
18751
18752 * normal/script.c (grub_script_memused): Removed variable.
18753 (grub_script_parsed): Likewise.
18754 (grub_script_malloc): Added a state argument. Use that instead of
18755 global variables.
18756 (grub_script_mem_record): Likewise.
18757 (grub_script_mem_record_stop): Likewise.
18758 (grub_script_arg_add): Likewise.
18759 (grub_script_add_arglist): Likewise.
18760 (grub_script_create_cmdline): Likewise.
18761 (grub_script_create_cmdif): Likewise.
18762 (grub_script_create_cmdmenu): Likewise.
18763 (grub_script_add_cmd): Likewise.
18764 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 18765
e2a8c904 187662006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 18767
18768 * normal/command.c (grub_command_init): Remove the title command.
18769
18770 * normal/lexer.c (grub_script_yylex): Renamed from this...
18771 (grub_script_yylex2): ... to this.
18772 (grub_script_yylex): New function. Temporary
18773 introduced to filter some tokens.
18774 (grub_script_yyerror): Print a newline.
18775
18776 * normal/main.c (read_config_file): Output information about the
18777 lines that contain errors. Wait for a key after all lines have
18778 been processed. Don't return an empty menu.
18779
18780 * normal/parser.y (func_mem): Don't initialize.
18781 (menu_entry): Likewise.
18782 (err): New variable.
18783 (script): Don't return anything when an error was encountered.
18784 (ws, returns): Removed rules.
18785 (argument): Disabled concatenated variable support.
18786 (arguments): Remove explicit separators.
18787 (grubcmd): Likewise.
18788 (function): Likewise.
18789 (menuentry): Likewise.
18790 (if): Likewise.
18791 (commands): Likewise. Add error handling.
18792
18793 * normal/script.c (grub_script_create_cmdline): If
18794 `grub_script_parsed' is 0, assume the parser encountered an error.
18795
c9a86192 187962006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
18797
18798 * configure.ac: Add support for EFI. Fix the typo
18799 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
18800
70f3b243 188012006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18802
18803 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
18804 foreign multibyte characters should be shown correctly.
18805
65f201ad 188062006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18807
18808 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
18809 calculation.
18810 (read_config_file): Made it to close file before returning.
18811
b4b93674 188122006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
18813
18814 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
18815 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
18816 video/i386/pc/vbefill.c.
18817
18818 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
18819 video/i386/pc/vbefill.c.
18820
18821 * include/grub/video.h (grub_video_blit_format): New enum.
18822 (grub_video_mode_info): Added new member blit_format.
18823 (grub_video_get_blit_format): New function prototype.
18824
18825 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
18826 function prototype.
18827 (grub_video_vbe_map_rgb): Likewise.
18828 (grub_video_vbe_unmap_color): Likewise.
18829
18830 * include/grub/i386/pc/vbeblit.h: New file.
18831
18832 * include/grub/i386/pc/vbefill.h: New file.
18833
18834 * video/video.c (grub_video_get_blit_format): New function.
18835 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
18836 (grub_video_vbe_map_rgb): Likewise.
18837 (grub_video_vbe_unmap_color): Likewise.
18838
18839 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
18840 optimized fills.
18841 (grub_video_vbe_blit_render_target): Changed to use more optimized
18842 blits.
18843 (grub_video_vbe_setup): Added detection for optimized settings.
18844 (grub_video_vbe_create_render_target): Likewise.
18845
18846 * video/i386/pc/vbeblit.c: New file.
18847
18848 * video/i386/pc/vbefill.c: New file.
18849
c2379b9c 188502006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
18851
18852 * font/manager.c (grub_font_get_glyph): Removed font fixup from
18853 here...
18854
18855 * util/unifont2pff.rb: ... and moved it to here. Improved argument
18856 parsing to support both hex and dec ranges. If filename was missing
18857 show usage information.
18858
bd0d7896 188592006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
18860
18861 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
18862 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
18863
18864 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
18865 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
18866 (video_mod_SOURCES): Added.
18867 (video_mod_CFLAGS): Likewise.
18868 (video_mod_LDFLAGS): Likewise.
18869 (gfxterm_mod_SOURCES): Likewise.
18870 (gfxterm_mod_CFLAGS): Likewise.
18871 (gfxterm_mod_LDFLAGS): Likewise.
18872 (videotest_mod_SOURCES): Likewise.
18873 (videotest_mod_CFLAGS): Likewise.
18874 (videotest_mod_LDFLAGS): Likewise.
18875 (vesafb_mod_SOURCES): Removed.
18876 (vesafb_mod_CFLAGS): Likewise.
18877 (vesafb_mod_LDFLAGS): Likewise.
18878 (vga_mod_SOURCES): Likewise.
18879 (vga_mod_CFLAGS): Likewise.
18880 (vga_mod_LDFLAGS): Likewise.
18881
18882 * commands/videotest.c: New file.
18883
18884 * font/manager.c (fill_with_default_glyph): Modified to use
18885 grub_font_glyph.
18886 (grub_font_get_glyph): Likewise.
18887 (fontmanager): Renamed from this...
18888 (font_manager): ... to this.
18889
18890 * include/grub/font.h (grub_font_glyph): Added new structure.
18891 (grub_font_get_glyph): Modified to use grub_font_glyph.
18892
18893 * include/grub/misc.h (grub_abs): Added as inline function.
18894
18895 * include/grub/video.h: New file.
18896
18897 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
18898 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
18899 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
18900 (grub_vbe_get_controller_info): Renamed from this...
18901 (grub_vbe_bios_get_controller_info): ... to this.
18902 (grub_vbe_get_mode_info): Renamed from this...
18903 (grub_vbe_bios_get_mode_info): ... to this.
18904 (grub_vbe_set_mode): Renamed from this...
18905 (grub_vbe_bios_set_mode): ... to this.
18906 (grub_vbe_get_mode): Renamed from this...
18907 (grub_vbe_bios_get_mode): ... to this.
18908 (grub_vbe_set_memory_window): Renamed from this...
18909 (grub_vbe_bios_set_memory_window): ... to this.
18910 (grub_vbe_get_memory_window): Renamed from this...
18911 (grub_vbe_bios_get_memory_window): ... to this.
18912 (grub_vbe_set_scanline_length): Renamed from this...
18913 (grub_vbe_set_scanline_length): ... to this.
18914 (grub_vbe_get_scanline_length): Renamed from this...
18915 (grub_vbe_bios_get_scanline_length): ... to this.
18916 (grub_vbe_set_display_start): Renamed from this...
18917 (grub_vbe_bios_set_display_start): ... to this.
18918 (grub_vbe_get_display_start): Renamed from this...
18919 (grub_vbe_bios_get_display_start): ... to this.
18920 (grub_vbe_set_palette_data): Renamed from this...
18921 (grub_vbe_bios_set_palette_data): ... to this.
18922 (grub_vbe_set_pixel_rgb): Removed.
18923 (grub_vbe_set_pixel_index): Likewise.
18924
18925 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18926 from this...
18927 (grub_vbe_bios_get_controller_info): ... to this.
18928 (grub_vbe_get_mode_info): Renamed from this...
18929 (grub_vbe_bios_get_mode_info): ... to this.
18930 (grub_vbe_set_mode): Renamed from this...
18931 (grub_vbe_bios_set_mode): ... to this.
18932 (grub_vbe_get_mode): Renamed from this...
18933 (grub_vbe_bios_get_mode): ... to this.
18934 (grub_vbe_set_memory_window): Renamed from this...
18935 (grub_vbe_bios_set_memory_window): ... to this.
18936 (grub_vbe_get_memory_window): Renamed from this...
18937 (grub_vbe_bios_get_memory_window): ... to this.
18938 (grub_vbe_set_scanline_length): Renamed from this...
18939 (grub_vbe_set_scanline_length): ... to this.
18940 (grub_vbe_get_scanline_length): Renamed from this...
18941 (grub_vbe_bios_get_scanline_length): ... to this.
18942 (grub_vbe_set_display_start): Renamed from this...
18943 (grub_vbe_bios_set_display_start): ... to this.
18944 (grub_vbe_get_display_start): Renamed from this...
18945 (grub_vbe_bios_get_display_start): ... to this.
18946 (grub_vbe_set_palette_data): Renamed from this...
18947 (grub_vbe_bios_set_palette_data): ... to this.
18948 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18949 getting corrupted after calling it. Added more pushes and pops.
18950 (grub_vbe_bios_set_mode): Likewise.
18951 (grub_vbe_bios_get_mode): Likewise.
18952 (grub_vbe_bios_get_memory_window): Likewise.
18953 (grub_vbe_bios_set_scanline_length): Likewise.
18954 (grub_vbe_bios_get_scanline_length): Likewise.
18955 (grub_vbe_bios_get_display_start): Likewise.
18956 (grub_vbe_bios_set_palette_data): Likewise.
18957
18958 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18959 (cl_insert): Likewise.
18960 (cl_delete): Likewise.
18961
18962 * term/gfxterm.c: New file.
18963
18964 * term/i386/pc/vesafb.c: Removed file.
18965
18966 * video/video.c: New file.
18967
18968 * video/i386/pc/vbe.c (real2pm): Added new function.
18969 (grub_video_vbe_draw_pixel): Likewise.
18970 (grub_video_vbe_get_video_ptr): Likewise.
18971 (grub_video_vbe_get_pixel): Likewise
18972 (grub_video_vbe_init): Likewise.
18973 (grub_video_vbe_fini): Likewise.
18974 (grub_video_vbe_setup): Likewise.
18975 (grub_video_vbe_get_info): Likewise.
18976 (grub_video_vbe_set_palette): Likewise.
18977 (grub_video_vbe_get_palette): Likewise.
18978 (grub_video_vbe_set_viewport): Likewise.
18979 (grub_video_vbe_get_viewport): Likewise.
18980 (grub_video_vbe_map_color): Likewise.
18981 (grub_video_vbe_map_rgb): Likewise.
18982 (grub_video_vbe_map_rgba): Likewise.
18983 (grub_video_vbe_unmap_color): Likewise.
18984 (grub_video_vbe_fill_rect): Likewise.
18985 (grub_video_vbe_blit_glyph): Likewise.
18986 (grub_video_vbe_blit_bitmap): Likewise.
18987 (grub_video_vbe_blit_render_target): Likewise.
18988 (grub_video_vbe_scroll): Likewise.
18989 (grub_video_vbe_swap_buffers): Likewise.
18990 (grub_video_vbe_create_render_target): Likewise.
18991 (grub_video_vbe_delete_render_target): Likewise.
18992 (grub_video_vbe_set_active_render_target): Likewise.
18993 (grub_vbe_set_pixel_rgb): Remove function.
18994 (grub_vbe_set_pixel_index): Likewise.
18995 (index_color_mode): Remove static variable.
18996 (active_mode): Likewise.
18997 (framebuffer): Likewise.
18998 (bytes_per_scan_line): Likewise.
18999 (grub_video_vbe_adapter): Added new static variable.
19000 (framebuffer): Likewise.
19001 (render_target): Likewise.
19002 (initial_mode): Likewise.
19003 (mode_in_use): Likewise.
19004 (mode_list): Likewise.
19005
5f97350b 190062006-03-10 Marco Gerards <marco@gnu.org>
19007
19008 * configure.ac (AC_INIT): Bumped to 1.93.
19009
19010 * DISTLIST: Added `include/grub/hfs.h'.
19011
a3c5c6f8 190122006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19013
19014 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19015 18H, which might help the BIOS falling back to next boot media.
19016
6de53d26 190172006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19018
19019 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19020 Poe Chen <poe.poechen@gmail.com>.
19021
77c4a393 190222006-01-17 Marco Gerards <marco@gnu.org>
19023
19024 * include/grub/normal.h: Include <grub/script.h>.
19025 (grub_command_list): Removed struct.
19026 (grub_command_list_t): Removed type.
19027 (grub_menu_entry): Remove members `num' and `command_list'. Add
19028 members `commands' and `sourcecode'.
19029 * include/grub/script.h: Add inclusion guards.
19030 (grub_script_cmd_menuentry): New struct.
19031 (grub_script_execute_menuentry): New prototype.
19032 (grub_script_lexer_record_start): Likewise.
19033 (grub_script_lexer_record_stop): Likewise.
19034 * normal/execute.c (grub_script_execute_menuentry): New function.
19035 * normal/lexer.c (record, recording, recordpos, recordlen): New
19036 variables.
19037 (grub_script_lexer_record_start): New function.
19038 (grub_script_lexer_record_stop): Likewise.
19039 (recordchar): Likewise.
19040 (nextchar): Likewise.
19041 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19042 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19043 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19044 (current_menu): New variable.
19045 (free_menu): Mainly rewritten.
19046 (grub_normal_menu_addentry): New function.
19047 (read_config_file): Rewritten.
19048 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19049 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19050 the menu entry.
19051 (run): Mainly rewritten.
19052 * normal/parser.y (menu_entry): New variable.
19053 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19054 (menuentry): New rule.
19055 (command): Add `menuentry'.
19056 (if_statement): Allow additional returns before `fi'.
19057 * normal/script.c (grub_script_create_cmdmenu): New function.
19058
144f1f98 190592006-01-03 Marco Gerards <marco@gnu.org>
19060
19061 * INSTALL: GNU Bison is required.
19062 * configure.ac: Rewritten the test to detect Bison.
19063 * Makefile.in (YACC): New variable. Reported by Xun Sun
19064 <xun.sun.cn@gmail.com>.
19065
af4b2d89 190662006-01-03 Marco Gerards <marco@gnu.org>
19067
19068 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19069 the HFS+ filesystem to filesystem blocks.
19070 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19071 GCC warning is silenced.
19072
15643b71 190732006-01-03 Marco Gerards <marco@gnu.org>
19074
19075 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19076 read from disk from big endian to host byte order.
19077
00905879 190782006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19079
19080 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19081 documentation.
19082 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19083 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19084 embedded HFS+ filesystem.
19085 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
19086 (grub_hfs_sblock): Move from here...
19087 * include/grub/hfs.h: To here... New file.
19088 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
19089 documentation.
19090 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
19091 New macros.
19092 (grub_hfsplus_volheader): Change type of member `magic' to
19093 `grub_uint16_t'.
19094 (grub_hfsplus_data): Add new member `embedded_offset'.
19095 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
19096 returned block.
19097 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
19098 Calculate the offset.
19099
8899bc3e 191002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19101
19102 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
19103 Removed.
19104 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
19105
ae8c0277 191062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19107
19108 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
19109 ENV->NAME is NULL after allocating ENV->VALUE.
19110
07084456 191112005-12-25 Marco Gerards <marco@gnu.org>
19112
19113 * kern/env.c (grub_env_set): Rewritten the error handling code.
19114
4750f5f1 191152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19116
19117 * geninit.sh: Made more robust, and more portable.
19118
50214199 191192005-12-25 Marco Gerards <marco@gnu.org>
19120
19121 Add support for Apple HFS+ filesystems.
f19dbdb7 19122
50214199 19123 * fs/hfsplus.c: New file.
19124
19125 * DISTLIST: Added `fs/hfsplus.c'.
19126
19127 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
19128 (hfsplus_mod_SOURCES): New variable.
19129 (hfsplus_mod_CFLAGS): Likewise.
19130 (hfsplus_mod_LDFLAGS): Likewise.
19131 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
19132 (grub_setup_SOURCES): Likewise.
19133 (grub_mkdevicemap_SOURCES): Likewise.
19134 (grub_emu_SOURCES): Likewise.
19135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19136
19137 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
19138
19139 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
19140
befaed6c 191412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19142
19143 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
19144 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
19145 include/grub/parser.h, include/grub/script.h, kern/parser.c,
19146 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
19147 normal/lexer.c, normal/parser.y, normal/script.c, and
19148 partmap/gpt.c.
19149 Removed kern/sparc64/cache.c.
19150
19151 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
19152 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
19153 grub_emu_init.c.
19154
19155 * configure.ac (AC_INIT): Bumped to 1.92.
19156
6a124103 191572005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
19158
19159 * kern/err.c (grub_error_push): Added new function to support error
19160 stacks.
19161 (grub_error_pop): Likewise.
19162 (grub_error_stack_items): New local variable to support error stacks.
19163 (grub_error_stack_pos): Likewise.
19164 (grub_error_stack_assert): Likewise.
19165 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
19166 stack depth.
19167 (grub_print_error): Added support to print errors from error stack.
19168
19169 * include/grub/err.h (grub_error_push): Added function prototype.
19170 (grub_error_pop): Likewise.
19171
be973c1b 191722005-12-09 Hollis Blanchard <hollis@penguinppc.org>
19173
19174 * configure.ac: Accept `powerpc64' as host_cpu.
19175 (amd64): Rename to `biarch32'.
19176
19177 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
19178 non-cacheline-aligned addresses.
19179
19180 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
19181 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
19182 if `size' is non-zero.
19183
b04216ab 191842005-12-03 Marco Gerards <mgerards@xs4all.nl>
19185
19186 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
19187 and `cd' to make sure the filename is not prefixed with a
19188 directory name.
19189 (pkgdata_MODULES): Add `gpt.mod'.
19190 (gpt_mod_SOURCES): New variable.
19191 (gpt_mod_CFLAGS): Likewise.
19192 (gpt_mod_LDFLAGS): Likewise.
19193
19194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
19195
19196 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
19197 New macro.
19198
19199 * partmap/gpt.c: New file.
19200
19201 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
19202 GPT partition map is detected.
19203
41730ed9 192042005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
19205
19206 * commands/i386/pc/play.c: New file.
19207 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
19208 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
19209 macros.
f19dbdb7 19210
95dc3643 192112005-11-27 Marco Gerards <mgerards@xs4all.nl>
19212
19213 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
19214 ((unused))' to silence gcc warning.
19215
1569ec51 192162005-11-26 Hollis Blanchard <hollis@penguinppc.org>
19217
19218 * configure.ac: Correct `AC_PROG_YACC' test.
19219
9abde152 192202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19221
19222 * util/powerpc/ieee1275/grub-install.in: Run the mount point
19223 check before installing files.
19224
44b83271 192252005-11-22 Mike Small <smallm@panix.com>
19226
19227 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
19228 number regex so multidigit numbers are recognized correctly.
19229
192302005-11-22 Mike Small <smallm@panix.com>
19231
19232 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
19233 debugging message before attempting to claim memory.
19234 (grub_rescue_cmd_initrd): Add a claim debugging message and try
19235 multiple addresses in case of failure.
19236
9c12956b 192372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19238
19239 * term/tparm.c (get_space): Remove empty `if' statement.
19240
19241 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
19242
19243 * kern/parser.c (check_varstate): Rename `state' to 's'.
19244
aeaf81d9 192452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19246
19247 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
19248 variable definitions to the beginning of each function. Sort stack
19249 variables by size.
19250 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
19251 `buf' argument to `char *'.
19252
79bbb63f 192532005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19254
19255 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
19256 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19257 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 19258 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19259 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19260 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19261 configfile.mod, search.mod, gzio.mod and test.mod.
19262 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19263 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19264 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19265 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19266 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19267 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19268 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19269 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19270 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19271 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19272 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19273 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19274 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19275 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19276 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19277 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19278 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19279 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19280 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19281 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19282 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19283 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19284 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
19285
19286 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
19287 `grep --include'.
19288 (pkgdata_MODULES): Add test.mod.
19289
233b1628 192902005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19291
19292 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
19293 appending to variables with "+=".
19294 (PModule): Use full pathname to generate *.lst filenames.
19295
19296 * Makefile.in: Fixed list rules moved from genmk.rb.
19297 (.DELETE_ON_ERROR): New special target.
19298 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
19299
19300 * conf/i386-pc.rmk: Include conf/common.mk.
19301 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19302 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 19303 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19304 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19305 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19306 configfile.mod, search.mod, gzio.mod and test.mod.
19307 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19308 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19309 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19310 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19311 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19312 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19313 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19314 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19315 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19316 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19317 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19318 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19319 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19320 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19321 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19322 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19323 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19324 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19325 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19326 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19327 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
19328 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
19329 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
19330 here...
19331 * conf/common.rmk: ... to here. New file.
19332
19333 * conf/common.mk: New file.
19334
16f820c8 193352005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
19336
19337 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
19338 (grub_script.tab.c): ... here.
19339
19340 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
19341 (grub_script.tab.c): ... here.
19342
19343 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
19344 (grub_script.tab.c): ... here.
19345
19346 * normal/command.c (grub_command_find): Fixed a memory leak of
19347 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
19348
63ba1554 193492005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19350
19351 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
19352 "@" which marks the start of a comment on ARM.
19353 (VARIABLE): Likewise.
19354
7f67dc13 193552005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19356
79bbb63f 19357 Add support for Linux/ADFS partition tables.
7f67dc13 19358
19359 * partmap/acorn.c: New file.
19360
19361 * include/grub/acorn_filecore.h: Likewise.
19362
19363 * DISTLIST: Added `partmap/acorn.c' and
19364 `include/grub/acorn_filecore.h'.
f19dbdb7 19365
7f67dc13 19366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19367 `partmap/acorn.c'.
19368 (pkgdata_MODULES): Add `acorn.mod'.
19369 (acorn_mod_SOURCES): New variable.
19370 (acorn_mod_CFLAGS): Likewise.
19371
19372 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19373 `partmap/acorn.c'.
19374 (pkgdata_MODULES): Add `acorn.mod'.
19375 (acorn_mod_SOURCES): New variable.
19376 (acorn_mod_CFLAGS): Likewise.
19377
19378 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
19379 (pkgdata_MODULES): Add `acorn.mod'.
19380 (acorn_mod_SOURCES): New variable.
19381 (acorn_mod_CFLAGS): Likewise.
19382 (acorn_mod_LDFLAGS): Likewise.
19383
19384 * include/types.h (grub_disk_addr_t): New typedef.
19385
6d099807 193862005-11-13 Marco Gerards <mgerards@xs4all.nl>
19387
19388 * geninit.sh: New file.
19389
19390 * geninitheader.sh: Likewise.
19391
19392 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
19393 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
19394 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
19395 * commands/configfile.c (grub_configfile_init)
19396 (grub_configfile_fini): Likewise.
19397 * commands/default.c (grub_default_init, grub_default_fini):
19398 Likewise.
19399 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
19400 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
19401 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
19402 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
19403 Likewise.
19404 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
19405 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
19406 Likewise.
19407 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 19408 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 19409 Likewise.
19410 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
19411 Likewise.
fe6b695a 19412 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 19413 Likewise.
19414 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
19415 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
19416 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
19417 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
19418 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
19419 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
19420 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
19421 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
19422 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
19423 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
19424 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
19425 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
19426 * partmap/amiga.c (grub_amiga_partition_map_init)
19427 (grub_amiga_partition_map_fini): Likewise.
19428 * partmap/apple.c (grub_apple_partition_map_init)
19429 (grub_apple_partition_map_fini): Likewise.
19430 * partmap/pc.c (grub_pc_partition_map_init)
19431 (grub_pc_partition_map_fini): Likewise.
19432 * partmap/sun.c (grub_sun_partition_map_init,
19433 grub_sun_partition_map_fini): Likewise.
19434 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
19435 Likewise.
19436
19437 * util/grub-emu.c: Include <grub_modules_init.h>.
19438 (main): Don't initialize and de-initialize any modules directly,
19439 use `grub_init_all' and `grub_fini_all' instead.
19440
19441 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
19442 `grub_vesafb_mod_init'.
19443 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
19444 all users.
19445 * term/i386/pc/vga.c (grub_vga_init): Renamed to
19446 `grub_vga_mod_init'. Updated all users.
19447 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 19448
6d099807 19449 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
19450 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
19451 rules.
19452
19453 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
19454 Generate a function to initialize the module in utilities.
19455 Updated all callers.
19456 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
19457 initialize the module in utilities. Updated all callers.
19458
9046bcf0 194592005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19460
19461 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
19462 escape sequence and a literal ^L to clear the screen.
19463
19464 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
19465 when returning from Open Firmware.
19466
d13ea639 194672005-11-09 Hollis Blanchard <hollis@penguinppc.org>
19468
19469 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
19470 (grub_ofconsole_height): Likewise.
19471 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
19472 manually insert a '\n'.
19473 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
19474 `grub_ofconsole_height'. Return early if these are already set.
19475
a8fcf206 194762005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
19477
19478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
19479 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
19480 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
19481 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
19482 and `normal/script.c'.
19483 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19484 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19485 (test_mod_SOURCES): New variable.
19486 (test_mod_CFLAGS): Likewise.
19487 (test_mod_LDFLAGS): Likewise.
19488 (pkgdata_MODULES): Add `test.mod'.
19489 (grub_script.tab.c): New rule.
19490 (grub_script.tab.h): Likewise.
19491
b6b32745 194922005-11-07 Marco Gerards <mgerards@xs4all.nl>
19493
19494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19495 `commands/test.c', `normal/execute.c', `normal/lexer.c',
19496 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19497 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19498 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
19499 (test_mod_SOURCES): New variable.
19500 (test_mod_CFLAGS): Likewise.
19501 (pkgdata_MODULES): Add `test.mod'.
19502 (grub_script.tab.c): New rule.
19503 (grub_script.tab.h): Likewise.
19504
daac212a 195052005-11-06 Marco Gerards <mgerards@xs4all.nl>
19506
19507 Add initial scripting support.
19508
19509 * commands/test.c: New file.
19510 * include/grub/script.h: Likewise.
19511 * normal/execute.c: Likewise.
19512 * normal/function.c: Likewise.
19513 * normal/lexer.c: Likewise.
19514 * normal/parser.y: Likewise.
19515 * normal/script.c: Likewise.
19516
19517 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 19518
daac212a 19519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
19520 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
19521 `normal/function.c' and `normal/script.c'.
19522 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
19523 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 19524 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
19525 variables.
daac212a 19526 (pkgdata_MODULES): Add `test.mod'.
19527 (grub_script.tab.c): New rule.
19528 (grub_script.tab.h): Likewise.
19529
19530 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
19531
19532 * include/grub/normal.h (grub_test_init): New prototype.
19533 (grub_test_fini): Likewise.
f19dbdb7 19534
daac212a 19535 * normal/command.c: Include <grub/script.h>.
19536 (grub_command_execute): Rewritten.
f19dbdb7 19537
daac212a 19538 * util/grub-emu.c (main): Call `grub_test_init' and
19539 `grub_test_fini'.
19540
77500b2b 195412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19542
19543 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
19544 to 0.
19545 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
19546 there are no pending characters.
19547
e45deb9e 195482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19549
19550 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
19551 `grub_strndup' to drop device arguments. Replace unnecessary
19552 `grub_strndup' with `grub_strdup'.
19553
4ce32619 195542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19555
19556 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
19557 `debug' environment variable has been set.
19558
195592005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19560
4ce32619 19561 * Makefile.in (install-local): Use $(DATA).
19562 (uninstall): Likewise.
19563 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
19564 (sbin_UTILITIES): ... to here.
19565 (sbin_SCRIPTS): New variable.
19566 (grub_install_SOURCES): New variable.
19567 * util/powerpc/ieee1275/grub-install.in: New file.
19568 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
19569 variable.
19570 (add_segments): Call `grub_util_get_path'.
19571
25fe6f03 195722005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19573
19574 From Timothy Baldwin:
19575 * commands/ls.c (grub_ls_list_files): Close FILE with
19576 grub_file_close.
19577 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
19578
04ccf3ec 195792005-10-24 Marco Gerards <mgerards@xs4all.nl>
19580
19581 * include/grub/parser.h: New file.
19582
19583 * kern/parser.c: Likewise.
19584
19585 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
19586 (grub_setup_SOURCES): Likewise.
19587 (grub_probefs_SOURCES): Likewise.
19588 (grub_emu_SOURCES): Likewise.
19589 (kernel_img_HEADERS): Add `parser.h'.
19590
19591 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19592 (grub_emu_SOURCES): Add `kern/parser.c'.
19593 (grubof_SOURCES): Likewise.
19594
19595 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19596 (grubof_SOURCES): Add `kern/parser.c'.
19597
19598 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
19599
19600 * kern/misc.c (grub_split_cmdline): Removed function.
19601
19602 * kern/rescue.c: Include <grub/parser.h>.
19603 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
19604 of `grub_split_cmdline'.
19605
19606 * normal/command.c: Include <grub/parser.h>.
19607 (grub_command_execute): Use `grub_parser_split_cmdline' instead
19608 of `grub_split_cmdline'.
19609
19610 * normal/completion.c: Include <grub/parser.h>.
19611 (cmdline_state): New variable.
19612 (iterate_dir): End the filename with a quote depending on the
19613 command line state.
19614 (get_state): new function.
19615 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
19616 split the arguments and determine the current argument. When the
19617 argument string is not quoted, escape all spaces.
19618
6d8f4b0e 196192005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19620
19621 * normal/sparc64/setjmp.S: New file.
19622
15cf03ed 196232005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19624
19625 * include/grub/sparc64/libgcc.h: New file.
19626 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
19627 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
19628 normal/sparc64/setjmp.c.
19629
03e8661a 196302005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19631
19632 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
19633 * kern/sparc64/cache.S: New file.
19634 * kern/sparc64/cache.c: Removed.
19635 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
19636 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
19637 -mtune=ultrasparc.
19638 (COMMON_LDFLAGS): Add -melf64_sparc.
19639 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
19640 (grubof_SOURCES): Use cache.S instead of cache.c.
19641 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
19642 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
19643 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
19644 commented though.
19645 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
19646 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
19647 (linux_mod_CFLAGS): Commented out.
19648 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
19649 out because module isn't built.
19650 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
19651 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
19652 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
19653 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
19654 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
19655 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19656 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19657 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
19658 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
19659 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
19660 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19661 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19662 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
19663 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
19664
34eeec8a 196652005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
19666
19667 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
19668 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
19669 longer, because HFS should not be used on PC.
19670
708367a3 196712005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19672
19673 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
19674 consistently within the loop.
19675
6fa1251a 196762005-10-15 Marco Gerards <mgerards@xs4all.nl>
19677
19678 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
19679 directory can not be read.
19680
4801580b 196812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19682
19683 * configure.ac (AC_INIT): Increase the version number to 1.91.
19684
19685 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
19686 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
19687 term/i386/pc/serial.c.
19688
219ad426 196892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19690
19691 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
19692 file size must be permitted.
19693
19694 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
19695 between %ah and %al.
19696
688e5699 196972005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19698
19699 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
19700 grub_uint64_t.
19701 Call the hook with a NUL-terminated filename.
19702 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
19703 grub_cpu_to_be32.
19704
19705 * kern/term.c (cursor_state): New variable.
19706 (grub_term_set_current): Reset the cursor state on a new
19707 terminal.
19708 (grub_setcursor): Rewritten to use CURSOR_STATE.
19709 (grub_getcursor): New function.
19710
19711 * include/grub/term.h (grub_getcursor): New prototype.
19712
19713 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
19714 integers on ARM. Reported by Timothy Baldwin
19715 <T.E.Baldwin99@members.leeds.ac.uk>.
19716
bb34586c 197172005-10-11 Marco Gerards <mgerards@xs4all.nl>
19718
19719 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
19720 allocated.
19721 (grub_sfs_dir): Likewise.
19722
9a909877 197232005-10-09 Marco Gerards <mgerards@xs4all.nl>
19724
19725 Add support for the SFS filesystem.
19726
19727 * fs/sfs.c: New file.
19728
19729 * DISTLIST: Added `fs/sfs.c'.
19730
19731 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
19732 (grub_probefs_SOURCES): Likewise.
19733 (grub_emu_SOURCES): Likewise.
19734 (pkgdata_MODULES): Add `sfs.mod'.
19735 (sfs_mod_SOURCES): New variable.
19736 (sfs_mod_CFLAGS): Likewise.
19737 (sfs_mod_LDFLAGS): Likewise.
19738
19739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
19740 (pkgdata_MODULES): Add `sfs.mod'.
19741 (sfs_mod_SOURCES): New variable.
19742 (sfs_mod_CFLAGS): Likewise.
19743
19744 * util/grub-emu.c (main): Call `grub_sfs_init' and
19745 `grub_sfs_fini'.
19746
19747 * include/grub/fs.h (grub_sfs_init): New prototype.
19748 (grub_sfs_fini): Likewise.
19749
57bdbde3 197502005-10-07 Marco Gerards <mgerards@xs4all.nl>
19751
19752 Add support for the AFFS filesystem.
19753
19754 * fs/affs.c: New file.
19755
19756 * DISTLIST: Added `fs/affs.c'.
19757
19758 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
19759 (grub_probefs_SOURCES): Likewise.
19760 (grub_emu_SOURCES): Likewise.
19761 (pkgdata_MODULES): Add `affs.mod'.
19762 (affs_mod_SOURCES): New variable.
19763 (affs_mod_CFLAGS): Likewise.
19764 (affs_mod_LDFLAGS): Likewise.
19765
19766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
19767 (pkgdata_MODULES): Add `affs.mod'.
19768 (affs_mod_SOURCES): New variable.
19769 (affs_mod_CFLAGS): Likewise.
19770
19771 * util/grub-emu.c (main): Call `grub_affs_init' and
19772 `grub_affs_fini'.
19773
19774 * include/grub/fs.h (grub_affs_init): New prototype.
19775 (grub_affs_fini): Likewise.
19776
047b67e0 197772005-10-01 Marco Gerards <mgerards@xs4all.nl>
19778
19779 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
19780
59b8208a 197812005-10-01 Marco Gerards <mgerards@xs4all.nl>
19782
19783 * configure.ac: Accept `x86_64' as host_cpu. In that case add
19784 `-m32' to CFLAGS.
19785
19786 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
19787 linking.
f19dbdb7 19788
59b8208a 19789 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
19790 (COMMON_LDFLAGS): New variable.
19791 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
19792 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
19793 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
19794 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
19795 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
19796 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
19797 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
19798 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
19799 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
19800 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
19801 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19802 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19803 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
19804 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
19805 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
19806 variables.
19807 (normal_mod_ASFLAGS): Add `-m32'.
19808
19809 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
19810 (grub_host_size_t, grub_host_ssize_t): New types.
19811 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 19812 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 19813 `GRUB_HOST_SIZEOF_VOID_P'.
19814
19815 * include/grub/kernel.h (struct grub_module_header): Type of
19816 member offset changed to `grub_host_off_t'. Type of member size
19817 changed to `grub_host_size_t'.
19818 (struct grub_module_info): Type of member offset changed to
19819 `grub_host_off_t'. Type of member size changed to
19820 `grub_host_size_t'.
19821
b4093103 198222005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
19823
19824 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 19825
b4093103 19826 * kern/i386/pc/startup.S (multiboot_header): New label.
19827 (multiboot_entry): Likewise.
19828 (multiboot_trampoline): Likewise.
19829
19830 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19831 Increased to 0x4A0.
19832
19833 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
19834 put parentheses after a question mark.
19835 [!GRUB_UTIL] (my_mod): New variable.
19836
19837 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
19838
b2499b29 198392005-09-28 Marco Gerards <mgerards@xs4all.nl>
19840
19841 Adds support for the XFS filesystem. Btrees are not supported
19842 yet.
19843
19844 * fs/xfs.c: New file.
19845
19846 * DISTLIST: Added `fs/xfs.c'.
19847
19848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
19849 (grub_probefs_SOURCES): Likewise.
19850 (grub_emu_SOURCES): Likewise.
19851 (pkgdata_MODULES): Add `xfs.mod'.
19852 (xfs_mod_SOURCES): New variable.
19853 (xfs_mod_CFLAGS): Likewise.
19854
19855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
19856 (pkgdata_MODULES): Add `xfs.mod'.
19857 (xfs_mod_SOURCES): New variable.
19858 (xfs_mod_CFLAGS): Likewise.
19859
19860 * util/grub-emu.c (main): Call `grub_xfs_init' and
19861 `grub_xfs_fini'.
19862
19863 * include/grub/fs.h (grub_xfs_init): New prototype.
19864 (grub_xfs_fini): Likewise.
19865
f19dbdb7 19866
83d37a62 198672005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
19868
19869 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
19870 color modes, allow greater than 16 colors to be configured as
19871 a default palette.
19872
47d2d65e 198732005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19874
19875 * normal/completion.c (complete_arguments): Add the qualifier
19876 const into OPTIONS.
19877
19878 From Omniflux <omniflux+lists@omniflux.com>:
19879 * include/grub/terminfo.h: New file.
19880 * include/grub/tparm.h: Likewise.
19881 * include/grub/i386/pc/serial.h: Likewise.
19882 * term/terminfo.c: Likewise.
19883 * term/tparm.c: Likewise.
19884 * term/i386/pc/serial.c: Likewise.
19885 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
19886 serial.mod.
19887 (terminfo_mod_SOURCES): New variable.
19888 (terminfo_mod_CFLAGS): Likewise.
19889 (serial_mod_SOURCES): Likewise.
19890 (serial_mod_CFLAGS): Likewise.
19891
48b671ff 198922005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
19893
19894 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
19895 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
19896 and kern/powerpc/ieee1275/cmain.c, respectively.
19897
19898 * boot/powerpc/ieee1275/crt0.S: Moved to ...
19899 * kern/powerpc/ieee1275/crt0.S: ... here.
19900
19901 * boot/powerpc/ieee1275/cmain.c: Moved to ...
19902 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 19903
48b671ff 19904 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
19905 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
19906 instead of boot/powerpc/ieee1275/crt0.S and
19907 boot/powerpc/ieee1275/cmain.c, respectively.
19908
19909 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
19910 sectors. It was not used anyway.
19911
09fc77a7 199122005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19913
19914 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
19915 `unused parameter' warning.
19916
003789c7 199172005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19918
19919 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19920 function.
19921 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19922 getcharwidth.
19923
67f44c86 199242005-08-28 Marco Gerards <metgerards@student.han.nl>
19925
19926 * include/grub/normal.h (enum grub_completion_type): Added
19927 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19928
19929 * normal/cmdline.c (print_completion): Handle
19930 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19931 * normal/menu_entry.c (store_completion): Likewise.
19932
19933 * normal/completion.c (complete_arguments): New function.
19934 (grub_normal_do_completion): Call `complete_arguments' when the
19935 current words start with a dash.
19936
0b5abe02 199372005-08-27 Marco Gerards <metgerards@student.han.nl>
19938
19939 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19940 `gzio.mod' instead of `io.mod').
19941
d9864ee1 199422005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19943
19944 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19945 (DISTDIRS): Added io and video.
19946 Rewrite the search routine to make an output consistently.
19947
19948 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19949 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19950 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19951 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19952 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19953 util/powerpc/ieee1275/misc.c.
f19dbdb7 19954
d9864ee1 19955 * include/grub/gzio.h: New file.
19956 * io/gzio.c: Likewise.
f19dbdb7 19957
d9864ee1 19958 * kern/file.c (grub_file_close): Call grub_device_close only if
19959 FILE->DEVICE is not NULL.
19960
19961 * include/grub/mm.h [!NULL] (NULL): New macro.
19962
19963 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19964
19965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
19966 (pkgdata_MODULES): Added gzio.mod.
19967 (gzio_mod_SOURCES): New variable.
19968 (gzio_mod_CFLAGS): Likewise.
19969
19970 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19971 (pkgdata_MODULES): Added gzio.mod.
19972 (gzio_mod_SOURCES): New variable.
19973 (gzio_mod_CFLAGS): Likewise.
19974
19975 * commands/cat.c: Include grub/gzio.h.
19976 (grub_cmd_cat): Use grub_gzfile_open instead of
19977 grub_file_open.
f19dbdb7 19978
d9864ee1 19979 * commands/cmp.c: Include grub/gzio.h.
19980 (grub_cmd_cmp): Use grub_gzfile_open instead of
19981 grub_file_open.
19982
19983 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
19984 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
19985 grub_file_open.
19986 (grub_rescue_cmd_module): Likewise.
19987
fa46f4b5 199882005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19989
19990 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
19991 kern/sparc64/ieee1275/init.c because it contains _start.
19992 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
19993
e9211b5d 199942005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19995
19996 * configure.ac: Add support for sparc64 host with ieee1275
19997 firmware.
19998 * configure: Generated from configure.ac.
19999 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20000 instead of int.
20001 (grub_ofdisk_read): Likewise.
20002 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20003 pointers as (void *) to remove a warning.
20004 (grub_ofdisk_close): Likewise.
20005 (grub_ofdisk_read): Likewise.
20006 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20007 returns, so make it return void to remove a warning.
20008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20009 Corresponding prototype change.
20010 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20011 values, and cast the pointers as (void *) to remove a warning.
20012 (grub_mm_dump): Likewise.
20013 * conf/sparc64-ieee1275.mk: New file.
20014 * conf/sparc64-ieee1275.rmk: Likewise.
20015 * include/grub/sparc64/setjmp.h: Likewise.
20016 * include/grub/sparc64/types.h: Likewise.
20017 * include/grub/sparc64/ieee1275/console.h: Likewise.
20018 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20019 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20020 * include/grub/sparc64/ieee1275/time.h: Likewise.
20021 * kern/sparc64/cache.c: Likewise.
20022 * kern/sparc64/dl.c: Likewise.
20023 * kern/sparc64/ieee1275/init.c: Likewise.
20024 * kern/sparc64/ieee1275/openfw.c: Likewise.
20025
385c6a92 200262005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20027
20028 * util/console.c (grub_ncurses_putchar): If C is greater than
20029 0x7f, set C to a question mark.
20030 (grub_ncurses_getcharwidth): New function.
20031 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20032 getcharwidth.
20033
20034 * normal/menu.c (print_entry): Made aware of Unicode. First,
20035 convert TITLE to UCS-4, and predict the cursor position by
20036 grub_getcharwidth.
20037
20038 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20039 const to SRC.
20040 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20041
16ccb8b1 200422005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20043
20044 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20045 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20046 grub_strcat.
20047
20048 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20049 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20050 grub_strcpy and grub_strlen. Take it into account that a space
20051 character is inserted as a delimiter.
20052
6a85ce79 200532005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20054
20055 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20056 invalid magic in the error.
6a85ce79 20057
20058 * commands/search.c: New file.
f19dbdb7 20059
6a85ce79 20060 * util/grub-emu.c (main): Call grub_search_init and
20061 grub_search_fini.
20062
20063 * kern/rescue.c (grub_rescue_print_disks): Removed.
20064 (grub_rescue_print_devices): New function.
20065 (grub_rescue_cmd_ls): Use grub_device_iterate with
20066 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20067 grub_rescue_print_disks.
20068
20069 * kern/partition.c (grub_partition_iterate): Return the result of
20070 PARTMAP->ITERATE instead of GRUB_ERRNO.
20071
20072 * kern/device.c: Include grub/partition.h.
20073 (grub_device_iterate): New function.
20074
20075 * include/grub/partition.h (grub_partition_iterate): Return int
20076 instead of grub_err_t.
20077
20078 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20079 prototype.
20080 [GRUB_UTIL] (grub_search_fini): Likewise.
20081
20082 * include/grub/device.h (grub_device_iterate): New prototype.
20083
20084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20085 commands/search.c.
20086 (pkgdata_MODULES): Added search.mod.
20087 (search_mod_SOURCES): New variable.
20088 (search_mod_CFLAGS): Likewise.
20089
20090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
20091 (pkgdata_MODULES): Added search.mod.
20092 (search_mod_SOURCES): New variable.
20093 (search_mod_CFLAGS): Likewise.
20094
20095 * commands/ls.c (grub_ls_list_disks): Renamed to ...
20096 (grub_ls_list_devices): ... this, and use grub_device_iterate.
20097 All callers changed.
20098
20099 * DISTLIST: Added commands/search.c.
20100
ef095434 201012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20102
20103 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
20104 conversion.
20105 (grub_getcharwidth): New function.
20106
20107 * kern/misc.c (grub_utf8_to_ucs4): New function.
20108
20109 * include/grub/term.h (struct grub_term): Added a new member
20110 "getcharwidth".
20111 (grub_getcharwidth): New prototype.
20112
20113 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
20114
20115 * term/i386/pc/console.c (map_char): New function. Segregated from
20116 grub_console_putchar.
20117 (grub_console_putchar): Use map_char.
20118 (grub_console_getcharwidth): New function.
20119 (grub_console_term): Specified grub_console_getcharwidth as
20120 getcharwidth.
20121
20122 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
20123 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
20124
20125 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
20126 GRUB_ERRNO.
20127 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
20128 on grub_strtoul completely.
20129 (write_char): Declare local variables in the beginning of the
20130 function.
20131 (grub_vesafb_getcharwidth): New function.
20132 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
20133 getcharwidth.
20134
1f0a95e4 201352005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
20136
20137 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
20138 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
20139 commands/i386/pc/vbetest.c.
20140
20141 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
20142 call grub_vbe_get_controller_info again, because the returned
20143 information is volatile.
20144 (grub_vbe_set_video_mode): Mostly rewritten.
20145 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
20146 grub_vbe_status_t correctly.
20147 (grub_vbe_get_video_mode_info): Likewise.
20148 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
20149 several if statements.
20150
20151 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
20152 * commands/i386/pc/vbeinfo.c: ... this.
20153
20154 * commands/i386/pc/vbe_test.c: Renamed to ...
20155 * commands/i386/pc/vbetest.c: ... this.
20156
20157 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
20158 ...
20159 (grub_cmd_vbeinfo): ... this. Save video modes before
20160 iterating. Skip a video mode, if it is not available, not enough
20161 information is given or it is monochrome. Show the memory
20162 model. Leave the interpretation of MODEVAR to grub_strtoul
20163 completely.
20164 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
20165 (GRUB_MOD_FINI): Likewise.
20166
20167 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
20168 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
20169 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
20170 duplicated grub_env_get. Leave the interpretation of MODEVAR to
20171 grub_strtoul completely.
20172 (real2pm): Removed.
20173 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
20174 (GRUB_MOD_FINI): Likewise.
20175
20176 * normal/misc.c: Include grub/mm.h.
20177
20178 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
20179 vbe_list_modes with vbetest.mod and vbeinfo.mod.
20180 (vbe_list_modes_mod_SOURCES): Removed.
20181 (vbe_list_modes_mod_CFLAGS): Likewise.
20182 (vbe_test_mod_SOURCES): Likewise.
20183 (vbe_test_mod_CFLAGS): Likewise.
20184 (vbeinfo_mod_SOURCES): New variable.
20185 (vbeinfo_mod_CFLAGS): Likewise.
20186 (vbetest_mod_SOURCES): Likewise.
20187 (vbetest_mod_CFLAGS): Likewise.
20188
992ffbbe 201892005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
20190
20191 * normal/misc.c: New file.
20192
20193 * DISTLIST: Added normal/misc.c.
f19dbdb7 20194
992ffbbe 20195 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
20196 DISK to HOOK. Call HOOK with DISK.
20197 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20198 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20199 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20200
20201 * normal/menu_entry.c (struct screen): Added a new member
20202 "completion_shown".
20203 (completion_buffer): New global variable.
20204 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
20205 (store_completion): New function.
20206 (complete): Likewise.
20207 (clear_completions): Likewise.
20208 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
20209 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
20210 a tab, call complete.
20211
20212 * normal/completion.c (disk_dev): Removed.
20213 (print_simple_completion): Likewise.
20214 (print_partition_completion): Likewise.
20215 (print_func): New global variable.
20216 (add_completion): Do not take the arguments WHAT or PRINT any
20217 longer. Added a new argument TYPE. Instead of printing directly,
20218 call PRINT_FUNC if not NULL.
20219 All callers changed.
20220 (complete_device): Use a local variable DEV instead of
20221 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
20222 (grub_normal_do_completion): Take a new argument HOOK. Do not
20223 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
20224 empty string, return NULL instead.
20225 All callers changed.
20226
20227 * normal/cmdline.c (print_completion): New function.
20228
20229 * kern/partition.c (grub_partition_iterate): Add an argument DISK
20230 to HOOK.
20231 All callers changed.
20232
20233 * kern/disk.c (grub_print_partinfo): Removed.
20234
20235 * include/grub/partition.h (struct grub_partition_map): Add a new
20236 argument DISK into HOOK of ITERATE.
20237 (grub_partition_iterate): Add a new argument DISK to HOOK.
20238
20239 * include/grub/normal.h (enum grub_completion_type): New enum.
20240 (grub_completion_type_t): New type.
20241 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
20242 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
20243 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
20244 (GRUB_COMPLETION_TYPE_FILE): Likewise.
20245 (grub_normal_do_completion): Added a new argument HOOK.
20246 (grub_normal_print_device_info): New prototype.
20247
20248 * include/grub/disk.h (grub_print_partinfo): Removed.
20249
20250 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
20251 (normal_mod_SOURCES): Likewise.
20252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20253 (normal_mod_SOURCES): Likewise.
20254
20255 * commands/ls.c (grub_ls_list_disks): Use
20256 grub_normal_print_device_info instead of grub_print_partinfo. Free
20257 PNAME.
20258 (grub_ls_list_files): Use grub_normal_print_device_info instead of
20259 duplicating the code.
20260
0bd41162 202612005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20262
20263 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 20264 follow GCS more precisely.
20265 * commands/i386/pc/vbe_test.c: Likewise.
20266 * include/grub/i386/pc/vbe.h: Likewise.
20267 * term/i386/pc/vesafb.c: Likewise.
20268 * video/i386/pc/vbe.c: Likewise.
0bd41162 20269
6323696a 202702005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20271
20272 * DISTLIST: Added term/i386/pc/vesafb.c
20273 DISTLIST: Added video/i386/pc/vbe.c
20274 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
20275 DISTLIST: Added commands/i386/pc/vbe_test.c.
20276 * commands/i386/pc/vbe_list_modes.c: New file.
20277 * commands/i386/pc/vbe_test.c: Likewise.
20278 * term/i386/pc/vesafb.c: Likewise.
20279 * video/i386/pc/vbe.c: Likewise.
20280 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
20281 (grub_vbe_probe) Added prototype.
20282 (grub_vbe_set_video_mode) Likewise.
20283 (grub_vbe_get_video_mode) Likewise.
20284 (grub_vbe_get_video_mode_info) Likewise.
20285 (grub_vbe_set_pixel_rgb) Likewise.
20286 (grub_vbe_set_pixel_index) Likewise.
20287 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
20288 (pkgdata_MODULES): Added vesafb.mod.
20289 (pkgdata_MODULES): Added vbe_list_modes.mod.
20290 (pkgdata_MODULES): Added vbe_test.mod.
20291 (vbe_mod_SOURCES): Added.
20292 (vbe_mod_CFLAGS): Likewise.
20293 (vesafb_mod_SOURCES): Likewise.
20294 (vesafb_mod_CFLAGS): Likewise.
20295 (vbe_list_modes_mod_SOURCES): Likewise.
20296 (vbe_list_modes_mod_CFLAGS): Likewise.
20297 (vbe_test_mod_SOURCES): Likewise.
20298 (vbe_test_mod_CFLAGS): Likewise.
20299
0a74e62f 203002005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
20301
0a74e62f 20302 * normal/command.c (grub_command_execute): If INTERACTIVE is
20303 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
20304 CMDLINE. Disable the pager if INTERACTIVE is true.
20305 All callers are changed.
20306
20307 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
20308 before reading a config file.
20309 * normal/main.c (read_config_file): Even if a command is not
20310 found, register it if it is within an entry.
20311
20312 * util/grub-emu.c: Include sys/types.h and unistd.h.
20313 (options): Added --hold.
20314 (struct arguments): Added a new member "hold".
20315 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
20316 missing.
20317 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
20318 cleared by a debugger, if it is not zero.
20319
20320 * include/grub/normal.h (grub_command_execute): Add an argument
20321 INTERACTIVE.
20322
e51f85ae 203232005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
20324
20325 * DISTLIST: Added include/grub/i386/pc/vbe.h.
20326
e9c6f39b 203272005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
20328
20329 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
20330 program with another one, because the old one didn't detect a bug
20331 in gcc-3.4. Always use regparm 2, because the new test is still
20332 not enough for gcc-4.0. Someone must investigate a simple test
20333 case which detects a bug in gcc-4.0.
20334
8de3495c 203352005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
20336
20337 * DISTLIST: Added normal/completion.c.
20338
20339 * normal/completion.c: New file.
f19dbdb7 20340
8de3495c 20341 * term/i386/pc/console.c (grub_console_getwh): New function.
20342 (grub_console_term): Assign grub_console_getwh to getwh.
20343
20344 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
20345 function is defined in normal/completion.c as
20346 grub_normal_do_completion.
20347 (grub_cmdline_get): Use grub_normal_do_completion instead of
20348 grub_tab_complete.
20349
20350 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
20351 returns non-zero, otherwise return 0.
20352 (grub_partition_iterate): First, probe the partition map. Then,
20353 call ITERATE only for this partition map.
20354
20355 * kern/misc.c (grub_strncmp): Rewritten.
20356
20357 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
20358 returns non-zero. Otherwise return 0.
20359
20360 * include/grub/partition.h (grub_partition_map_iterate): Return
20361 int instead of void.
20362
20363 * include/grub/normal.h (grub_normal_do_completion): New prototype.
20364
20365 * include/grub/misc.h (grub_strncmp): Change the type of N to
20366 grub_size_t.
20367
20368 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
20369 of void.
20370
20371 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 20372 unsigned explicitly before comparing it with I.
8de3495c 20373
20374 * kern/main.c (grub_env_write_root): Add the attribute unused into
20375 VAR.
20376
20377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20378 normal/completion.c.
20379 (normal_mod_SOURCES): Likewise.
20380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20381 (normal_mod_SOURCES): Likewise.
20382
20383 * normal/command.c (grub_iterate_commands): If ITERATE returns
20384 non-zero, return one immediately.
20385
e85e144b 203862005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
20387
20388 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
20389 * kern/i386/pc/startup.S: Updated Global Descriptor table's
20390 descriptions.
20391 (grub_vbe_get_controller_info): New function.
20392 (grub_vbe_get_mode_info): Likewise.
20393 (grub_vbe_set_mode): Likewise.
20394 (grub_vbe_get_mode): Likewise.
20395 (grub_vbe_set_memory_window): Likewise.
20396 (grub_vbe_get_memory_window): Likewise.
20397 (grub_vbe_set_scanline_length): Likewise.
20398 (grub_vbe_get_scanline_length): Likewise.
20399 (grub_vbe_set_display_start): Likewise.
20400 (grub_vbe_get_display_start): Likewise.
20401 (grub_vbe_set_palette_data): Likewise.
20402 * include/grub/i386/pc/vbe.h: New file.
20403
c46153d2 204042005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20405
20406 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20407 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
20408 * DISTLIST: Likewise.
20409 * kern/ieee1275/of.c: Moved to ...
20410 * kern/ieee1275/ieee1275.c: ... here.
20411
0cb90c45 204122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20413
20414 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
20415 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
20416 Pass 0 as `end' parameter to grub_strtoul().
20417
a19fb360 204182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
20419
20420 * include/grub/powerpc/ieee1275/console.h: Do not include
20421 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
20422 ifdef.
20423 (grub_console_cur_color): Remove i386-specific prototype.
20424 (grub_console_real_putchar): Likewise.
20425 (grub_console_checkkey): Likewise.
20426 (grub_console_getkey): Likewise.
20427 (grub_console_getxy): Likewise.
20428 (grub_console_gotoxy): Likewise.
20429 (grub_console_cls): Likewise.
20430 (grub_console_setcursor): Likewise.
20431 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
20432 Include <grub/machine/console.h>.
20433 * term/ieee1275/ofconsole.c: Likewise.
20434
4ac9bd04 204352005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
20436
20437 * Makefile.in (LIBLZO): New variable.
20438
20439 * configure.ac: Check for LZO version 2.
20440
20441 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
20442 lzo/lzo1x.h instead of lzo1x.h.
20443
20444 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
20445 of -llzo.
20446
20447 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
20448 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
20449
20450 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
20451 copying the data from PARTITION to P.
20452
f4917dfd 204532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20454
20455 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
20456 negative, unload the module.
20457
20458 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
20459 map is "pc_partition_map" but not "pc".
20460 (usage): Fix the description. The options are --boot-image and
20461 --core-image but not --boot-file or --core-file.
20462 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
20463 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
20464 DEFAULT_DIRECTORY.
20465
20466 * util/i386/pc/grub-install.in: Do not specify --boot-file or
20467 --core-file. Specify INSTALL_DEVICE as an argument.
20468
20469 * util/console.c: Include config.h.
20470 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
20471 [HAVE_NCURSES_H]: Include ncurses.h.
20472 [HAVE_CURSES_H]: Include curses.h.
20473 [!A_NORMAL] (A_NORMAL): Defined as zero.
20474 [!A_STANDOUT] (A_STANDOUT): Likewise.
20475
20476 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
20477 -lncurses.
20478 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
20479
20480 * configure.ac: Check for curses libraries and headers.
20481
20482 * Makefile.in (LIBCURSES): New variable.
20483
20484 * genmk.rb (Script::rule): Set the executable bits.
20485
20486 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
20487 name of the PC partition map is "pc_partition_map" but not "pc".
20488
0e143073 204892005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20490
20491 * util/i386/pc/grub-install.in (grub_probefs): New variable.
20492 (modules): Likewise.
20493 (usage): Added descriptions for --modules and --grub-probefs.
20494 Handle --modules and --grub-probefs. Save the arguments in MODULES
20495 and GRUB_PROBEFS, respectively.
20496 Auto-detect a filesystem module against GRUBDIR. If the result is
20497 empty and modules are not specified explicitly, abort the
20498 installation. Add the result to MODULES.
20499
20500 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
20501 disk/powerpc/ieee1275/ofdisk.c,
20502 include/grub/powerpc/ieee1275/init.h and
20503 term/powerpc/ieee1275/ofconsole.c.
20504 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
20505 term/ieee1275/ofconsole.c.
20506
20507 * include/grub/powerpc/ieee1275/console.h: Resurrected.
20508
20509 * COPYING: Upgraded to the latest version. Only the address of the
20510 FSF office has changed.
f19dbdb7 20511
efd6e6d5 205122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
20513
20514 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
20515 kern/ieee1275.c with kern/ieee1275/of.c.
20516
20517 * kern/ieee1275.c: Moved to ...
20518 * kern/ieee1275/of.c: ... here.
20519
8ceafda2 205202005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
20521
20522 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 20523 readability.
8ceafda2 20524
20525 * config.guess: Updated to the latest version from gnulib.
20526 * config.sub: Likewise.
20527 * install.sh: Likewise.
20528 * mkinstalldirs: Likewise.
20529
20530 * include/grub/console.h: Removed. This file is arch-specific. Do
20531 not put this in include/grub.
20532
20533 * include/grub/i386/pc/console.h: Resurrected.
20534
20535 * util/console.c: Include grub/machine/console.h instead of
20536 grub/console.h.
20537 * util/grub-emu.c: Likewise.
20538
267f6cd9 205392005-08-04 Marco Gerards <metgerards@student.han.nl>
20540
20541 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
20542 hardcoded value.
f19dbdb7 20543
267f6cd9 20544 From Vincent Pelletier <subdino2004@yahoo.fr>
20545 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
20546 Redefined to use grub_getwh.
20547 (grub_term): New member named getwh.
20548 (grub_getwh): New prototype.
20549 * kern/term.c (grub_getwh): New function.
20550 * term/i386/pc/console.c (grub_console_getwh): New function.
20551 (grub_console_term): New member `getwh'.
20552 * term/i386/pc/vga.c (grub_vga_getwh): New function.
20553 (grub_vga_term): New member `getwh'.
0b5abe02 20554 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 20555 grub_ssize_t.
20556 (grub_ofconsole_getw): New function.
20557 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
20558 (grub_ofconsole_term): New field named getwh and new initial
20559 value.
20560
3be7266d 205612005-08-03 Hollis Blanchard <hollis@penguinppc.org>
20562
20563 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
20564 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
20565 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
20566 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
20567 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
20568 of <grub/machine/ieee1275.h>.
20569 * commands/ieee1275/reboot.c: Likewise.
20570 * boot/powerpc/ieee1275/ieee1275.c: Move ...
20571 * kern/ieee1275.c: ... to here. All users updated. Change all
20572 parameter structs to use new type `grub_ieee1275_cell_t'.
20573 * term/powerpc/ieee1275/ofconsole.c: Move ...
20574 * term/ieee1275/ofconsole.c: ... to here. All users updated.
20575 * disk/powerpc/ieee1275/ofdisk.c: Move ...
20576 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
20577 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
20578 to return int.
20579 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
20580 Remove unused prototypes. All users updated.
20581 * include/grub/powerpc/ieee1275/console.h: Removed.
20582 * include/grub/powerpc/ieee1275/ieee1275.h: Define
20583 `grub_ieee1275_cell_t'.
20584 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
20585 Cast comparisons with -1 to the correct type.
20586 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
20587 type to match `grub_ieee1275_entry_fn'.
20588
8b5f3938 205892005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
20590
20591 * DISTLIST: Added util/i386/pc/grub-probefs.c.
20592
20593 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
20594 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
20595 partmap/sun.c.
20596 (grub_probefs_SOURCES): New variable.
20597
20598 * util/i386/pc/grub-probefs.c: New file.
20599
20600 * util/i386/pc/grub-setup.c (main): Call
20601 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
20602 grub_hfs_init and grub_jfs_init to initialize the system. Call
20603 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
20604 grub_pc_partition_map_fini to finish the system.
20605
ea409713 206062005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
20607
20608 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
20609 function.
20610 (grub_multiboot_load_elf32): Likewise.
20611 (grub_multiboot_is_elf64): Likewise.
20612 (grub_multiboot_load_elf64): Likewise.
20613 (grub_multiboot_load_elf): Likewise.
20614 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
20615 an ELF32 or ELF64 file.
20616 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
20617
20618 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
20619 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
20620 NULL before calling FS->LABEL.
20621 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
20622 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
20623 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
20624 before calling FS->LABEL.
20625
141a288b 206262005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
20627
20628 * util/i386/pc/grub-install.in (datadir): New variable.
20629 (libdir): Removed.
20630 (pkgdatadir): New variable.
20631 (pkglibdir): Removed.
20632
0d5f8a54 206332005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
20634
20635 * DISTLIST: Added util/i386/pc/grub-install.in.
20636
20637 * util/i386/pc/grub-install.in: New file.
20638
20639 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
20640 (grub_install_SOURCES): Likewise.
20641
20642 * genmk.rb: Added support for scripts.
20643 (Script): New class.
20644 (scripts): New variable.
20645
20646 * Makefile.in (install-local): Install sbin_SCRIPTS by
20647 INSTALL_SCRIPT.
20648 (uninstall): Remove sbin_SCRIPTS.
20649
20650 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
20651 device, try to get a GRUB device by
20652 grub_util_biosdisk_get_grub_dev.
20653 Free DEST_DEV.
20654
20655 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
20656 description for --device-map.
20657
5f968e1e 206582005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20659
20660 Change the semantics of variable hooks. They now return strings
20661 instead of error values.
f19dbdb7 20662
5f968e1e 20663 * util/i386/pc/grub-setup.c: Include grub/env.h.
20664 (setup): Use grub_device_set_root instead of grub_env_set.
20665
20666 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
20667 grub_env_get instead of grub_device_set_root and
20668 grub_device_get_root, respectively.
20669
20670 * kern/main.c (grub_env_write_root): New function.
20671 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
20672 grub_env_set instead of grub_device_set_root.
20673
20674 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
20675 many variables.
20676 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
20677 rather than calling ENV->WRITE_HOOK afterwards.
20678 (grub_env_get): Return the result of ENV->READ_HOOK rather than
20679 passing a pointer of a pointer.
20680 (grub_register_variable_hook): Change the types of "read_hook" and
20681 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
20682 respectively.
20683 Allocate the default empty string on the heap, because this string
20684 may be freed later.
20685
20686 * kern/device.c: Include grub/env.h.
20687 (grub_device_set_root): Removed.
20688 (grub_device_get_root): Likewise.
20689 (grub_device_open): Use grub_env_get instead of
20690 grub_device_get_root.
20691
20692 * include/grub/env.h (grub_env_read_hook_t): New type.
20693 (grub_env_write_hook_t): Likewise.
20694 (grub_env_var): Change the types of "read_hook" and "write_hook"
20695 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
20696 (grub_register_variable_hook): Likewise.
20697
20698 * include/grub/device.h (grub_device_set_root): Removed.
20699 (grub_device_set_root): Likewise.
20700
20701 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
20702 make sure that DIRNAME terminates with '/', so that
20703 grub_fat_find_dir will fail if PATH is not a directory.
20704
20705 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
20706 from DIRNAME.
20707 Use the qualifier auto for print_files and print_files_long.
20708 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
20709 as a regular file.
20710 Put a newline only if there is no error.
20711 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
20712 used.
20713
896f0afd 207142005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20715
20716 * kern/partition.c (grub_partition_probe): Initialize PART to
20717 NULL. Otherwise, when no partition map is registered, this returns
20718 a garbage.
20719
b28b81b2 207202005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
20721
20722 * partmap/apple.c (apple_partition_map_iterate): Check if POS
20723 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
20724 valid.
20725
5f3607e0 207262005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
20727
20728 * commands/ls.c (grub_ls_list_disks): Print the filesystem
20729 information on each device, if it does not have partitions. Print
20730 "Device" instead of "Disk", because this function is not specific
20731 to disk devices.
20732
20733 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
20734 static to ensure that it is put on the memory rather than a
20735 register.
20736
502c87e8 207372005-07-17 Yoshinori Okuji <okuji@enbug.org>
20738
20739 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
20740 (grub_cat_init): Likewise.
20741 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
20742 (options): Likewise.
20743 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20744 (grub_configfile_init): Likewise.
20745 * font/manager.c (GRUB_MOD_INIT): Likewise.
20746 * commands/help.c (GRUB_MOD_INIT): Likewise.
20747 (grub_help_init): Likewise.
20748 * normal/command.c (grub_command_init): Likewise.
20749 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
20750 * disk/loopback.c (grub_loop_init): Likewise.
20751 (GRUB_MOD_INIT): Likewise.
20752 * commands/ls.c (grub_ls_init): Likewise.
20753 (GRUB_MOD_INIT): Likewise.
20754 (options): Likewise.
20755 * commands/boot.c (grub_boot_init): Likewise.
20756 (GRUB_MOD_INIT): Likewise.
20757 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
20758 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
20759 (GRUB_MOD_INIT): Likewise.
20760 * commands/cmp.c (grub_cmp_init): Likewise.
20761 (GRUB_MOD_INIT): Likewise.
20762
20763 * normal/arg.c: Use <> instead of "" to include header files.
20764 (SHORT_ARG_HELP): New macro.
20765 (SHORT_ARG_USAGE): Likewise.
20766 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
20767 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
20768 descriptions.
20769 (find_short): Check if C is 'h' or 'u' explicitly.
20770 (grub_arg_show_help): Use space characters instead of tabs. Treat
20771 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
20772 are shown with --help and --usage only if they are not used for
20773 the command itself.
20774 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
20775 'h' and 'u'.
20776
20777 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
20778 const into "longarg". Change the type of "shortarg" to int.
20779
f806d18e 207802005-07-17 Yoshinori Okuji <okuji@enbug.org>
20781
20782 * boot/i386/pc/boot.S (boot_drive_check): New label.
20783
20784 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
20785 macro.
20786
20787 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
20788 which do not pass a boot drive correctly. Copied from GRUB Legacy.
20789
e293232b 207902005-07-17 Yoshinori Okuji <okuji@enbug.org>
20791
20792 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
20793 When turning off Gate A20, skip the check and return immediately,
20794 because this is not fatal usually.
20795
ebedfd00 207962005-07-17 Yoshinori Okuji <okuji@enbug.org>
20797
20798 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
20799 be 0x7C00 instead of 0x8000.
20800
20801 * boot/i386/pc/pxeboot.S: Rewritten.
20802
20803 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
20804 EXT_C.
20805 (gate_a20_check_state): Read a byte from 0x108000. Invert the
20806 result.
20807
654fc59f 208082005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
20809
20810 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
20811 robustness. This routine now supports a BIOS call and System
20812 Control Port A to modify the gate A20.
20813
20814 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20815 Increased to 0x440.
20816
09f9923f 208172005-07-12 Hollis Blanchard <hollis@penguinppc.org>
20818
20819 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
20820 device path and resulting ihandle.
20821 (grub_ofdisk_close): dprintf the ihandle being closed.
20822 (grub_ofdisk_read): dprintf function parameters.
20823 * kern/mm.c (grub_mm_init_region): Likewise.
20824 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
20825 (grub_linux_boot): dprintf the Linux entry point, initrd address and
20826 size, and boot arguments.
20827 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
20828 before loading into memory.
20829 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
20830 before loading into memory.
20831
7ef504d8 208322005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
20833
20834 * kern/mm.c: Added much documentation.
20835 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
20836 8, set to 5 instead of 8.
20837
e0f050c2 208382005-07-10 Yoshinori Okuji <okuji@enbug.org>
20839
20840 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
20841
20842 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
20843 (grub_mkdevicemap_SOURCES): New variable.
20844
20845 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
20846 lib/device.c of GRUB Legacy.
20847
7224189a 208482005-07-10 Yoshinori Okuji <okuji@enbug.org>
20849
20850 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
20851 instead of PATH is NULL.
20852
68c864eb 208532005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
20854
20855 * commands/cmp.c (BUFFER_SIZE): New macro.
20856 (grub_cmd_cmp): Close the right file at the right time. Compare
20857 only data just read. Don't report files of different size as
20858 identical. Dynamically allocate buffers. Move variable
20859 declarations at the beginning of function.
20860
e6f3e614 208612005-07-09 Yoshinori Okuji <okuji@enbug.org>
20862
20863 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
20864 reverse.
20865
f8f1559a 208662004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
20867
20868 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
20869 when backspace is pressed at beginning of line.
20870
39c9d41d 208712005-07-03 Yoshinori Okuji <okuji@enbug.org>
20872
20873 * DISTLIST: Added genfslist.sh.
20874
20875 * normal/main.c (fs_module_list): New variable.
20876 (autoload_fs_module): New function.
20877 (read_fs_list): Likewise.
20878 (grub_normal_execute): Call read_fs_list.
20879
20880 * kern/fs.c (grub_fs_autoload_hook): New variable.
20881 (grub_fs_probe): Added support for auto-loading.
20882
20883 * include/grub/normal.h (struct grub_fs_module_list): New struct.
20884 (grub_fs_module_list_t): New type.
20885
20886 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
20887 (grub_fs_autoload_hook): New prototype.
20888
20889 * genfslist.sh: New file.
f19dbdb7 20890
39c9d41d 20891 * genmk.rb: Added a rule to generate a filesystem list.
20892
121c1d83 208932005-06-30 Marco Gerards <metgerards@student.han.nl>
20894
20895 * configure.ac: Fix the test for cross-compiling.
20896
20897 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
20898 define GRUB_UTIL anymore.
20899
20900 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
20901 so this function works on other systems than just big endian.
20902 (load_modules): Likewise.
20903 (add_segments): Likewise.
20904
e75d76e1 209052005-06-23 Hollis Blanchard <hollis@penguinppc.org>
20906
20907 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
20908 contains `l' modifier, get a long from va_arg().
20909
50b5a0a7 209102005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
20911
20912 * kern/mm.c (grub_free): If the next free block which is being
20913 merged is the first free block, set the first block to the block
20914 being freed.
20915 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
20916
89371b20 209172005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20918
20919 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20920 `grub_ieee1275_chosen'.
20921
168d6e58 209222005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20923
20924 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20925 (grub_ieee1275_chosen): New variable.
20926 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20927 `chosen'.
20928 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20929 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20930 Rename first argument to `phandle' for consistency.
20931 (grub_ieee1275_get_property_length): Likewise.
20932 (grub_ieee1275_next_property): Likewise. Change type of first argument
20933 to grub_ieee1275_phandle_t.
20934 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20935 Move export next to declaration.
20936 (grub_ieee1275_chosen): New variable.
20937 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20938 Correct cosmetic typo.
20939 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20940 `grub_ieee1275_chosen'.
20941 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20942 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20943 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20944 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20945 `grub_ieee1275_chosen'.
20946
ca5baa3f 209472005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20948
20949 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20950 /chosen/bootargs.
20951 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20952 /chosen/bootargs as "variable=value" pairs.
20953
708b345f 209542005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20955
20956 * include/grub/misc.h (grub_dprintf): New macro.
20957 (grub_real_dprintf): New prototype.
20958 (grub_strword): Likewise.
20959 (grub_iswordseparator): Likewise.
20960 * kern/misc.c (grub_real_dprintf): New function.
20961 (grub_strword): Likewise.
20962 (grub_iswordseparator): Likewise.
20963
f4c5e67c 209642005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20965
20966 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20967 (roundup): Remove macro.
20968 (grub_ieee1275_flags): Make static.
20969 (grub_ieee1275_realmode): Remove.
20970 (grub_ieee1275_test_flag): New function.
20971 (grub_ieee1275_set_flag): Likewise.
20972 (find_options): Rename to `grub_ieee1275_find_options'; update
20973 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20974 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20975 (cmain): New prototype.
20976 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20977 `grub_ieee1275_flags' directly.
20978 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
20979 machine/biosdisk.h.
20980 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
20981 Don't include grub/machine/init.h.
20982 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
20983 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20984 Remove prototype.
20985 (grub_ieee1275_realmode): Likewise.
20986 (grub_ieee1275_flag): New enum.
20987 (grub_ieee1275_test_flag): New prototype.
20988 (grub_ieee1275_set_flag): New prototype.
20989 * include/grub/powerpc/ieee1275/init.h: Remove file.
20990 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
20991 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
20992 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
20993 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
20994 comment.
20995 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
20996 `grub_ieee1275_test_flag'.
20997 (grub_ieee1275_encode_devname): Likewise.
20998
ed16607e 209992005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21000
21001 * include/grub/powerpc/ieee1275/ieee1275.h
21002 (grub_ieee1275_encode_devname): New prototype.
21003 (grub_ieee1275_get_filename): Likewise.
21004 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21005 function.
21006 (grub_set_prefix): Likewise.
21007 (grub_machine_init): Call grub_set_prefix.
21008 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21009 (grub_parse_type): New enum.
21010 (grub_ieee1275_get_devargs): New function.
21011 (grub_ieee1275_get_devname): Likewise.
21012 (grub_ieee1275_parse_args): Likewise.
21013 (grub_ieee1275_get_filename): Likewise.
21014 (grub_ieee1275_encode_devname): Likewise.
21015
be369920 210162005-03-30 Marco Gerards <metgerards@student.han.nl>
21017
21018 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21019 `grub_loader_unset'.
21020
a5ce3a4a 210212005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21022
21023 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21024 instead of grub_ieee1275_interpret.
21025 (grub_halt_init): New function.
21026 (grub_halt_fini): Likewise.
21027 (GRUB_MOD_INIT): Correct message grammar.
21028 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21029 instead of grub_ieee1275_interpret.
21030 (grub_reboot_init): New function.
21031 (grub_reboot_fini): Likewise.
21032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21033 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21034 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21035 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21036 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21037 function.
21038 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21039 Add prototype.
21040 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21041 prototype.
21042 (grub_halt): Likewise.
21043 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21044 (cmain): Remove __attribute__((unused)).
21045 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21046 (grub_heap_len): Likewise.
21047 (grub_machine_fini): New function.
21048 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21049 (grub_halt): Likewise.
21050 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21051 function.
21052 * util/powerpc/ieee1275/misc.c: New file.
21053
0058f771 210542005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21055
21056 * DISTLIST: New file.
21057 * gendistlist.sh: Likewise.
f19dbdb7 21058
0058f771 21059 * Makefile.in (COMMON_DISTFILES): Removed.
21060 (BOOT_DISTFILES): Likewise.
21061 (CONF_DISTFILES): Likewise.
21062 (DISK_DISTFILES): Likewise.
21063 (FS_DISTFILES): Likewise.
21064 (INCLUDE_DISTFILES): Likewise.
21065 (KERN_DISTFILES): Likewise.
21066 (LOADER_DISTFILES): Likewise.
21067 (TERM_DISTFILES): Likewise.
21068 (UTIL_DISTFILES): Likewise.
21069 (DISTFILES): Likewise.
21070 (uninstall): Uninstall files in $(pkgdata_DATA).
21071 (DISTLIST): New target.
21072 (distdir): Use the contents of the file DISTLIST to get a list of
21073 distributed files.
21074
46b3b8a5 210752005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21076
21077 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21078 descriptor. This is ported from GRUB Legacy.
21079
21080 * gencmdlist.sh: Added an extra semicolon to make it work with
21081 old sed versions. Reported by Robert Bihlmeyer
21082 <robbe@orcus.priv.at>.
21083
5822ff87 210842005-03-08 Yoshinori Okuji <okuji@enbug.org>
21085
21086 Automatic loading of commands is supported.
f19dbdb7 21087
5822ff87 21088 * normal/main.c (read_command_list): New function.
21089 (grub_normal_execute): Call read_command_list.
21090
21091 * normal/command.c (grub_register_command): Return zero or CMD.
21092 Allocate CMD->NAME from the heap.
21093 Initialize CMD->MODULE_NAME to zero.
21094 Find the same name as well. If the same command is found and it is
21095 a dummy command, overwrite members. If it is not a dummy command,
21096 return zero.
21097 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
21098 (grub_command_find): If a dummy command is found, load a module
21099 and retry to find a command only once.
21100
21101 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
21102 make sure that each command is loaded.
21103
21104 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
21105 macro.
21106 (struct grub_command): Remove const from the member `name'.
21107 Add a new member `module_name'.
21108 (grub_register_command): Return grub_command_t.
21109
21110 * commands/help.c (grub_cmd_help): Call grub_command_find to make
21111 sure that each command is loaded.
21112
21113 * genmk.rb (PModule::rule): Specify a module name without the
21114 suffix ".mod" to gencmdlist.sh.
21115
7b1f4b57 211162005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21117
21118 * gencmdlist.sh: New file.
f19dbdb7 21119
7b1f4b57 21120 * genmk.rb (PModule::rule): Generate a rule for a command list.
21121 Clean command.lst.
21122 Generate command.lst from $(COMMANDFILES).
21123
21124 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
21125 (DATA): Added $(pkgdata_DATA).
21126 (install-local): Install files in $(pkgdata_DATA).
21127
062aaf39 211282005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21129
21130 * term/i386/pc/vga.c (debug_command): Removed.
21131 (GRUB_MOD_INIT): Do not register the command "debug".
21132
21133 From Hollis Blanchard:
21134 * commands/configfile.c: New file.
21135 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21136 commands/configfile.c.
21137 (pkgdata_MODULES): Added configfile.mod.
21138 (configfile_mod_SOURCES): New variable.
21139 (configfile_mod_CFLAGS): Likewise.
21140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21141 commands/configfile.c.
21142 (pkgdata_MODULES): Added configfile.mod.
21143 (configfile_mod_SOURCES): New variable.
21144 (configfile_mod_CFLAGS): Likewise.
21145 * util/grub-emu.c (main): Call grub_configfile_init and
21146 grub_configfile_fini.
21147 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
21148 prototype.
21149 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 21150
cee01aa6 211512005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21152
21153 * normal/arg.c (grub_arg_show_help): Do not show the bug report
21154 address.
21155
21156 * commands/help.c (grub_cmd_help): Do not print newlines after
21157 the last command in print_command_help.
21158
93f3a1d8 211592005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21160
21161 * commands/default.h: New file.
21162 * commands/timeout.h: Likewise.
21163 * normal/context.c: Likewise.
f19dbdb7 21164
93f3a1d8 21165 * util/misc.c: Do not include sys/times.h.
21166 Include sys/time.h and grub/machine/time.h.
21167 (grub_get_rtc): Rewritten with gettimeofday.
21168
21169 * util/grub-emu.c (main): Call grub_default_init and
21170 grub_timeout_init before grub_normal_init, and call
21171 grub_timeout_fini and grub_default_fini after grub_main.
21172
21173 * util/console.c (grub_ncurses_checkkey): Return the read
21174 character or -1.
21175
21176 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
21177 timeouts.
21178
21179 * normal/main.c (read_config_file): Push MENU. If this fails,
21180 print an error and wait for a user input.
21181 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
21182 If a menu is empty or an error occurs, pop MENU.
21183 (grub_normal_execute): Pop and free MENU after grub_menu_run
21184 returns.
21185
21186 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
21187
21188 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
21189 include time.h.
21190 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21191 without GRUB_UTIL.
21192 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
21193 time.h.
21194 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21195 without GRUB_UTIL.
21196
21197 * include/grub/normal.h (struct grub_menu_list): New struct.
21198 (grub_menu_list_t): New type.
21199 (struct grub_context): New struct.
21200 (grub_context_t): New type.
21201 (grub_register_command): Got rid of EXPORT_FUNC.
21202 (grub_unregister_command): Likewise.
21203 (grub_context_get): New prototype.
21204 (grub_context_get_current_menu): Likewise.
21205 (grub_context_push_menu): Likewise.
21206 (grub_context_pop_menu): Likewise.
21207 [GRUB_UTIL] (grub_default_init): Likewise.
21208 [GRUB_UTIL] (grub_default_fini): Likewise.
21209 [GRUB_UTIL] (grub_timeout_init): Likewise.
21210 [GRUB_UTIL] (grub_timeout_fini): Likewise.
21211
21212 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
21213 commands/timeout.c and normal/context.c.
21214 (pkgdata_MODULES): Added default.mod and timeout.mod.
21215 (normal_mod_SOURCES): Added normal/context.c.
21216 (default_mod_SOURCES): New variable.
21217 (default_mod_CFLAGS): Likewise.
21218 (timeout_mod_SOURCES): Likewise.
21219 (timeout_mod_CFLAGS): Likewise.
21220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
21221 conf/i386-pc.rmk.
21222 (pkgdata_MODULES): Added default.mod and timeout.mod.
21223 (normal_mod_SOURCES): Added normal/context.c.
21224 (default_mod_SOURCES): New variable.
21225 (default_mod_CFLAGS): Likewise.
21226 (timeout_mod_SOURCES): Likewise.
21227 (timeout_mod_CFLAGS): Likewise.
21228
21229 * Makefile.in (all-local): Added $(MKFILES).
21230
4ed2e1dd 212312005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
21232
21233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
21234 (grub_emu_SOURCES): Likewise.
21235 (pkgdata_MODULES): Add `sun.mod'.
21236 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21238 `partmap/sun.c'.
21239 (pkgdata_MODULES): Add `sun.mod'.
21240 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21241 * include/grub/partition.h (grub_sun_partition_map_init): New
21242 prototype.
21243 (grub_sun_partition_map_fini): Likewise.
21244 * partmap/sun.c: New file.
21245 * util/grub-emu.c (main): Initialize and de-initialize the sun
21246 partitionmap support.
21247
4d4e372e 212482005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
21249
21250 This implements an Emacs-like menu entry editor.
f19dbdb7 21251
4d4e372e 21252 * normal/menu_entry.c: New file.
f19dbdb7 21253
4d4e372e 21254 * util/console.c (grub_ncurses_putchar): Translate some Unicode
21255 characters to ASCII.
21256 (saved_char): New variable.
21257 (grub_ncurses_checkkey): Rewritten completely.
21258 (grub_ncurses_getkey): Likewise.
21259 (grub_ncurses_init): Call raw instead of cbreak.
21260
21261 * normal/menu.c (print_entry): Do not put a space.
21262 (init_page): Renamed to ...
21263 (grub_menu_init_page): ... this. All callers changed.
21264 (edit_menu_entry): Removed.
21265 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
21266
21267 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
21268
21269 * kern/misc.c (grub_vprintf): Call grub_refresh.
21270
21271 * normal/menu.c (DISP_LEFT): Renamed to ...
21272 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
21273 * normal/menu.c (DISP_UP): Renamed to ...
21274 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
21275 * normal/menu.c (DISP_RIGHT): Renamed to ...
21276 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
21277 * normal/menu.c (DISP_DOWN): Renamed to ...
21278 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
21279 * normal/menu.c (DISP_HLINE): Renamed to ...
21280 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
21281 * normal/menu.c (DISP_VLINE): Renamed to ...
21282 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
21283 * normal/menu.c (DISP_UL): Renamed to ...
21284 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
21285 * normal/menu.c (DISP_UR): Renamed to ...
21286 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
21287 * normal/menu.c (DISP_LL): Renamed to ...
21288 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
21289 * normal/menu.c (DISP_LR): Renamed to ...
21290 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
21291 * normal/menu.c (TERM_WIDTH): Renamed to ...
21292 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
21293 * normal/menu.c (TERM_HEIGHT): Renamed to ...
21294 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
21295 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
21296 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
21297 * normal/menu.c (TERM_MARGIN): Renamed to ...
21298 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
21299 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
21300 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
21301 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
21302 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
21303 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
21304 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
21305 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
21306 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
21307 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
21308 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
21309 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
21310 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
21311 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
21312 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
21313 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
21314 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
21315 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
21316 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
21317 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
21318 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
21319 All callers changed.
21320
21321 * include/grub/normal.h: New prototype.
21322
21323 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21324 normal/menu_entry.c.
21325 (normal_mod_SOURCES): Likewise.
21326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21327 (normal_mod_SOURCES): Likewise.
21328
e6b92c8a 213292005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
21330
21331 * include/grub/normal.h (grub_halt_init): New prototype.
21332 (grub_halt_fini): Likewise.
21333 (grub_reboot_init): Likewise.
21334 (grub_reboot_fini): Likewise.
21335
21336 * util/grub-emu.c: Include signal.h.
21337 (main_env): New global variable.
21338 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
21339 catch C-c.
21340 (grub_machine_fini): New function.
21341 (main): Call grub_halt_init and grub_reboot_init before
21342 grub_main, and grub_reboot_fini and grub_halt_fini after it.
21343 Call setjmp with MAIN_ENV to go back afterwards.
21344 Call grub_machine_fini right before return.
21345
21346 * include/grub/util/misc.h: Include setjmp.h.
21347 (main_env): New prototype.
21348
21349 * include/grub/kernel.h (grub_machine_fini): New prototype.
21350 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
21351 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
21352
21353 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
21354 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
21355 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 21356
e6b92c8a 21357 * util/i386/pc/misc.c: New file.
f19dbdb7 21358
e6b92c8a 21359 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21360 util/i386/pc/misc.c, commands/i386/pc/halt.c and
21361 commands/i386/pc/reboot.c.
21362
c642636f 213632005-02-14 Guillem Jover <guillem@hadrons.org>
21364
21365 * include/grub/dl.h (grub_dl_check_header): New prototype.
21366 (grub_arch_dl_check_header): Change return type to grub_err_t,
21367 remove size parameter and export function. Update all callers.
21368 * kern/dl.c (grub_dl_check_header): New function.
21369 (grub_dl_load_core): Use `grub_dl_check_header' instead of
21370 `grub_arch_dl_check_header'. Check ELF type. Check if sections
21371 are inside the core.
21372 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
21373 independent ELF header checks.
21374 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21375 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
21376 `grub_dl_check_header' instead of explicit checks. Check for the
21377 ELF type.
21378 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
21379 `grub_dl_check_header' instead of explicit checks. Remove arch
21380 specific ELF header checks.
21381
e6b92c8a 21382 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
21383 argument SIZE.
21384
5eabe94b 213852005-02-13 Hollis Blanchard <hollis@penguinppc.org>
21386
21387 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
21388 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
21389
1b14a681 213902005-02-12 Hollis Blanchard <hollis@penguinppc.org>
21391
21392 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 21393 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 21394 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 21395 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 21396 * partmap/amiga.c (amiga_partition_map_iterate): Return
21397 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
21398 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21399
aca108aa 214002005-02-01 Guillem Jover <guillem@hadrons.org>
21401
21402 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
21403 help info.
21404
c9f9c556 214052005-01-31 Marco Gerards <metgerards@student.han.nl>
21406
21407 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
21408 Removed prototype.
21409 (grub_rescue_cmd_linux): New prototype.
21410 (grub_rescue_cmd_initrd): Likewise.
21411 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
21412 `bi_rec'.
21413 (grub_linux_release_mem): Release the memory for the initrd.
21414 (grub_load_linux): Renamed from this...
21415 (grub_rescue_cmd_linux): ...To this. Changed all callers.
21416 Changed `entry' not to be static. Loop over memory regions to
21417 find another one when the default fails.
21418 (grub_rescue_cmd_initrd): New function.
21419 (grub_linux_init): Remove function.
21420 (grub_linux_fini): Likewise.
21421 (GRUB_MOD_INIT): Register `initrd'.
21422 (GRUB_MOD_FINI): Unregister `initrd'.
21423 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
21424 Function removed.
21425 (grub_linux_normal_fini): Likewise.
21426 (GRUB_MOD_INIT): Register `initrd'.
21427 (GRUB_MOD_FINI): Unregister `initrd'.
21428
990cf3aa 214292005-01-31 Marco Gerards <metgerards@student.han.nl>
21430
21431 * commands/help.c: New file.
21432 * normal/arg.c (show_help): Renamed to...
21433 (grub_arg_show_help): ... this.
21434 * commands/i386/pc/halt.c: New file.
21435 * commands/i386/pc/reboot.c: Likewise.
21436 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
21437 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
21438 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
21439 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
21440 variables.
21441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21442 `commands/help.c'.
21443 (pkgdata_MODULES): Add `help.mod'.
21444 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
21445 * grub/i386/pc/init.h (grub_reboot): New prototype.
21446 (grub_halt): Likewise.
21447 * include/grub/normal.h (grub_arg_show_help): New prototype.
21448 (grub_help_init): Likewise.
21449 (grub_help_fini): Likewise.
21450 * util/grub-emu.c (main): Initialize and deinitialize the help
21451 command.
21452
21453 * normal/cmdline.c (grub_cmdline_get): Doc fix.
21454
21455 * normal/command.c (grub_command_init): Fixed the description of
21456 the `set' and `unset' commands.
21457
214582005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 21459
21460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
21461 function.
21462 * commands/ieee1275/halt.c: New file.
21463 * commands/ieee1275/reboot.c: Likewise.
21464 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
21465 `__attribute__ ((unused))'. Some GCS related fixed.
21466 (grub_suspend_init) [GRUB_UTIL]: Function removed.
21467 (grub_suspend_fini): Likewise.
21468 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
21469 and `halt.mod'.
21470 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
21471 (halt_mod_CFLAGS): New variables.
21472 * include/grub/powerpc/ieee1275/ieee1275.h
21473 (grub_ieee1275_interpret): New prototype.
21474
1ab09cc7 214752005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
21476
21477 * include/grub/misc.h (memmove): New prototype.
21478 (memcpy): Likewise.
21479
8b8cbdb2 214802005-01-22 Hollis Blanchard <hollis@penguinppc.org>
21481
21482 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
21483 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
21484
e3741a27 214852005-01-22 Marco Gerards <metgerards@student.han.nl>
21486
21487 * kern/misc.c (grub_strndup): Function rewritten.
21488
776bd780 214892005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
21490
21491 * normal/menu.c (TERM_WIDTH): Macro redefined.
21492 (TERM_TOP_BORDER_Y): Likewise.
21493 (draw_border): Replaced while-loop by a for-loop. Make the number
21494 of lines consistent with the number of lines displayed in
21495 print_entries. Added a margin below the rectangle.
21496 (print_entry): Make the entry fit in the rectangle.
21497 (print_entries): Display the scroll arrows next to the right
21498 border.
21499
78026bce 215002005-01-21 Marco Gerards <metgerards@student.han.nl>
21501
21502 * fs/minix.c (grub_minix_find_file): Reserve more space for
21503 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
21504 `grub_strncpy' to copy `path' into it.
21505
67bbaf0f 215062005-01-21 Marco Gerards <metgerards@student.han.nl>
21507
21508 Add the loopback device, a device via which files can be accessed
21509 as devices.
f19dbdb7 21510
67bbaf0f 21511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
21512 (pkgdata_MODULES): Add loopback.mod.
21513 (loopback_mod_SOURCES): New variable.
21514 (loopback_mod_CFLAGS): Likewise.
21515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21516 `disk/loopback.c'.
21517 (pkgdata_MODULES): Add loopback.mod.
21518 (loopback_mod_SOURCES): New variable.
21519 (loopback_mod_CFLAGS): Likewise.
21520 * disk/loopback.c: new file.
21521 * include/grub/normal.h (grub_loop_init): New prototype.
21522 (grub_loop_fini): New prototype.
21523 * util/grub-emu.c (main): Initialize and de-initialize loopback
21524 support.
21525 * include/grub/disk.h (grub_disk_dev_id): Add
21526 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
21527
6f1c18bd 215282005-01-20 Hollis Blanchard <hollis@penguinppc.org>
21529
21530 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
21531 function.
21532 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
21533 (suspend_mod_SOURCES): New variable.
21534 (suspend_mod_CFLAGS): Likewise.
21535 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
21536 New prototype.
21537 * commands/ieee1275/suspend.c: New file.
21538
b38551da 215392005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21540
21541 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 21542 ((unused))' to `__attribute__ ((used))'.
b38551da 21543 (GRUB_MOD_FINI): Likewise.
21544 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
21545 * genmk.rb (PModule): Assign space to common symbols when linking
21546 modules.
21547
777aff39 215482005-01-20 Marco Gerards <metgerards@student.han.nl>
21549
21550 * include/grub/mm.h (grub_mm_init_region): Change the type of the
21551 `unsigned' arguments to `grub_size_t'.
21552 (grub_malloc): Likewise.
21553 (grub_realloc): Likewise.
21554 (grub_memalign): Likewise.
21555 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
21556 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21557 * util/misc.c (grub_malloc): Likewise.
21558 (grub_realloc): Likewise.
21559 * kern/mm.c (get_header_from_pointer): Change the casts to
21560 `unsigned' into a cast to `grub_size_t'.
21561
21562 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
21563 point to `currnode' when `currnode' is changed.
21564
21565 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
21566 Schottelius <nico-linux@schottelius.org>.
21567
d0ff18e1 215682005-01-09 Hollis Blanchard <hollis@penguinppc.org>
21569
21570 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
21571 (note_path): Remove variable.
21572 (GRUB_IEEE1275_NOTE_NAME): New macro.
21573 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
21574 (grub_ieee1275_note_hdr): New structure.
21575 (grub_ieee1275_note_desc): Likewise.
21576 (grub_ieee1275_note): Likewise.
21577 (load_note): Remove `dir' argument. All callers updated. Remove
21578 `note_img' and `path'. Do not load a file from `note_path'.
21579 Initialize a struct grub_ieee1275_note and write that to `out'.
21580 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
21581
4ca7004c 215822005-01-05 Marco Gerards <metgerards@student.han.nl>
21583
21584 * util/misc.c (grub_util_read_image): Revert last change. It
21585 called `grub_util_read_at', which seeks from the beginning of the
21586 file.
21587
0b412211 215882005-01-04 Hollis Blanchard <hollis@penguinppc.org>
21589
21590 * TODO: Add note about endianness in grub-mkimage.
21591 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
21592 section.
21593 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
21594 (grub_mkimage_SOURCES): New target.
21595 * include/grub/kernel.h (grub_start_addr): Remove variable.
21596 (grub_end_addr): Likewise.
21597 (grub_total_module_size): Likewise.
21598 (grub_kernel_image_size): Likewise.
21599 (GRUB_MODULE_MAGIC): New constant.
21600 (grub_module_info): New structure.
21601 (grub_arch_modules_addr): New prototype.
21602 (grub_get_end_addr): Remove prototype.
21603 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
21604 * include/grub/powerpc/ieee1275/kernel.h: New file.
21605 * include/grub/util/misc.h (grub_util_get_fp_size): New
21606 prototype.
21607 (grub_util_read_at): Likewise.
21608 (grub_util_write_image_at): Likewise.
21609 * kern/main.c (grub_get_end_addr): Remove function.
21610 (grub_load_modules): Call grub_arch_modules_addr instead of using
21611 grub_end_addr. Look for a grub_module_info struct in memory. Use
21612 the grub_module_info fields instead of calling grub_get_end_addr
21613 as loop conditions. Move grub_add_unused_region code here.
21614 (grub_add_unused_region): Remove function.
21615 * kern/i386/pc/init.c: Include grub/cache.h.
21616 (grub_machine_init): Remove call to grub_get_end_addr. Remove
21617 one call to add_mem_region.
21618 (grub_arch_modules_addr): New function.
21619 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
21620 (grub_total_module_size): Likewise.
21621 Include grub/machine/kernel.h.
21622 (grub_arch_modules_addr): New function.
21623 * util/grub-emu.c (grub_end_addr): Remove variable.
21624 (grub_total_module_size): Likewise.
21625 (grub_arch_modules_addr): New function.
21626 * util/misc.c: Include unistd.h.
21627 (grub_util_get_fp_size): New function.
21628 (grub_util_read_at): Likewise.
21629 (grub_util_write_image_at): Likewise.
21630 (grub_util_read_image): Call grub_util_read_at.
21631 (grub_util_write_image): Call grub_util_write_image_at.
21632 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
21633 additional memory in kernel_img for a struct grub_module_info.
21634 Fill in that grub_module_info.
21635 * util/powerpc/ieee1275/grub-mkimage.c: New file.
21636
458786f8 216372005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21638
21639 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
21640 New function.
21641 * include/grub/powerpc/ieee1275/ieee1275.h
21642 (grub_ieee1275_milliseconds): New prototype.
21643 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
21644 Change to 1000.
21645 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
21646 grub_ieee1275_milliseconds.
21647
ac507d1b 216482005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21649
21650 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
21651 variable.
21652 (find_options): New function.
21653 (cmain): Call find_options.
21654 * include/grub/powerpc/ieee1275/ieee1275.h
21655 (grub_ieee1275_realmode): New extern variable.
21656 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
21657 grub_map if grub_ieee1275_realmode is false.
21658
6b8fd1c4 216592004-12-29 Marco Gerards <metgerards@student.han.nl>
21660
21661 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
21662 lines are inserted and make it work like readline. Reported by
21663 Vincent Pelletier <subdino2004@yahoo.fr>.
21664
8514a1e0 216652004-12-28 Marco Gerards <metgerards@student.han.nl>
21666
21667 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
21668
21669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
21670 `kern/powerpc/cache.S'.
21671
924b6140 216722004-12-27 Marco Gerards <metgerards@student.han.nl>
21673
21674 * genmk.rb: Handle the `Program' class in the main loop. Written
21675 by Johan Rydberg <jrydberg@gnu.org>.
21676 (Program): New class.
21677 (programs): New variable.
21678 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
21679 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
21680 instead of "grub/kernel.h". Include <grub/machine/init.h>.
21681 (help_arch): Function removed.
21682 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
21683 `powerpc/libgcc.h' and `loader.h'.
21684 (pkgdata_PROGRAMS): New variable.
21685 (sbin_UTILITIES): Variable removed.
21686 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
21687 (grubof_SOURCES): Variable re-defined so it only includes the
21688 core functionality.
21689 (grubof_CFLAGS): Remove `-DGRUBOF'.
21690 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
21691 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
21692 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
21693 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
21694 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
21695 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
21696 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
21697 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
21698 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
21699 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
21700 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21701 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
21702 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
21703 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
21704 (pc_mod_CFLAGS): New variables.
21705 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
21706 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
21707 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
21708 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
21709 Moved from here...
21710 * include/grub/i386/pc/init.h (grub_os_area_addr)
21711 (rub_os_area_size): ... to here.
21712 * include/grub/powerpc/ieee1275/ieee1275.h
21713 (grub_ieee1275_entry_fn): Export symbol.
21714 * include/grub/powerpc/ieee1275/init.h: New file.
21715 * include/grub/powerpc/libgcc.h: Likewise.
21716 * include/grub/cache.h: Likewise.
21717 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
21718 <hollis@penguinppc.org>.
21719 * kern/dl.c: Include <grub/cache.h>.
21720 (grub_dl_flush_cache): New function.
21721 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
21722 for this module.
21723 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
21724 (grub_console_init): Removed prototypes.
21725 (grub_machine_init): Don't initialize the modules anymore.
21726 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
21727 static.
21728 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
21729 Macro undef removed.
21730 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
21731 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
21732 relocation `R_PPC_REL32'. Return an error when the relocation is
21733 unknown.
21734 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
21735 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
21736 * util/misc.c (grub_arch_sync_caches): Likewise.
21737
e4b47e0c 217382004-12-19 Marco Gerards <metgerards@student.han.nl>
21739
21740 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
21741 `symlist.c', add `grubof_symlist.c'.
21742 (symlist.c): Variable removed.
21743 (grubof_HEADERS): Variable added.
21744 (grubof_symlist.c): New target.
21745 (kernel_syms.lst): Use `grubof_HEADERS' instead of
21746 `kernel_img_HEADERS'.
21747 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
21748 * kern/powerpc/dl.c: New file.
21749 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
21750 Function removed.
21751 (grub_arch_dl_relocate_symbols): Likewise.
21752 (grub_register_exported_symbols): Likewise.
21753
4ceb3636 217542004-12-13 Marco Gerards <metgerards@student.han.nl>
21755
21756 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
21757 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
21758 to fail instead. Reported by Vincent Pelletier
21759 <subdino2004@yahoo.fr>.
21760
21761 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
21762 it is not allocated. Reported by Vincent Pelletier
21763 <subdino2004@yahoo.fr>.
21764
21765 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
21766 output so the output looks better.
f19dbdb7 21767
3f1578fe 217682004-12-04 Marco Gerards <metgerards@student.han.nl>
21769
21770 Modulize the partition map support and add support for the amiga
21771 partition map.
f19dbdb7 21772
3f1578fe 21773 * commands/ls.c: Include <grub/partition.h> instead of
21774 <grub/machine/partition.h>.
21775 * kern/disk.c: Likewise.
21776 * kern/rescue.c: Likewise.
21777 * loader/i386/pc/chainloader.c: Likewise.
21778 * normal/cmdline.c: Likewise.
21779 * kern/powerpc/ieee1275/init.c: Likewise.
21780 (grub_machine_init): Call `grub_pc_partition_map_init',
21781 `grub_amiga_partition_map_init' and
21782 `grub_apple_partition_map_init'.
21783 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
21784 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
21785 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
21786 `partition.h' and `pc_partition.h'.
21787 (grub_setup_SOURCES): Remove
21788 `disk/i386/pc/partition.c'. Add `kern/partition.c',
21789 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21790 (grub_emu_SOURCES): Likewise.
21791 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
21792 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
21793 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
21794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21795 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
21796 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21797 (grubof_SOURCES): Likewise.
21798 * disk/i386/pc/partition.c: File removed.
21799 * disk/powerpc/ieee1275/partition.c: Likewise.
21800 * include/grub/powerpc/ieee1275/partition.h: Likewise.
21801 * include/grub/i386/pc/partition.h: Likewise.
21802 * kern/partition.c: New file.
21803 * partmap/amiga.c: Likewise.
21804 * partmap/apple.c: Likewise.
21805 * partmap/pc.c: Likewise.
21806 * include/grub/partition.h: Likewise..
21807 * include/grub/pc_partition.h: Likewise.
21808 * util/grub-emu.c: Include <grub/partition.h> instead of
21809 <grub/machine/partition.h>.
21810 (main): Call `grub_pc_partition_map_init',
21811 `grub_amiga_partition_map_init' and
21812 `grub_apple_partition_map_init' and deinitialize afterwards.
21813 * util/i386/pc/biosdisk.c: Include `#include
21814 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21815 `<grub/machine/partition.h>'.
21816 * util/i386/pc/grub-setup.c: Likewise.
21817 * util/i386/pc/biosdisk.c: Likewise.
21818 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
21819 partition information in case of a PC partition.
21820 * util/i386/pc/grub-setup.c: Include `#include
21821 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21822 `<grub/machine/partition.h>'.
21823 (setup): Only access the PC specific partition information in case
21824 of a PC partition.
21825
0ef4ced9 218262004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21827
0ef4ced9 21828 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
21829 (grub_longjmp): Likewise.
21830 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
21831 20.
21832 * normal/powerpc/setjmp.S: New file.
21833 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21834 `normal/powerpc/setjmp.S'.
21835 (grubof_CFLAGS): Add `-DGRUBOF'.
21836 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
21837 [GRUB_UTIL && !GRUBOF].
f19dbdb7 21838
19950e29 218392004-11-16 Marco Gerards <metgerards@student.han.nl>
21840
21841 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
21842 property named `name'. Correctly handle the error returned by
21843 `grub_ieee1275_finddevice' if a device can not be opened.
21844
a2fea427 218452004-11-02 Hollis Blanchard <hollis@penguinppc.org>
21846
21847 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
21848 `actual' for negativity.
21849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21850 kern/fshelp.c.
21851
41ea0ea3 218522004-11-01 Marco Gerards <metgerards@student.han.nl>
21853
21854 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
21855 (PAGE_OFFSET): New macro.
21856 (CRTC_ADDR_PORT): Likewise.
21857 (CRTC_DATA_PORT): Likewise.
21858 (START_ADDR_HIGH_REGISTER): Likewise.
21859 (START_ADDR_LOW_REGISTER): Likewise.
21860 (GRAPHICS_ADDR_PORT): Likewise.
21861 (GRAPHICS_DATA_PORT): Likewise.
21862 (READ_MAP_REGISTER): Likewise.
21863 (INPUT_STATUS1_REGISTER): Likewise.
21864 (INPUT_STATUS1_VERTR_BIT): Likewise.
21865 (page): New variable.
21866 (wait_vretrace): New function.
21867 (set_read_map): Likewise.
21868 (set_start_address): Likewise.
21869 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
21870 the right page.
21871 (check_vga_mem): Take the page into account.
21872 (write_char): Likewise.
21873 (write_cursor): Likewise.
21874 (scroll_up): Likewise. Copy the page to the page that is not
21875 shown and switch between both pages.
21876 (grub_vga_putchar): Fix off by one error.
21877 (grub_vga_cls): Wait for the vertical retrace. Take the page into
21878 account.
21879
ad0bd20b 218802004-11-01 Marco Gerards <metgerards@student.han.nl>
21881
21882 Add support for iso9660 (including rockridge).
f19dbdb7 21883
ad0bd20b 21884 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21885 (iso9660_mod_SOURCES): New variable.
21886 (iso9660_mod_CFLAGS): Likewise.
21887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21888 * include/grub/fs.h (grub_iso9660_init): New prototype.
21889 * util/grub-emu.c (main): Call `grub_iso9660_init'.
21890 * fs/iso9660.c: New file.
21891
21892 * include/grub/misc.h (grub_strncat): New prototype.
21893 * kern/misc.c (grub_strncat): New function.
f19dbdb7 21894
ad0bd20b 21895 * fs/hfs.c (grub_hfs_mount): Translate the error
21896 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
21897 * fs/jfs.c (grub_jfs_mount): Likewise.
21898 * fs/ufs.c (grub_ufs_mount): Likewise.
21899
a5477a59 219002004-10-28 Hollis Blanchard <hollis@penguinppc.org>
21901
21902 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
21903 which initialized BAT registers.
21904 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
21905 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21906 Move from here...
21907 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
21908 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21909 ... to here.
21910 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
21911 (grub_mapclaim): Likewise.
21912 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
21913 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
21914 hand.
21915
9304c1f8 219162004-10-19 Hollis Blanchard <hollis@penguinppc.org>
21917
21918 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21919 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21920 -ffreestanding and -msoft-float.
21921
86f4ae25 219222004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21923
21924 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21925 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21926 set in grub_ieee1275_flags.
21927
38912228 219282004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21929
21930 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21931 prototype.
21932 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21933 grub_console_init first.
21934 Change the memory range used for grub_ieee1275_claim and
21935 grub_mm_init_region.
21936 Print an error message if the claim fails.
21937 Include <grub/misc.h>.
21938
d1923dc8 219392004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21940
21941 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21942 Call grub_children_iterate for device nodes of type `scsi',
21943 `ide', or `ata'.
21944 (grub_ofdisk_open): Remove manual device alias resolution.
21945 Fix memory leak when device cannot be opened.
f19dbdb7 21946 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21947 (grub_children_iterate): New prototype.
21948 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21949 New function.
21950 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21951 Return -1 if args.size was -1.
21952
4512e4f3 219532004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21954
21955 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21956 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21957 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21958 Open Firmware's memory for it; claim memory from _start to _end.
21959 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21960 (_end): New extern.
21961 (_start): Zero BSS from __bss_start to _end.
21962 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21963 New extern.
21964 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21965
4d61feb0 219662004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21967
ad0bd20b 21968 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21969 -1 if args.base was -1.
4d61feb0 21970
026fa2f9 219712004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21972
21973 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21974 escape sequence instead of a literal ^L. Also call
21975 grub_ofconsole_gotoxy.
21976
9f2220ef 219772004-10-03 Hollis Blanchard <hollis@penguinppc.org>
21978
21979 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
21980 void * arguments to grub_addr_t. All callers updated. Also make
21981 the `result' argument optional.
21982 (grub_ieee1275_release): change void * arguments to grub_addr_t.
21983 All callers updated.
21984
8a572cd7 219852004-09-22 Hollis Blanchard <hollis@penguinppc.org>
21986
21987 * commands/ls.c (grub_ls_list_files): Use the string following the
21988 initial ')', if present, as the filesystem path.
21989 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
21990
21991 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
21992
18aa81f2 219932004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
21994
21995 Make the source code of the menu interface more readable.
f19dbdb7 21996
18aa81f2 21997 * normal/menu.c: Include grub/mm.h.
21998 (TERM_WIDTH): New macro.
21999 (TERM_HEIGHT): Likewise.
22000 (TERM_INFO_HEIGHT): Likewise.
22001 (TERM_MARGIN): Likewise.
22002 (TERM_SCROLL_WIDTH): Likewise.
22003 (TERM_TOP_BORDER_Y): Likewise.
22004 (TERM_LEFT_BORDER_X): Likewise.
22005 (TERM_BORDER_WIDTH): Likewise.
22006 (TERM_MESSAGE_HEIGHT): Likewise.
22007 (TERM_BORDER_HEIGHT): Likewise.
22008 (TERM_NUM_ENTRIES): Likewise.
22009 (TERM_FIRST_ENTRY_Y): Likewise.
22010 (TERM_ENTRY_WIDTH): Likewise.
22011 (TERM_CURSOR_X): Likewise.
22012 (draw_border): Use macros instead of magic numbers.
22013 (print_entry): Likewise.
22014 (print_entries): Likewise.
22015 (run_menu): Likewise. Also, handle the key 'e'.
22016 (run_menu_entry): Ignore empty command lines.
22017 (print_message): Added a new argument EDIT. If EDIT is true,
22018 print a different message.
22019 (init_page): Likewise.
22020 (edit_menu_entry): New function. Not implemented yet.
22021
b47efe30 220222004-09-17 Marco Gerards <metgerards@student.han.nl>
22023
22024 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22025 can be loaded from normal mode.
f19dbdb7 22026
b47efe30 22027 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22028 `multiboot.mod'.
22029 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22030 (multiboot_mod_CFLAGS): New variables.
22031 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22032 * loader/i386/pc/multiboot_normal.c: Likewise.
22033
b47efe30 22034 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22035 attribute `unused'.
f19dbdb7 22036
b47efe30 22037 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22038 `fdiro' to read the mode information from instead of `diro'.
22039
22040 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22041 looking up a symlink.
22042
22043 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22044 macro.
22045 * normal/command.c (grub_command_execute): Don't parse the
22046 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22047 flags of the command.
22048
22049 * normal/menu.c (grub_menu_run): Fix typo.
22050
da75ac71 220512004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22052
22053 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22054
22055 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22056 `y + 1' instead of `y - 1'.
22057
22058 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22059
062b24c2 220602004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22061
22062 From Hollis Blanchard <hollis@penguinppc.org>:
22063 * kern/misc.c (memmove): New alias for grub_memmove.
22064 (memcmp): New alias for grub_memcmp.
22065 (memset): New alias for grub_memset.
f19dbdb7 22066 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22067 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22068 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22069 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22070
8ddad845 220712004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22072
22073 Added normal mode command `chainloader' as module chain.mod, which
22074 depends on normal.mod and _chain.mod.
f19dbdb7 22075
8ddad845 22076 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22077 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22078 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22079 Deleted prototype.
22080 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22081 but arguments parsing moved to ...
22082 (grub_chainloader_cmd): ... here. New function.
22083 * include/grub/i386/pc/chainloader.h: New file.
22084 * loader/i386/pc/chainloader_normal.c: Likewise.
22085
2c1f4ce3 220862004-09-11 Marco Gerards <metgerards@student.han.nl>
22087
22088 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
22089 (grub_mkimage_LDFLAGS): Likewise.
22090 (grub_emu_SOURCES): Likewise.
22091 (kernel_img_HEADERS): Added fshelp.h.
22092 * fs/ext2.c: Include <grub/fshelp.h>.
22093 (FILETYPE_REG): New macro.
22094 (FILETYPE_INO_REG): Likewise.
22095 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
22096 Changed all users.
22097 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
22098 all users.
22099 (grub_fshelp_node): New struct.
22100 (grub_ext2_data): Added member `diropen'. Changed member `inode'
22101 to a pointer.
22102 (grub_ext2_get_file_block): Removed function.
22103 (grub_ext2_read_block): New function.
22104 (grub_ext2_read_file): Replaced parameter `data' by `node'.
22105 This function was written.
22106 (grub_ext2_mount): Read the root inode. Create a diropen struct.
22107 (grub_ext2_find_file): Removed function.
22108 (grub_ext2_read_symlink): New function.
22109 (grub_ext2_iterate_dir): Likewise.
22110 (grub_ext2_open): Rewritten.
22111 (grub_ext2_dir): Rewritten.
22112 * include/grub/fshelp.h: New file.
22113 * fs/fshelp.c: Likewise.
22114
3c52136a 221152004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
22116
22117 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
22118 (print_message): Add a missing newline.
22119 (run_menu): Added timeout support.
22120 (run_menu_entry): New local function.
22121 (grub_menu_run): Added support for booting.
22122
22123 * kern/loader.c (grub_loader_is_loaded): New function.
22124
22125 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
22126 (grub_get_rtc): Exported.
22127
22128 * include/grub/i386/pc/time.h: Include grub/symbol.h.
22129 (grub_get_rtc): Exported.
22130
22131 * include/grub/normal.h (struct grub_command_list): Remove
22132 constant from the member `command'.
22133
22134 * include/grub/loader.h (grub_loader_is_loaded): Declared.
22135
22136 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
22137
22138 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
22139
aa033560 221402004-08-28 Marco Gerards <metgerards@student.han.nl>
22141
22142 Add support for the JFS filesystem.
22143
22144 * fs/jfs.c: New file.
22145 * include/grub/fs.h (grub_jfs_init): New prototype.
22146 (grub_jfs_fini): New prototype.
22147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
22148 (grub_emu_SOURCES): Likewise.
22149 (pkgdata_MODULES): Add jfs.mod.
22150 (jfs_mod_SOURCES): New variable.
22151 (jfs_mod_CFLAGS): Likewise.
22152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
22153 (grubof_SOURCES): Likewise.
22154 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
22155
22156 * fs/fat.c (grub_fat_find_dir): Convert the filename little
22157 endian to the host endian.
22158 (grub_fat_utf16_to_utf8): Move function from there...
22159 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 22160 the endianness of the source string anymore.
aa033560 22161 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
22162
94bc45af 221632004-08-24 Marco Gerards <metgerards@student.han.nl>
22164
22165 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
22166 (grub_boot_fini) [GRUB_UTIL]: Likewise.
22167 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
22168 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 22169
94bc45af 22170 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
22171 (grub_hfs_iterate_dir): Make the function static. Add prototypes
22172 for `node_found' and `it_dir'.
22173 (grub_hfs_dir): Add prototype for `dir_hook'.
22174
22175 * fs/minix.c (grub_minix_get_file_block): Add prototype for
22176 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
22177 and `indir32' to silence a gcc warning.
22178
22179 * include/grub/fs.h (grub_hfs_init): New prototype.
22180 (grub_hfs_fini): Likewise.
f19dbdb7 22181
22182
97543f08 221832004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22184
22185 Each disk device has its own id now. This is useful to make use
22186 of multiple disk devices.
f19dbdb7 22187
97543f08 22188 * include/grub/disk.h (grub_disk_dev_id): New enum.
22189 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
22190 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
22191
22192 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
22193 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22194
22195 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
22196 GRUB_DISK_DEVICE_OFDISK_ID as an id.
22197
22198 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
22199 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22200
22201 * include/grub/disk.h (struct grub_disk_dev): Added a new member
22202 "id" which is used by the cache manager.
22203
22204 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
22205 of just "GRUB".
22206
64372eb4 222072004-08-18 Marco Gerards <metgerards@student.han.nl>
22208
22209 * fs/hfs.c: New file.
22210 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
22211 (grub_emu_SOURCES): Likewise.
22212 (pkgdata_MODULES): Add hfs.mod.
22213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
22214 (grubof_SOURCES): Likewise.
22215 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
22216
22217 * include/grub/misc.h (grub_strncasecmp): Add prototype.
22218 * kern/misc.c (grub_strncasecmp): Add function.
22219
cc61b58f 222202004-08-14 Marco Gerards <metgerards@student.han.nl>
22221
22222 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
22223 with parentheses.
22224
22225 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
22226 (grub_ext2_dir): In case the directory entry type is unknown, read
22227 it from the inode.
22228
0ef123f6 222292004-08-02 Peter Bruin <pjbruin@dds.nl>
22230
22231 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
22232 grub_load_linux instead of grub_rescue_cmd_linux as second
22233 argument of grub_rescue_register_command.
22234
22235 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
22236
a447c5df 222372004-07-27 Marco Gerards <metgerards@student.han.nl>
22238
22239 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
22240 function.
22241 * commands/boot.c: Remove the check for `GRUB_UTIL'.
22242 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22243 `loader/powerpc/ieee1275/linux.c',
22244 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
22245 * include/grub/powerpc/ieee1275/ieee1275.h
22246 (grub_ieee1275_release): New prototype.
22247 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
22248 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
22249 normal, boot, linux and linux_normal.
22250 * loader/powerpc/ieee1275/linux.c: New file.
22251 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22252
5a9e3546 222532004-07-12 Marco Gerards <metgerards@student.han.nl>
22254
22255 * normal/arg.c (grub_arg_parse): Correct error handling after
22256 reallocating the argumentlist (check if `argl' is not null instead
22257 of checking if `args' is not null).
22258 * kern/mm.c (grub_realloc): Return the same pointer when using the
22259 same region, instead of returning the header address.
22260
e15199cb 222612004-07-11 Marco Gerards <metgerards@student.han.nl>
22262
22263 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
22264 one block instead of two when looking for the initial partition.
22265 (grub_partition_probe): Initialize the local variable `p' with 0.
22266 Use base 10 for the grub_strtoul call.
22267 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
22268 need for one local variable.
22269 (grub_strtoul): Don't add the new value to `num', instead of that
22270 just assign it.
22271
020616c2 222722004-07-11 Marco Gerards <metgerards@student.han.nl>
22273
22274 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
22275 (pxeboot_img_SOURCES): New variable.
22276 (pxeboot_img_ASFLAGS): Likewise.
22277 (pxeboot_img_LDFLAGS): Likewise.
22278 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
22279 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
22280 <lode_leroy@hotmail.com>.
22281
6c51eb64 222822004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22283
22284 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
22285 there was no input.
22286
cfb12aff 222872004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22288
22289 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
22290 the history buffer logic.
22291
6eabba74 222922004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
22293
22294 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
22295 (FILETYPE_INO_SYMLINK): New macros.
22296 (grub_ext2_find_file): Check if the node is a directory using the
22297 inode stat information instead of using the filetype in the
22298 dirent. Exclude the first character of an absolute symlink.
22299 (grub_ext2_dir): Mask out the filetype part of the mode member of
22300 the inode.
22301
66e19ef8 223022004-05-24 Marco Gerards <metgerards@student.han.nl>
22303
22304 Add support for UFS version 1 and 2. Add support for the minix
22305 filesystem version 1 and 2, both the variants with 14 and 30 long
22306 filenames.
f19dbdb7 22307
66e19ef8 22308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
22309 fs/minix.c.
22310 (grub_emu_SOURCES): Likewise.
22311 (pkgdata_MODULES): Add ufs.mod and minix.mod.
22312 (ufs_mod_SOURCES): New variable.
22313 (ufs_mod_CFLAGS): Likewise.
22314 (minix_mod_SOURCES): Likewise.
22315 (minix_mod_CFLAGS): Likewise.
22316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
22317 fs/minix.c.
22318 (grubof_SOURCES): Likewise.
22319 * fs/ufs.c: New file.
22320 * fs/minix.c: New file.
22321 * include/grub/fs.h (grub_ufs_init): New prototype.
22322 (grub_ufs_fini): Likewise.
22323 (grub_minix_init): Likewise.
22324 (grub_minix_fini): Likewise.
22325 * util/grub-emu.c (main): Initialize and deinitialize UFS and
22326 minix fs.
22327
cc2e748a 223282004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
22329
22330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
22331 commands/ls.c, commands/terminal.c, commands/boot.c,
22332 commands/cmp.c and commands/cat.c.
22333 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
22334
22335 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
22336 "env.h"
22337
4b13b216 223382004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22339
22340 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
22341 and grub_, respectively. Because the conversion is trivial and
22342 mechanical, I omit the details here. Please refer to the CVS
22343 if you need more information.
22344
6a142551 223452004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22346
22347 * include/pupa: Renamed to ...
22348 * include/grub: ... this.
22349 * util/i386/pc/pupa-mkimage.c: Renamed to ...
22350 * util/i386/pc/grub-mkimage.c: ... this.
22351 * util/i386/pc/pupa-setup.c: Renamed to ...
22352 * util/i386/pc/grub-setup.c: ... this.
22353 * util/pupa-emu.c: Renamed to ...
22354 * util/grub-emu.c: ... this.
22355
e56cdf21 223562004-03-29 Marco Gerards <metgerards@student.han.nl>
22357
22358 Add support for the newworld apple macintosh (PPC). This has been
22359 tested on the powerbook 2000 only. It only adds support for
22360 generic ieee1275 functions, console and disk support. This should
22361 be easy to port to other architectures with support for Open
22362 Firmware.
f19dbdb7 22363
e56cdf21 22364 * configure.ac: Accept the powerpc as host_cpu. In the case of
22365 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
22366 specific tests are only executed while building for the i386.
22367 Inverse test for crosscompile.
22368 * genmk.rb (Utility): Allow assembler files.
22369 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
22370 * conf/powerpc-ieee1275.rmk: New file.
22371 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
22372 * disk/powerpc/ieee1275/partition.c: Likewise.
22373 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
22374 * include/pupa/powerpc/ieee1275/console.h: Likewise.
22375 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
22376 * include/pupa/powerpc/ieee1275/time.h: Likewise.
22377 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
22378 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
22379 * include/pupa/powerpc/ieee1275/loader.h
22380 * include/pupa/powerpc/setjmp.h: Likewise.
22381 * include/pupa/powerpc/types.h: Likewise.
22382 * kern/powerpc/ieee1275/init.c: Likewise.
22383 * kern/powerpc/ieee1275/openfw.c: Likewise.
22384 * term/powerpc/ieee1275/ofconsole.c: Likewise.
22385
22386 These files were written by Johan Rydberg
22387 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 22388
e56cdf21 22389 * boot/powerpc/ieee1275/cmain.c: New file.
22390 * boot/powerpc/ieee1275/crt0.S: Likewise.
22391 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
22392 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
22393
8c8cc205 223942004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
22395
22396 * Makefile.in: Update copyright.
22397 * genmodsrc.sh: Likewise.
22398 * gensymlist.sh: Likewise.
22399 * term/i386/pc/vga.c: Indent correctly.
22400
22401 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
22402 bugreporting address.
22403 * util/i386/pc/pupa-setup.c (usage): Likewise,
22404 (main): Call pupa_ext2_init and pupa_ext2_fini.
22405
f19dbdb7 22406 * fs/fat.c (log2): Renamed to ...
8c8cc205 22407 (fat_log2): ... this.
22408 All callers changed.
22409 * kern/misc.c (memcpy): Alias to pupa_memmove.
22410 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
22411 lvalue cast.
22412 * util/console.c (pupa_ncurses_fini): Return 0.
22413
22414 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
22415 Move fail label here.
22416 [__GNU__]: Don't warn when using stat.
22417 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
22418 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
22419 long int. Use strtol instead of strtoul.
f19dbdb7 22420
db1771cf 224212004-03-14 Marco Gerards <metgerards@student.han.nl>
22422
22423 * commands/boot.c: New file.
22424 * commands/cat.c: Likewise.
22425 * commands/cmp.c: Likewise.
22426 * commands/ls.c: Likewise.
22427 * commands/terminal.c: Likewise.
22428 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
22429 (pupa_register_command): Changed interface to match the new
22430 argument parser.
22431 (pupa_command_execute): Changed (almost rewritten) so it uses
22432 pupa_split_command. Added support for setting variables using the
22433 syntax `foo=bar'.
22434 (rescue_command): Changed to work with the new argument parser.
22435 (terminal_command): Moved from here to commands/terminal.c.
22436 (set_command): New function.
22437 (unset_command): New function.
22438 (insmod_command): New function.
22439 (rmmod_command): New function.
22440 (lsmod_command): New function.
22441 (pupa_command_init): Don't initialize the command terminal
22442 anymore. Initialize the commands set, unset, insmod, rmmod and
22443 lsmod.
22444 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
22445 (kernel_img_HEADERS): Add arg.h and env.h.
22446 (pupa_mkimage_LDFLAGS): Add kern/env.c.
22447 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
22448 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
22449 normal/arg.c.
22450 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
22451 terminal.mod.
22452 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
22453 (boot_mod_SOURCES): New variable.
22454 (terminal_mod_SOURCES): Likewise.
22455 (ls_mod_SOURCES): Likewise.
22456 (cmp_mod_SOURCES): Likewise.
22457 (cat_mod_SOURCES): Likewise.
22458
22459 * normal/arg.c: New file.
22460 * kern/env.c: Likewise.
22461 * include/pupa/arg.h: Likewise.
22462 * include/pupa/env.h: Likewise.
22463 * font/manager.c (font_command): Changed to match argument parsing
22464 interface changes.
22465 (PUPA_MOD_INIT): Likewise.
22466 * hello/hello.c (pupa_cmd_hello): Likewise.
22467 (PUPA_MOD_INIT): Likewise.
22468 * include/pupa/disk.h: Include <pupa/device.h>.
22469 (pupa_print_partinfo): New prototype.
22470 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
22471 (pupa_dl_get_prefix): Likewise.
22472 * include/pupa/misc.h: Include <pupa/err.h>.
22473 (pupa_isgraph): New prototype.
22474 (pupa_isdigit): Likewise.
22475 (pupa_split_cmdline): Likewise.
22476 * include/pupa/normal.h: Include <pupa/arg.h>.
22477 (pupa_command): Changed the prototype of the member `func' to
22478 match the argument parsing interface. Added member `options'.
22479 (pupa_register_command): Updated to match function.
22480 (pupa_arg_parse): New prototype.
22481 (pupa_hello_init) [PUPA_UTIL]: New prototype.
22482 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
22483 (pupa_ls_init) [PUPA_UTIL]: Likewise.
22484 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
22485 (pupa_cat_init) [PUPA_UTIL]: Likewise.
22486 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
22487 (pupa_boot_init) [PUPA_UTIL]: Likewise.
22488 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
22489 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
22490 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
22491 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
22492 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
22493 * kern/disk.c: Include <pupa/file.h>.
22494 (pupa_print_partinfo): New function.
22495 * kern/dl.c: Include <pupa/env.h>.
22496 (pupa_dl_dir): Variable removed.
22497 (pupa_dl_load): Use the environment variable `prefix' instead of
22498 the variable pupa_dl_dir.
22499 (pupa_dl_set_prefix): Function removed.
22500 (pupa_dl_get_prefix): Likewise.
22501 * kern/i386/pc/init.c: Include <pupa/env.h>.
22502 (pupa_machine_init): Use the environment variable `prefix' instead of
22503 using pupa_dl_set_prefix to set the prefix.
22504 * kern/main.c: Include <pupa/env.h>.
22505 (pupa_set_root_dev): Use the environment variable `prefix' instead of
22506 using pupa_dl_get_prefix to get the prefix.
22507 * kern/misc.c: Include <pupa/env.h>.
22508 (pupa_isdigit): New function.
22509 (pupa_isgraph): Likewise.
22510 (pupa_ftoa): Likewise.
22511 (pupa_vsprintf): Added support for printing values of the type
22512 `double'. Make it possible to format variable output when using
22513 formatting like `%1.2%f'.
22514 (pupa_split_cmdline): New function.
22515 * kern/rescue.c: Include <pupa/env.h>.
22516 (next_word): Removed function.
22517 (pupa_rescue_cmd_prefix): Likewise.
22518 (pupa_rescue_cmd_set): New function.
22519 (pupa_rescue_cmd_unset): New function.
22520 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
22521 split the command line instead of splitting it here. Added
22522 support for setting variables using the syntax `foo=bar'. Don't
22523 initialize the prefix command anymore. Initialized the set and
22524 unset commands.
22525 * normal/cmdline.c: Include <pupa/env.h>.
22526 (pupa_tab_complete): Added prototypes for print_simple_completion,
22527 print_partition_completion, add_completion, iterate_commands,
22528 iterate_dev, iterate_part and iterate_dir. Moved code to print
22529 partition information from here to kern/disk.c.
fe6b695a 22530 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 22531 * normal/main.c: Include <pupa/env.h>.
22532 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
22533 instead of using pupa_dl_get_prefix to get the prefix.
22534 * term/i386/pc/vga.c: Include <pupa/arg.h>.
22535 (check_vga_mem): Cast pointers to `void *' to silence a gcc
22536 warning.
22537 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
22538 (pupa_vga_setcolor): Declare unused variables with `__attribute__
22539 ((unused))' to silence a gcc warning.
22540 (pupa_vga_setcolor): Likewise.
22541 (debug_command): Changed to match argument parsing
22542 interface changes.
22543 * util/pupa-emu.c: Include <pupa/env.h>.
22544 (options): Added 0's for unused fields to silence a gcc warning.
22545 (argp): Likewise.
22546 (main): Use the environment variable `prefix' instead of using
22547 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
22548 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
22549 and terminal.
22550
22551 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
22552 * util/misc.c: Include <malloc.h>.
22553 (pupa_malloc): Rewritten so errors are correctly reported.
22554 (pupa_realloc): Likewise.
22555 (pupa_memalign): Likewise.
22556 (pupa_mm_init_region): Declare unused variables with
22557 `__attribute__ ((unused))' to silence a gcc warning.
22558 * normal/i386/setjmp.S: Remove tab at the end of the file to
22559 silence a gcc warning.
22560 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
22561 variables with `__attribute__ ((unused))' to silence a gcc
22562 warning.
22563 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
22564 local variable i unsigned to silence a gcc warning.
22565
22566 * kern/term.c: Include <pupa/misc.h>.
22567 (pupa_more_lines): New variable.
22568 (pupa_more): Likewise.
22569 (pupa_putcode): When the pager is active pause at the end of every
22570 screen.
22571 (pupa_set_more): New function.
22572 * include/pupa/term.h (pupa_set_more): New prototype.
22573
22574
3b1139cb 225752004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
22576
22577 Now this project is GRUB 2 rather than PUPA. The location of
22578 the CVS repository was moved to GRUB's.
f19dbdb7 22579
3b1139cb 22580 * configure.ac: Use bug-grub as the reporting address.
22581 Use GRUB instead of PUPA.
22582 Change the version number to 1.90.
22583
8367695c 225842004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
22585
22586 * genkernsyms.sh: Updated copyright information.
22587 * genmk.rb: Likewise.
22588 * genmodsrc.sh: Likewise.
22589 * gensymlist.sh: Likewise.
22590 * boot/i386/pc/boot.S: Likewise.
22591 * boot/i386/pc/diskboot.S: Likewise.
22592 * disk/i386/pc/biosdisk.c: Likewise.
22593 * disk/i386/pc/partition.c: Likewise.
22594 * font/manager.c: Likewise.
22595 * fs/ext2.c: Likewise.
22596 * fs/fat.c: Likewise.
22597 * include/pupa/boot.h: Likewise.
22598 * include/pupa/device.h: Likewise.
22599 * include/pupa/disk.h: Likewise.
22600 * include/pupa/dl.h: Likewise.
22601 * include/pupa/elf.h: Likewise.
22602 * include/pupa/err.h: Likewise.
22603 * include/pupa/file.h: Likewise.
22604 * include/pupa/font.h: Likewise.
22605 * include/pupa/fs.h: Likewise.
22606 * include/pupa/kernel.h: Likewise.
22607 * include/pupa/loader.h: Likewise.
22608 * include/pupa/misc.h: Likewise.
22609 * include/pupa/mm.h: Likewise.
22610 * include/pupa/net.h: Likewise.
22611 * include/pupa/normal.h: Likewise.
22612 * include/pupa/rescue.h: Likewise.
22613 * include/pupa/setjmp.h: Likewise.
22614 * include/pupa/symbol.h: Likewise.
22615 * include/pupa/term.h: Likewise.
22616 * include/pupa/types.h: Likewise.
22617 * include/pupa/i386/setjmp.h: Likewise.
22618 * include/pupa/i386/types.h: Likewise.
22619 * include/pupa/i386/pc/biosdisk.h: Likewise.
22620 * include/pupa/i386/pc/boot.h: Likewise.
22621 * include/pupa/i386/pc/console.h: Likewise.
22622 * include/pupa/i386/pc/init.h: Likewise.
22623 * include/pupa/i386/pc/kernel.h: Likewise.
22624 * include/pupa/i386/pc/linux.h: Likewise.
22625 * include/pupa/i386/pc/loader.h: Likewise.
22626 * include/pupa/i386/pc/memory.h: Likewise.
22627 * include/pupa/i386/pc/multiboot.h: Likewise.
22628 * include/pupa/i386/pc/partition.h: Likewise.
22629 * include/pupa/i386/pc/time.h: Likewise.
22630 * include/pupa/i386/pc/vga.h: Likewise.
22631 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
22632 * include/pupa/util/getroot.h: Likewise.
22633 * include/pupa/util/misc.h: Likewise.
22634 * include/pupa/util/resolve.h: Likewise.
22635 * kern/device.c: Likewise.
22636 * kern/disk.c: Likewise.
22637 * kern/dl.c: Likewise.
22638 * kern/err.c: Likewise.
22639 * kern/file.c: Likewise.
22640 * kern/fs.c: Likewise.
22641 * kern/loader.c: Likewise.
22642 * kern/main.c: Likewise.
22643 * kern/misc.c: Likewise.
22644 * kern/mm.c: Likewise.
22645 * kern/rescue.c: Likewise.
22646 * kern/term.c: Likewise.
22647 * kern/i386/dl.c: Likewise.
22648 * kern/i386/pc/init.c: Likewise.
22649 * kern/i386/pc/lzo1x.S: Likewise.
22650 * kern/i386/pc/startup.S: Likewise.
22651 * loader/i386/pc/chainloader.c: Likewise.
22652 * loader/i386/pc/linux.c: Likewise.
22653 * loader/i386/pc/multiboot.c: Likewise.
22654 * normal/cmdline.c: Likewise.
22655 * normal/command.c: Likewise.
22656 * normal/main.c: Likewise.
22657 * normal/menu.c: Likewise.
22658 * normal/i386/setjmp.S: Likewise.
22659 * term/i386/pc/console.c: Likewise.
22660 * term/i386/pc/vga.c: Likewise.
22661 * util/console.c: Likewise.
22662 * util/genmoddep.c: Likewise.
22663 * util/misc.c: Likewise.
22664 * util/pupa-emu.c: Likewise.
22665 * util/resolve.c: Likewise.
22666 * util/unifont2pff.rb: Likewise.
22667 * util/i386/pc/biosdisk.c: Likewise.
22668 * util/i386/pc/getroot.c: Likewise.
22669 * util/i386/pc/pupa-mkimage.c: Likewise.
22670 * util/i386/pc/pupa-setup.c: Likewise.
22671
e6eced71 226722004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
22673
22674 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
22675 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
22676 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
22677 reading and reset it after reading.
22678 (pupa_ext2_close): Return PUPA_ERR_NONE.
22679
22680 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
22681 Correct value.
22682 (struct linux_kernel_header): Add kernel_version and
22683 initrd_addr_max.
22684 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
22685 pupa_file_read succeeds.
22686 (pupa_rescue_cmd_initrd): Implement.
22687
5aded270 226882003-12-03 Marco Gerards <metgerards@student.han.nl>
22689
22690 * fs/ext2.c (pupa_ext2_label): New function.
22691 (pupa_ext2_fs): Added label.
22692 * fs/fat.c (pupa_fat_label): New function.
22693 (pupa_fat_fs): Added label.
22694 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
22695
22696 * kern/misc.c (pupa_strndup): New function.
22697 * include/pupa/misc.h (pupa_strndup): New prototype.
22698
22699 * include/pupa/normal.h: Include <pupa/err.h>.
22700 (pupa_set_history): New prototype.
22701 (pupa_iterate_commands): New prototype.
22702 * normal/cmdline.c: Include <pupa/machine/partition.h>,
22703 <pupa/disk.h>, <pupa/file.h>.
22704 (hist_size): New variable.
22705 (hist_lines): Likewise.
22706 (hist_end): Likewise.
22707 (hist_used): Likewise.
22708 (pupa_set_history): New function.
22709 (pupa_history_get): Likewise.
22710 (pupa_history_add): Likewise.
22711 (pupa_history_replace): Likewise.
22712 (pupa_tab_complete): Likewise.
22713 (pupa_cmdline_run): Added tab completion and history buffer. Tab
22714 completion shows partitionnames while completing partitions, this
22715 feature was suggested by Jeff Bailey.
22716 * normal/command.c (pupa_iterate_commands): New function.
22717 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
22718 (pupa_normal_init): Initialize history buffer.
22719 (PUPA_MOD_INIT): Likewise.
22720 (pupa_normal_fini): Free the history buffer.
22721 (PUPA_MOD_FINI): Likewise.
22722
22723 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
22724 key.
22725
22726 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
22727 * configure.ac [i386]: Check for regparam bug.
22728 (NESTED_FUNC_ATTR) [! i386]: Defined.
22729
1f7315a3 227302003-11-17 Marco Gerards <metgerards@student.han.nl>
22731
22732 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
22733 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
22734 (pupa_emu_SOURCES): New variable.
22735 (pupa_emu_LDFLAGS): Likewise.
22736 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
22737 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
22738 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
22739 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22740 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
22741 (pupa_jmp_buf): New typedef.
22742 (pupa_setjmp) [PUPA_UTIL]: New macro.
22743 (pupa_longjmp) [PUPA_UTIL]: Likewise.
22744 * include/pupa/term.h (struct pupa_term): New member `refresh'.
22745 (pupa_refresh): New prototype.
22746 * include/pupa/util/getroot.h: New file.
22747 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
22748 it.
22749 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
22750 (pupa_rescue_cmd_cat): Likewise.
22751 (pupa_rescue_cmd_ls): Likewise.
22752 (pupa_rescue_cmd_testload): Likewise.
22753 (pupa_rescue_cmd_lsmod): Likewise.
22754 * normal/cmdline.c (pupa_cmdline_get): Likewise.
22755 * normal/menu.c (run_menu): Likewise.
22756 * kern/term.c (pupa_cls): Likewise.
22757 (pupa_refresh): New function.
22758 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
22759 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22760 * util/console.c: New file.
f19dbdb7 22761
1f7315a3 22762 * util/i386/pc/getroot.c: New file.
22763 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
22764 (pupa_putchar): New function.
22765 (pupa_refresh): Likewise.
22766 (xgetcwd): Function moved to ...
22767 (strip_extra_slashes): Likewise.
22768 (get_prefix): Likewise.
f19dbdb7 22769 * util/i386/pc/getroot.c: ... here.
1f7315a3 22770 (find_root_device): Function moved and renamed to...
22771 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
22772 Changed all callers.
22773 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
22774 and renamed to...
22775 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
22776 Changed all callers.
22777 * util/misc.c (pupa_memalign): New function.
22778 (pupa_mm_init_region): Likewise.
22779 (pupa_register_exported_symbols): Likewise.
22780 (pupa_putchar): Function removed.
22781 * util/pupa-emu.c: New file.
22782
9a5c1ade 227832003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
22784
22785 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
22786 (_multiboot_mod_SOURCES): New variable.
22787 (_multiboot_mod_CFLAGS): Likewise.
22788 * loader/i386/pc/multiboot.c: New file.
22789 * include/pupa/i386/pc/multiboot.h: Likewise.
22790 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
22791 (pupa_multiboot_real_boot): New function.
22792 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
22793 (pupa_multiboot_real_boot): New prototype.
22794 (pupa_rescue_cmd_multiboot): Likewise
22795 (pupa_rescue_cmd_module): Likewise.
22796
22797 * kern/loader.c (pupa_loader_set): Continue when
22798 pupa_loader_unload_func() fails.
22799 (pupa_loader_unset): New function.
22800 * include/pupa/loader.h (pupa_loader_unset): New prototype.
22801
22802 * kern/misc.c (pupa_stpcpy): New function.
22803 * include/pupa/misc.h (pupa_stpcpy): New prototype.
22804
8e72a9c0 228052003-11-12 Marco Gerards <metgerards@student.han.nl>
22806
22807 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
22808 for available extensions.
22809
22810 * include/pupa/i386/pc/time.h: New file.
22811 * kern/disk.c: Include <pupa/machine/time.h>.
22812 (PUPA_CACHE_TIMEOUT): New macro.
22813 (pupa_last_time): New variable.
22814 (pupa_disk_open): Flush the cache when there was a timeout.
22815 (pupa_disk_close): Reset the timer.
22816 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
22817 pupa_currticks.
22818 * util/misc.c: Include <sys/times.h>
22819 (pupa_get_rtc): New function.
22820
c4adbd32 228212003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22822
22823 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
22824 as blocks.
22825 (pupa_ext2_get_file_block): Use blocks member.
22826
22827 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
22828 first block. Return -1 instead of pupa_errno on error.
22829
bfd30f06 228302003-10-27 Marco Gerards <metgerards@student.han.nl>
22831
22832 * README: In the pupa-mkimage example use _chain instead of chain
22833 and ext2 instead of fat.
22834 * TODO: Replace ext2fs with jfs as an example. Add an item for
22835 adding journal playback for ext2fs.
22836 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
22837 (pkgdata_MODULES): Added ext2.mod.
22838 (ext2_mod_SOURCES): New variable.
22839 (ext2_mod_CFLAGS): Likewise.
22840 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
22841 * include/pupa/misc.h (pupa_strncpy): New prototype.
22842 (pupa_strcat): Likewise.
22843 (pupa_strncmp): Likewise.
22844 * kern/misc.c (pupa_strcat): Enable function.
22845 (pupa_strncpy): New function.
22846 (pupa_strncmp): Likewise.
22847 * fs/ext2.c: New file.
f19dbdb7 22848
bfd30f06 22849 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
22850 when the read failed before retrying.
22851 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
22852 (_FILE_OFFSET_BITS): Likewise.
22853 * configure.ac: Added AC_SYS_LARGEFILE.
22854
98d15063 228552003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22856
22857 * genmk.rb (PModule#rule): Make sure to get only symbol names
22858 from the output of nm.
22859 Reported by Robert Millan <zeratul2@wanadoo.es>.
22860
18d9c7cd 228612003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22862
22863 I forgot to check in these changes for a long time. This adds
22864 incomplete support for VGA console, and this is still very
22865 buggy. Also, a lot of consideration is required for I18N,
22866 UNICODE, and VGA font issues. Therefore, assume that this is
22867 such that "better than nothing".
f19dbdb7 22868
18d9c7cd 22869 * font/manager.c: New file.
22870 * include/pupa/font.h: Likewise.
22871 * include/pupa/i386/pc/vga.h: Likewise.
22872 * term/i386/pc/vga.c: Likewise.
22873 * util/unifont2pff.rb: Likewise.
22874
22875 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
22876 (pkgdata_MODULES): Added vga.mod and font.mod.
22877 (vga_mod_SOURCES): New variables.
22878 (vga_mod_CFLAGS): Likewise.
22879 (font_mod_SOURCES): Likewise.
22880 (font_mod_CFLAGS): Likewise.
22881
22882 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
22883
22884 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 22885 (struct pupa_term): Added init and fini.
18d9c7cd 22886 Changed the argument of putchar to pupa_uint32_t.
22887
22888 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
22889 (pupa_console_real_putchar): New prototype.
22890 (pupa_console_putchar): Removed.
22891 (pupa_console_checkkey): Exported.
22892 (pupa_console_getkey): Likewise.
22893
22894 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
22895 characters.
22896
22897 * kern/term.c (pupa_term_set_current): Rewritten.
22898 (pupa_putchar): Likewise.
22899 (pupa_putcode): New function.
22900
22901 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
22902 (pupa_console_real_putchar): ... this.
22903 (pupa_vga_set_mode): New function.
22904 (pupa_vga_get_font): Likewise.
22905
22906 * normal/command.c: Include pupa/term.h.
22907 (terminal_command): New function.
22908 (pupa_command_init): Register the command "terminal".
22909
22910 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
22911 (DISP_UP): Likewise.
22912 (DISP_RIGHT): Likewise.
22913 (DISP_DOWN): Likewise.
22914 (DISP_HLINE): Likewise.
22915 (DISP_VLINE): Likewise.
22916 (DISP_UL): Likewise.
22917 (DISP_UR): Likewise.
22918 (DISP_LL): Likewise.
22919 (DISP_LR): Likewise.
22920
22921 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22922
977329f5 229232003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22924
22925 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22926 FIX. Reverse the path_list.
22927
22928 * include/pupa/normal.h: Export pupa_register_command and
22929 pupa_unregister_command.
22930
22931 * hello/hello.c (pupa_cmd_hello): New module.
22932 * conf/i386-pc.rmk: Added hello.mod.
22933
1f5ab428 229342003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22935
22936 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22937
1f5ab428 22938 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22939 (compress_kernel): New variable.
22940 (generate_image): Heavily modified to support compressing a
22941 large part of the core image.
22942
22943 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22944 leak.
22945 (pupa_util_load_image): New function.
22946
22947 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22948 (pupa_compressed_size): New variable.
22949 (codestart): Enable Gate A20 here.
22950 Decompress the compressed part of the core image.
22951 Rearrange the code to put functions and variables which are
22952 required for initialization in the non-compressed part.
22953 Include lzo1x.S.
22954
22955 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22956 here.
22957
22958 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22959
f19dbdb7 22960 * include/pupa/i386/pc/kernel.h
1f5ab428 22961 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22962 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22963 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22964 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22965 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22966
22967 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22968
22969 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22970 (Utility#rule): Likewise.
22971
22972 * configure.ac: Check if LZO is available.
22973
ce5bf700 229742003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22975
22976 * include/pupa/normal.h: New file.
22977 * include/pupa/setjmp.h: Likewise.
22978 * include/pupa/i386/setjmp.h: Likewise.
22979 * normal/cmdline.c: Likewise.
22980 * normal/command.c: Likewise.
22981 * normal/main.c: Likewise.
22982 * normal/menu.c: Likewise.
22983 * normal/i386/setjmp.S: Likewise.
f19dbdb7 22984
ce5bf700 22985 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
22986 (pupa_rescue_cmd_initrd): Likewise.
22987
22988 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
22989 Likewise.
22990
22991 * kern/i386/pc/startup.S (translation_table): New variable.
22992 (translate_keycode): New function.
22993 (pupa_console_getkey): Call translate_keycode.
22994
22995 * kern/rescue.c (attempt_normal_mode): New function.
22996 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
22997 it failed, print a message.
22998
22999 * kern/mm.c (pupa_real_malloc): Print more information when a
23000 free magic is broken.
23001 (pupa_free): If the first free header is not free actually, set
23002 it to P.
23003
23004 * kern/main.c (pupa_load_normal_mode): Just load the module
23005 "normal".
23006 (pupa_main): Don't print the message
23007 "Entering into rescue mode..." here.
23008
23009 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23010 Declared.
23011 (pupa_rescue_cmd_initrd): Likewise.
23012 (pupa_rescue_cmd_initrd): Likewise.
23013
23014 * include/pupa/symbol.h (FUNCTION): Specify the type.
23015 (VARIABLE): Likewise.
23016
23017 * include/pupa/err.h (pupa_err_t): Added
23018 PUPA_ERR_UNKNOWN_COMMAND.
23019
23020 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23021 (pupa_dl_get_prefix): Likewise.
23022
23023 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23024 Added _chain.mod and _linux.mod instead of chain.mod and
23025 linux.mod.
23026 (chain_mod_SOURCES): Renamed to ...
23027 (_chain_mod_SOURCES): ... this.
23028 (chain_mod_CFLAGS): Renamed to ...
23029 (_chain_mod_CFLAGS): ... this.
23030 (linux_mod_SOURCES): Renamed to ...
23031 (_linux_mod_SOURCES): ... this.
23032 (linux_mod_CFLAGS): Renamed to ...
23033 (_linux_mod_CFLAGS): ... this.
23034 (normal_mod_SOURCES): New variable.
23035 (normal_mod_CFLAGS): Likewise.
23036 (normal_mod_ASFLAGS): Likewise.
23037
230382003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23039
23040 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23041 possible.
23042
fe6b695a 23043 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23044 recursively.
23045 (pupa_dl_unref): Unrefer depending modules recursively.
23046 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23047 a module is unloaded before one depending on that module is
23048 unloaded.
23049 (pupa_dl_unload): Unload depending modules explicitly,
23050 if possible.
23051
c04da074 230522003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23053
23054 * include/pupa/i386/pc/linux.h: New file.
23055 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23056
c04da074 23057 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23058 Removed.
23059 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23060 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23061 of PUPA_CHAINLOADER_BOOT_SECTOR.
23062
23063 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23064 (pupa_linux_prot_size): New variable.
23065 (pupa_linux_tmp_addr): Likewise.
23066 (pupa_linux_real_addr): Likewise.
23067 (pupa_linux_boot_zimage): New function.
23068 (pupa_linux_boot_bzimage): Likewise.
23069
23070 * kern/i386/pc/init.c (struct mem_region): New structure.
23071 (MAX_REGIONS): New macro.
23072 (mem_regions): New variable.
23073 (num_regions): Likewise.
23074 (pupa_os_area_addr): Likewise.
23075 (pupa_os_area_size): Likewise.
23076 (pupa_lower_mem): Likewise.
23077 (pupa_upper_mem): Likewise.
23078 (add_mem_region): New function.
23079 (compact_mem_regions): Likewise.
23080 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23081 the size of the conventional memory and that of so-called upper
23082 memory (before the first memory hole).
23083 Instead of adding each found region to free memory, use
23084 add_mem_region and add them after removing overlaps.
23085 Also, add only 1/4 of the upper memory to free memory. The rest
23086 is used for loading OS images. Maybe this is ad hoc, but this
23087 makes it much easier to relocate OS images when booting.
23088
23089 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
23090 (pupa_enter_rescue_mode): Don't register initrd and module.
23091
23092 * kern/mm.c: Include pupa/dl.h.
23093
23094 * kern/main.c: Include pupa/file.h and pupa/device.h.
23095
23096 * kern/loader.c (pupa_loader_load_module_func): Removed.
23097 (pupa_loader_load_module): Likewise.
23098
23099 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
23100 ``.o''.
23101
23102 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
23103 (pupa_linux_tmp_addr): Likewise.
23104 (pupa_linux_real_addr): Likewise.
23105 (pupa_linux_boot_zimage): Likewise.
23106 (pupa_linux_boot_bzimage): Likewise.
23107
23108 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
23109 (pupa_upper_mem): Likewise.
23110 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
23111 module is too dangerous.
23112
23113 * include/pupa/loader.h (pupa_os_area_addr): Declared.
23114 (pupa_os_area_size): Likewise.
23115 (pupa_loader_set): Remove the first argument. Loader doesn't
23116 manage modules or initrd any longer.
23117 (pupa_loader_load_module): Removed.
23118
23119 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
23120 (linux_mod_SOURCES): New variable.
23121 (linux_mod_CFLAGS): Likewise.
23122
a13f9237 231232003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
23124
23125 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
23126 the length of a blocklist correctly.
23127
23128 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
23129 Use ioctl only if the OS file is a block device.
23130 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
23131 not very useful for normal files.
23132
23133 * kern/main.c (pupa_set_root_dev): New function.
23134 (pupa_load_normal_mode): Likewise.
23135 (pupa_main): Call those above.
23136
23137 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
23138 pupa_uint16_t.
23139
23140 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
23141
a5ffe966 231422003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23143
23144 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
23145 (setup): Configure the installed partition information and the
23146 dl prefix.
23147
23148 * loader/i386/pc/chainloader.c (my_mod): New variable.
23149 (pupa_chainloader_unload): New function.
23150 (pupa_rescue_cmd_chainloader): Refer itself.
23151 (PUPA_MOD_INIT): Save its own module in MY_MOD.
23152
23153 * kern/i386/pc/startup.S (install_partition): Removed.
23154 (version_string): Likewise.
23155 (config_file): Likewise.
23156 (pupa_install_dos_part): New variable.
23157 (pupa_install_bsd_part): Likewise.
23158 (pupa_prefix): Likewise.
23159 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
23160
23161 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
23162 and pupa/misc.h.
23163 (make_install_device): New function.
23164 (pupa_machine_init): Set the dl prefix.
23165
23166 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
23167 (buf): Renamed to ...
23168 (linebuf): ... this.
23169 (pupa_rescue_cmd_prefix): New function.
23170 (pupa_rescue_cmd_insmod): Likewise.
23171 (pupa_rescue_cmd_rmmod): Likewise.
23172 (pupa_rescue_cmd_lsmod): Likewise.
23173 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
23174 rmmod and lsmod.
23175
23176 * kern/mm.c (pupa_memalign): If failed even after invalidating
23177 disk caches, unload unneeded modules and retry.
23178
23179 * kern/misc.c (pupa_memmove): New function.
23180 (pupa_memcpy): Removed.
23181 (pupa_strcpy): New function.
23182 (pupa_itoa): Made static.
23183
23184 * kern/dl.c (pupa_dl_iterate): New function.
23185 (pupa_dl_ref): Likewise.
23186 (pupa_dl_unref): Likewise.
23187 (pupa_dl_unload): Return if succeeded or not.
23188 (pupa_dl_unload_unneeded): New function.
23189 (pupa_dl_unload_all): Likewise.
23190 (pupa_dl_init): Renamed to ...
23191 (pupa_dl_set_prefix): ... this.
23192 (pupa_dl_get_prefix): New function.
23193
23194 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
23195 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
23196 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23197 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23198 (pupa_install_dos_part): Declared.
23199 (pupa_install_bsd_part): Likewise.
23200 (pupa_prefix): Likewise.
23201 (pupa_boot_drive): Likewise.
23202
23203 * include/pupa/types.h: Fix a typo.
23204
23205 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
23206 pupa_memmove.
23207 (pupa_memmove): Declared.
23208 (pupa_strcpy): Likewise.
23209
23210 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
23211 pupa_mod_init takes one argument, its own module.
23212 (pupa_dl_unload_unneeded): Declared.
23213 (pupa_dl_unload_all): Likewise.
23214 (pupa_dl_ref): Likewise.
23215 (pupa_dl_unref): Likewise.
23216 (pupa_dl_iterate): Likewise.
23217 (pupa_dl_init): Renamed to ...
23218 (pupa_dl_set_prefix): ... this.
23219 (pupa_dl_get_prefix): Declared.
23220
23221 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 23222 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 23223 unloaded.
23224 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
23225 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
23226
23227 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
23228 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
23229
012d7999 232302003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23231
23232 * util/i386/pc/pupa-setup.c (setup): Define the internal
23233 function find_first_partition_start at the top level, because GCC
23234 3.0.x cannot compile internal functions in deeper scopes
23235 correctly.
23236 (find_root_device): Use lstat instead of stat.
23237 Don't follow symbolic links.
23238 Fix the path-constructing code.
23239
23240 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
23241 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
23242 by a BLKGETSIZE ioctl first, because block devices don't fill
23243 the member st_mode of the structure stat on Linux.
23244 [__linux__] (linux_find_partition): Use a temporary buffer
23245 REAL_DEV for the working space. Copy it to DEV before returning.
23246 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
23247 buffer cache consistent.
23248 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
23249 strncmp. The previous value was merely wrong.
23250 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
23251
23252 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
23253 FAT size is 12. The previous value was merely wrong.
23254
23255 * kern/main.c (pupa_main): Don't split the starting message from
23256 newlines.
23257
23258 * kern/term.c (pupa_putchar): Put CR after LF instead of before
23259 LF, because BIOS goes crazy about character attributes in this
23260 case.
23261
1cc73a62 232622003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23263
23264 * include/i386/pc/util/biosdisk.h: New file.
23265 * util/i386/pc/biosdisk.c: Likewise.
23266 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 23267
1cc73a62 23268 * Makefile.in (INCLUDE_DISTFILES): Added
23269 include/pupa/i386/pc/util/biosdisk.h.
23270 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
23271 directory util/i386/pc.
23272 (install-local): Added a rule for sbin_UTILITIES.
23273 (uninstall): Likewise.
23274
23275 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
23276
23277 * util/misc.c (xrealloc): New function.
23278 (pupa_malloc): Likewise.
23279 (pupa_free): Likewise.
23280 (pupa_realloc): Likewise.
23281 (pupa_stop): Likewise.
23282 (pupa_putchar): Likewise.
23283
23284 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
23285
23286 * include/pupa/util/misc.h (xrealloc): Declared.
23287
23288 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
23289 macro.
23290 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
23291 (PUPA_BOOT_MACHINE_BPB_END): ... this.
23292
23293 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
23294 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23295
23296 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
23297 way should be implemented.
23298 [PUPA_UTIL] (pupa_fat_fini): Likewise.
23299
23300 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
23301 the size of NAME for safety.
23302 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
23303 0x88.
23304
23305 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
23306 (pupa_setup_SOURCES): Likewise.
23307
23308 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
23309
08b70fe8 233102002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23311
23312 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
23313 bunch of pushl's from pusha, because this destroys the return
23314 value.
23315
62ddcc8f 233162002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
23317
23318 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
23319 This means that any missing prototypes could be fatal. Also, you
23320 must take care when writing assembly code. See the comments at
23321 the beginning of startup.S, for more details.
f19dbdb7 23322
62ddcc8f 23323 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
23324 compilation mechanism.
23325 (pupa_chainloader_real_boot): Likewise.
23326 (pupa_biosdisk_rw_int13_extensions): Likewise.
23327 (pupa_biosdisk_rw_standard): Likewise.
23328 (pupa_biosdisk_check_int13_extensions): Likewise.
23329 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
23330 (pupa_biosdisk_get_diskinfo_standard): Likewise.
23331 (pupa_get_memsize): Likewise.
23332 (pupa_get_mmap_entry): Likewise.
23333 (pupa_console_putchar): Likewise.
23334 (pupa_console_setcursor): Likewise.
23335 (pupa_getrtsecs): Use pushl instead of push.
23336
23337 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
23338 memory instead of the stack for a mmap entry, because some
23339 BIOSes may ignore the maximum size and overflow.
23340
23341 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
23342
23343 * genmk.rb (PModule#rule): Compile automatically generated
23344 sources with module-specific CFLAGS as well as other sources.
23345
9962ed99 233462002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23347
23348 * configure.ac: Check ld.
23349 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
23350 respectively, before checking endianness and sizes.
23351
23352 * Makefile.in (LD): New variable.
f19dbdb7 23353
abdfc3c5 233542002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23355
23356 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
23357
6a161fa9 233582002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
23359
23360 * Changelog: New file.
23361