]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-03 Carles Pina i Estany <carles@pina.cat>
[grub2.git] / ChangeLog
CommitLineData
29c44ad1 12010-01-03 Carles Pina i Estany <carles@pina.cat>
2
3 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6 full stop.
7 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
8 summary. Gettextizze the strings.
9 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12 full stop.
13 (GRUB_MOD_INIT): Remove command name from summary.
14 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15 summary.
16 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17 * term/i386/pc/serial.c (options): Add full stops.
18 (GRUB_MOD_INIT): Remove command name from the summary.
19
77a79592 202010-01-03 Carles Pina i Estany <carles@pina.cat>
21
22 * commands/acpi.c: Gettextizze help strings and/or options. Include
23 `grub/i18n.h' if needed.
24 * commands/blocklist.c: Likewise.
25 * commands/boot.c: Likewise.
26 * commands/cat.c: Likewise.
27 * commands/cmp.c: Likewise.
28 * commands/configfile.c: Likewise.
29 * commands/crc.c: Likewise.
30 * commands/date.c: Likewise.
31 * commands/echo.c: Likewise.
32 * commands/efi/fixvideo.c: Likewise.
33 * commands/efi/loadbios.c: Likewise.
34 * commands/gptsync.c: Likewise.
35 * commands/halt.c: Likewise.
36 * commands/handler.c: Likewise.
37 * commands/hdparm.c: Likewise.
38 * commands/hexdump.c: Likewise.
39 * commands/i386/cpuid.c: Likewise.
40 * commands/i386/pc/drivemap.c: Likewise.
41 * commands/i386/pc/halt.c: Likewise.
42 * commands/i386/pc/pxecmd.c: Likewise.
43 * commands/i386/pc/vbeinfo.c: Likewise.
44 * commands/i386/pc/vbetest.c: Likewise.
45 * commands/ieee1275/suspend.c: Likewise.
46 * commands/keystatus.c: Likewise.
47 * commands/loadenv.c: Likewise.
48 * commands/ls.c: Likewise.
49 * commands/lsmmap.c: Likewise.
50 * commands/lspci.c: Likewise.
51 * commands/memrw.c: Likewise.
52 * commands/minicmd.c: Likewise.
53 * commands/parttool.c: Likewise.
54 * commands/password.c: Likewise.
55 * commands/probe.c: Likewise.
56 * commands/read.c: Likewise.
57 * commands/reboot.c: Likewise.
58 * commands/search.c: Likewise.
59 * commands/sleep.c: Likewise.
60 * commands/test.c: Likewise.
61 * commands/true.c: Likewise.
62 * commands/usbtest.c: Likewise.
63 * commands/videotest.c: Likewise.
64 * commands/xnu_uuid.c: Likewise.
65 * disk/loopback.c: Likewise.
66 * hello/hello.c: Likewise.
67 * loader/i386/bsd.c: Likewise.
68 * term/i386/pc/serial.c: Likewise.
69 * po/POTFILES: Add new files.
70
da8d5c53
CW
712010-01-02 Colin Watson <cjwatson@ubuntu.com>
72
73 * term/i386/pc/at_keyboard.c
74 (keyboard_controller_wait_untill_ready): Rename to ...
75 (keyboard_controller_wait_until_ready): ... this. Update all users.
76
33937904 772010-01-01 Carles Pina i Estany <carles@pina.cat>
78
79 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
80 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
81 string using string width.
82 * normal/menu_text.c (grub_print_message_indented): Use
83 grub_print_spaces and not print_spaces.
84 (print_timeout): Likewise.
85 (print_spaces): Move to...
86 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
87
3fd3b8d8
RM
882010-01-01 Robert Millan <rmh.grub@aybabtu.com>
89
90 Import from Gnulib.
91
92 * gnulib/getdelim.c: New file.
93 * gnulib/getline.c: Likewise.
94
33433555
VS
952009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
96
97 * include/grub/list.h (grub_assert_fail): Removed.
98 (grub_bad_type_cast_real): New function.
99 (grub_bad_type_cast): New macro.
100 (GRUB_AS_LIST): Use grub_bad_type_cast.
101 (GRUB_AS_LIST_P): Likewise.
e44721e8 102 (GRUB_AS_NAMED_LIST): Likewise.
33433555 103 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 104 (GRUB_AS_PRIO_LIST): Likewise.
33433555 105 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 106 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 107
f5a51306
VS
1082009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
111 Fix syntax error.
112
90d1e879
RM
1132009-12-29 Robert Millan <rmh.grub@aybabtu.com>
114
115 * configure.ac: Check for TARGET_CFLAGS initialization before we
116 initialize it ourselves (sigh).
117 Move a few modifications to TARGET_CFLAGS to be unconditional
118 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
119 eh_frame)
120
121 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
122 * term/i386/pc/at_keyboard.c
123 (keyboard_controller_wait_untill_ready): Likewise.
124 (keyboard_controller_led): Rename `led_status' paramter to avoid
125 name conflict.
126
465b5a81 1272009-12-28 Carles Pina i Estany <carles@pina.cat>
128
129 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
130 quotes.
131
c181849b
VS
1322009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
135
9c8739a4
VS
1362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * normal/menu_text.c (grub_print_message_indented): Prevent
139 past-the-end-of-array dereference.
140
3e74249c
VS
1412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
144 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
145
64fd18ed 1462009-12-27 Carles Pina i Estany <carles@pina.cat>
147
148 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
149 * normal/main.c (grub_normal_read_line): Remove a space from the
150 default prompt.
151
714af9b9 1522009-12-27 Carles Pina i Estany <carles@pina.cat>
153
154 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
155 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
156 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
157 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
158 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
159 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
160 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
161
82f3e412 1622009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 163
164 * video/readers/jpeg.c (cmd): Declare.
165 (grub_cmd_jpegtest): Use `grub_command_t' type.
166 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
167 Assign to `cmd'.
168 (GRUB_MOD_FINI): Use `cmd' to unregister.
169 * video/readers/png.c (cmd): Declare.
170 (grub_cmd_pngtest): Use `grub_command_t' type.
171 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
172 Assign to `cmd'.
173 (GRUB_MOD_FINI): Use `cmd' to unregister.
174 * video/readers/tga.c (cmd): Declare.
175 (grub_cmd_tgatest): Use `grub_command_t' type.
176 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
177 Assign to `cmd'.
178 (GRUB_MOD_FINI): Use `cmd' to unregister.
179
82f3e412 1802009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 181
182 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
183 stops.
184 * kern/corecmd.c (grub_register_core_commands): Likewise.
185 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
186 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
187 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
188 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
189 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
190 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
191 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
192 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
193 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
194 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
195 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
196 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
197 * normal/handler.c (insert_handler): Likewise.
198 * normal/main.c (GRUB_MOD_INIT): Likewise.
199 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
200
fdcdbb66 2012009-12-26 Carles Pina i Estany <carles@pina.cat>
202
203 * commands/help.c (grub_cmd_help): Print the command name before the
204 summary.
205 (GRUB_MOD_INIT): Remove command name from the summary.
206 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 207 string as summary.
fdcdbb66 208 * lib/arg.c (find_long): Print the command name before the summary.
209 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
210 summary.
211 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
212 * commands/cat.c (GRUB_MOD_INIT): Likewise.
213 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
214 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
215 * commands/crc.c (GRUB_MOD_INIT): Likewise.
216 * commands/date.c (GRUB_MOD_INIT): Likewise.
217 * commands/echo.c (GRUB_MOD_INIT): Likewise.
218 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
219 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
220 * commands/handler.c (GRUB_MOD_INIT): Likewise.
221 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
222 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
223 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
224 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
225 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
226 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
227 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
228 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
229 * commands/ls.c (GRUB_MOD_INIT): Likewise.
230 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
231 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
232 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
233 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
234 * commands/password.c (GRUB_MOD_INIT): Likewise.
235 * commands/probe.c (GRUB_MOD_INIT): Likewise.
236 * commands/read.c (GRUB_MOD_INIT): Likewise.
237 * commands/search.c (GRUB_MOD_INIT): Likewise.
238 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
239 * commands/test.c (GRUB_MOD_INIT): Likewise.
240 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
241 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
242 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
243 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
244 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
245 * lib/arg.c (GRUB_MOD_INIT): Likewise.
246 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
247 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
248 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
249 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
250 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
251 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
252 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
253 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
254
9c288be2
VS
2552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
256
257 Use search command for preliminar UUID search.
258
259 * commands/search.c: Split into ...
260 * commands/search_wrap.c: ...this
261 * commands/search.c: ...and this.
262 * commands/search_file.c: New file.
263 * commands/search_label.c: New file.
264 * commands/search_uuid.c: New file.
265 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
266 Add commands/search_wrap.c, commands/search_file.c,
267 commands/search_label.c and commands/search_uuid.c.
268 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
269 (search_mod_SOURCES): Set to commands/search_wrap.c.
270 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
271 search_label.mod.
272 (search_fs_file_mod_SOURCES): New variable.
273 (search_fs_file_mod_CFLAGS): Likewise.
274 (search_fs_file_mod_LDFLAGS): Likewise.
275 (search_label_mod_SOURCES): Likewise.
276 (search_label_mod_CFLAGS): Likewise.
277 (search_label_mod_LDFLAGS): Likewise.
278 (search_fs_uuid_mod_SOURCES): New variable.
279 (search_fs_uuid_mod_CFLAGS): Likewise.
280 (search_fs_uuid_mod_LDFLAGS): Likewise.
281 (fs_file_mod_SOURCES): Removed.
282 (fs_file_mod_CFLAGS): Likewise.
283 (fs_file_mod_LDFLAGS): Likewise.
284 (fs_uuid_mod_SOURCES): Removed.
285 (fs_uuid_mod_CFLAGS): Likewise.
286 (fs_uuid_mod_LDFLAGS): Likewise.
287 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
288 Set to util/grub-install.in.
289 * disk/fs_file.c: Removed.
290 * disk/fs_uuid.c: Likewise.
291 * include/grub/search.h: New file.
292 * util/grub-install.in: Handle sparc64.
293 Create and use load.cfg.
294 * util/sparc64/ieee1275/grub-install.in: Removed.
295
db943399
VS
2962009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
299 Ignore return status if CF is cleared.
300 (grub_biosdisk_get_diskinfo_standard): Likewise.
301
3fdae612
RM
3022009-12-25 Robert Millan <rmh.grub@aybabtu.com>
303
304 * term/i386/pc/at_keyboard.c
305 (keyboard_controller_wait_untill_ready): New function.
306 (grub_keyboard_controller_write, grub_keyboard_controller_read)
307 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
308 for keyboard polling, rather than duplicate the same loop. This
309 saves a few bytes in code size.
310
7ebaa2b4
VS
3112009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Support for (pxe[:server[:gateway]]) syntax and
314 use environment variable for PXE.
315
316 * commands/i386/pc/pxecmd.c (options): Removed.
317 (print_ip): Removed.
318 (grub_cmd_pxe): Removed
319 (grub_cmd_pxe_unload): New function.
320 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
321 (grub_pxe_your_ip): Made static.
322 (grub_pxe_default_server_ip): Likewise.
323 (grub_pxe_default_gateway_ip): Likewise.
324 (grub_pxe_blksize): Likewise.
325 (parse_ip): New function.
326 (grub_pxe_open): Support server and gateway specification.
327 (grub_pxe_close): Free disk->data.
328 (grub_pxefs_open): Use disk->data.
329 (grub_pxefs_read): Likewise.
330 (grub_env_write_readonly): New function.
331 (set_mac_env): Likewise.
332 (set_env_limn_ro): Likewise.
333 (parse_dhcp_vendor): Likewise.
334 (grub_pxe_detect): Set the environment variables.
335 (set_ip_env): New function.
336 (write_ip_env): Likewise.
337 (grub_env_write_pxe_default_server): Likewise.
338 (grub_env_write_pxe_default_gateway): Likewise.
339 (grub_env_write_pxe_blocksize): Likewise.
340 (GRUB_MOD_INIT(pxe)): Set environment variables.
341 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
342 (grub_pxe_mac_addr_t): ... this. All users updated.
343 (grub_pxe_your_ip): Removed.
344 (grub_pxe_server_ip): Likewise.
345 (grub_pxe_gateway_ip): Likewise.
346 (grub_pxe_blksize): Likewise.
347
ec5f98ab 3482009-12-25 Carles Pina i Estany <carles@pina.cat>
349
350 * commands/help.c: Include `<grub/i18n.h>'.
351 (grub_cmd_help): Gettextizze.
352 (GRUB_MOD_INIT): Likewise.
353 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
354 (GRUB_MOD_INIT): Gettextizze.
355 * commands/search.c: Include `<grub/i18n.h>'.
356 (options): Gettextizze.
357 (GRUB_MOD_INIT): Gettextizze.
358 * lib/arg.c: Include `<grub/i18n.h>'.
359 (help_options): Gettextizze.
360 (find_long): Likewise.
361 (grub_arg_show_help): Likewise.
362 * normal/dyncmd.c: Include `<grub/i18n.h>'.
363 (read_command_list): Gettextizze.
364 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 365 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 366
22815526
RM
3672009-12-25 Robert Millan <rmh.grub@aybabtu.com>
368
369 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
370 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
371 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
372 (led_status): New variable.
373 (keyboard_controller_led): New function.
374 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
375 update led status for caps lock, num lock and scroll lock.
376
0ad46fd7
FZ
3772009-12-25 Felix Zielcke <fzielcke@z-51.de>
378
379 * util/hostdisk.c (open_device): Fix a comment.
380
d0e158c2
RM
3812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
382
383 * util/grub-install.in (host_os): New variable.
384 * util/i386/efi/grub-install.in (host_os): Likewise.
385
401c0ad6
RM
3862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
387
388 * util/mkisofs/write.c (padblock_write): Abort when given an
389 excedingly large embed image, instead of silently truncating it.
390
d14d3370
RM
3912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
392
393 * include/multiboot.h: Indentation fixes.
394
eeed10b4
RM
3952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
396
397 * include/multiboot.h (struct multiboot_aout_symbol_table)
398 (struct multiboot_elf_section_header_table): New structure
399 declarations (stolen from GRUB Legacy).
400 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
401 table information.
402
403 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
404 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
405 type aliases.
406
681c70ab
RM
4072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
408
409 * include/multiboot.h: Make comments src2texi-friendly.
410
e4d47d8d
RM
4112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
412
413 For consistency with [multiboot]/docs/boot.S.
414
415 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
416 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
417 (MULTIBOOT_MAGIC2): Rename from this ...
418 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
419
a0b70bda
RM
4202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
421
422 * include/multiboot.h: Remove `<grub/types.h>'.
423 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
424 types. Update all users.
425
61ba42be 4262009-12-25 Carles Pina i Estany <carles@pina.cat>
427
428 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
429 `couldn't' and `can not' by `cannot'.
430 * commands/i386/pc/drivemap.c: Likewise.
431 * disk/ata.c: Likewise.
432 * disk/ieee1275/nand.c: Likewise.
433 * fs/affs.c: Likewise.
434 * fs/fat.c: Likewise.
435 * fs/hfs.c: Likewise.
436 * fs/hfsplus.c: Likewise.
437 * fs/iso9660.c: Likewise.
438 * fs/jfs.c: Likewise.
439 * fs/minix.c: Likewise.
440 * fs/reiserfs.c: Likewise.
441 * fs/sfs.c: Likewise.
442 * fs/udf.c: Likewise.
443 * fs/ufs.c: Likewise.
444 * fs/xfs.c: Likewise.
445 * loader/powerpc/ieee1275/linux.c: Likewise.
446 * loader/sparc64/ieee1275/linux.c: Likewise.
447 * util/grub-probe.c: Likewise.
448 * util/misc.c: Likewise.
449
7fd0baee 4502009-12-24 Carles Pina i Estany <carles@pina.cat>
451
452 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
453 grub_errno calls.
454 * commands/acpi.c: Likewise.
455 * commands/blocklist.c: Likewise.
456 * commands/efi/loadbios.c: Likewise.
457 * commands/i386/pc/drivemap.c: Likewise.
458 * commands/loadenv.c: Likewise.
459 * commands/memrw.c: Likewise.
460 * commands/password.c: Likewise.
461 * commands/videotest.c: Likewise.
462 * disk/ata.c: Likewise.
463 * disk/ata_pthru.c: Likewise.
464 * disk/dmraid_nvidia.c: Likewise.
465 * disk/ieee1275/nand.c: Likewise.
466 * disk/ieee1275/ofdisk.c: Likewise.
467 * disk/loopback.c: Likewise.
468 * disk/lvm.c: Likewise.
469 * disk/mdraid_linux.c: Likewise.
470 * disk/raid.c: Likewise.
471 * disk/raid6_recover.c: Likewise.
472 * disk/scsi.c: Likewise.
473 * efiemu/main.c: Likewise.
474 * efiemu/mm.c: Likewise.
475 * efiemu/pnvram.c: Likewise.
476 * efiemu/symbols.c: Likewise.
477 * font/font.c: Likewise.
478 * fs/cpio.c: Likewise.
479 * fs/hfsplus.c: Likewise.
480 * fs/iso9660.c: Likewise.
481 * fs/jfs.c: Likewise.
482 * fs/minix.c: Likewise.
483 * fs/ntfs.c: Likewise.
484 * fs/ntfscomp.c: Likewise.
485 * fs/reiserfs.c: Likewise.
486 * fs/ufs.c: Likewise.
487 * fs/xfs.c: Likewise.
488 * gettext/gettext.c: Likewise.
489 * include/grub/auth.h: Likewise.
490 * kern/elf.c: Likewise.
491 * kern/file.c: Likewise.
492 * kern/ieee1275/init.c: Likewise.
493 * kern/ieee1275/mmap.c: Likewise.
494 * kern/ieee1275/openfw.c: Likewise.
495 * kern/powerpc/dl.c: Likewise.
496 * kern/sparc64/dl.c: Likewise.
497 * lib/arg.c: Likewise.
498 * loader/i386/bsd.c: Likewise.
499 * loader/i386/bsdXX.c: Likewise.
500 * loader/i386/efi/linux.c: Likewise.
501 * loader/i386/efi/xnu.c: Likewise.
502 * loader/i386/ieee1275/linux.c: Likewise.
503 * loader/i386/linux.c: Likewise.
504 * loader/i386/multiboot.c: Likewise.
505 * loader/i386/pc/linux.c: Likewise.
506 * loader/i386/pc/multiboot2.c: Likewise.
507 * loader/i386/xnu.c: Likewise.
508 * loader/ieee1275/multiboot2.c: Likewise.
509 * loader/macho.c: Likewise.
510 * loader/machoXX.c: Likewise.
511 * loader/multiboot2.c: Likewise.
512 * loader/multiboot_loader.c: Likewise.
513 * loader/powerpc/ieee1275/linux.c: Likewise.
514 * loader/sparc64/ieee1275/linux.c: Likewise.
515 * loader/xnu.c: Likewise.
516 * loader/xnu_resume.c: Likewise.
517 * mmap/i386/pc/mmap.c: Likewise.
518 * normal/menu_viewer.c: Likewise.
519 * partmap/acorn.c: Likewise.
520 * partmap/amiga.c: Likewise.
521 * partmap/apple.c: Likewise.
522 * script/lexer.c: Likewise.
523 * term/gfxterm.c: Likewise.
524 * term/i386/pc/serial.c: Likewise.
525 * term/i386/pc/vga.c: Likewise.
526 * term/ieee1275/ofconsole.c: Likewise.
527 * term/terminfo.c: Likewise.
528 * video/bitmap.c: Likewise.
529 * video/efi_gop.c: Likewise.
530 * video/efi_uga.c: Likewise.
531 * video/fb/video_fb.c: Likewise.
532 * video/i386/pc/vbe.c: Likewise.
533 * video/readers/tga.c: Likewise.
534 * video/video.c: Likewise.
535
0ad46fd7 5362009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
537
538 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
539 * commands/lspci.c: Likewise.
540 * commands/probe.c: Likewise.
541 * commands/xnu_uuid.c: Likewise.
542 * conf/i386-coreboot.rmk: Likewise.
543 * conf/i386-efi.rmk: Likewise.
544 * conf/i386-ieee1275.rmk: Likewise.
545 * conf/i386-pc.rmk: Likewise.
546 * conf/powerpc-ieee1275.rmk: Likewise.
547 * conf/sparc64-ieee1275.rmk: Likewise.
548 * conf/x86_64-efi.rmk: Likewise.
549 * fs/i386/pc/pxe.c: Likewise.
550 * gettext/gettext.c: Likewise.
551 * include/grub/efi/graphics_output.h: Likewise.
552 * include/grub/i386/pc/memory.h: Likewise.
553 * kern/env.c: Likewise.
554 * kern/i386/qemu/startup.S: Likewise.
555 * lib/i386/pc/biosnum.c: Likewise.
556 * lib/i386/relocator.c: Likewise.
557 * lib/i386/relocator_asm.S: Likewise.
558 * lib/relocator.c: Likewise.
559 * loader/i386/bsd.c: Likewise.
560 * loader/i386/multiboot.c: Likewise.
561 * loader/i386/pc/chainloader.c: Likewise.
562 * loader/i386/xnu.c: Likewise.
563 * loader/xnu.c: Likewise.
564 * normal/main.c: Likewise.
565 * normal/menu_text.c: Likewise.
566 * util/getroot.c: Likewise.
567 * util/grub-mkconfig_lib.in: Likewise.
568 * util/grub.d/00_header.in: Likewise.
569 * util/i386/pc/grub-mkimage.c: Likewise.
570 * util/mkisofs/eltorito.c: Likewise.
571 * util/mkisofs/exclude.h: Likewise.
572 * util/mkisofs/hash.c: Likewise.
573 * util/mkisofs/iso9660.h: Likewise.
574 * util/mkisofs/joliet.c: Likewise.
575 * util/mkisofs/mkisofs.c: Likewise.
576 * util/mkisofs/mkisofs.h: Likewise.
577 * util/mkisofs/multi.c: Likewise.
578 * util/mkisofs/name.c: Likewise.
579 * util/mkisofs/rock.c: Likewise.
580 * util/mkisofs/tree.c: Likewise.
581 * util/mkisofs/write.c: Likewise.
582 * video/efi_gop.c: Likewise.
583
009ec743
VS
5842009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
587 size counting.
588
0ad46fd7 5892009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
590
591 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
592 * genmk.rb (class SCRIPT): Modify the target file instead of source.
593
d3d30ea0
VS
5942009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
597 (GRUB_MOD_INIT(memrw)): Update help line.
598
a34f5c70
VS
5992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
602 Use grub_extcmd_t. All users updated.
603 (options): New variable.
604 (grub_cmd_read): Restructure for readability. Support "-v" option.
605 (grub_cmd_write): Restructure for readability.
606
0ad46fd7 6072009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
608
609 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
610
0ad46fd7 6112009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
612
613 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
614 with the actual contents of the correspondending make variable.
615 * util/grub-mkrescue.in (pkglib_DATA): New variable.
616 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
617 specifying `*.lst' and `efiemu??.o'
618
0ad46fd7 6192009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
620
621 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
622 after function name.
623 Noticed by Rene Engelhard <rene@debian.org>.
624
dc77a799
VS
6252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
628 (options): New variable.
629 (iospace): Likewise.
630 (grub_lspci_iter): List IO spaces if "-i" was given.
631 (grub_cmd_lspci): Parse options.
632 (GRUB_MOD_INIT(lspci)): Use extcmd.
633 (GRUB_MOD_FINI(lspci)): Likewise.
634
0ad46fd7 6352009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
636
637 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
638 `function' keyword.
639 Patch by Tony Mancill <tmancill@debian.org>.
640
b5d5993b
VS
6412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
644 (grub_uhci_portstatus): Likewise.
645 (grub_uhci_portstatus): Add necessary delay.
11d18281 646 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 647
941903f2 6482009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 649
941903f2 650 * commands/acpi.c (options): Fix capitalizations and/or full stops.
651 (GRUB_MOD_INIT): Likewise.
652 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 653 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
654 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 655 * commands/efi/loadbios.c (enable_rom_area): Likewise.
656 (enable_rom_area): Likewise.
657 (GRUB_MOD_INIT): Likewise.
658 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
659 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
660 * commands/handler.c (GRUB_MOD_INIT): Likewise.
661 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
662 * commands/hexdump.c (options): Likewise.
663 * commands/i386/cpuid.c (options): Likewise.
664 (GRUB_MOD_INIT): Likewise.
665 * commands/i386/pc/drivemap.c (options): Likewise.
666 (GRUB_MOD_INIT): Likewise.
667 * commands/i386/pc/halt (options): Likewise.
668 (GRUB_MOD_INIT): Likewise.
669 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
670 * commands/i386/pc/pxecmd.c (options): Likewise.
671 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
672 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
673 * commands/keystatus.c (options): Likewise.
674 (GRUB_MOD_INIT): Likewise.
675 * commands/loadenv.c (options): Likewise.
676 * commands/ls.c (options): Likewise.
677 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
678 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
679 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
680 * commands/parttool.c (helpmsg): Likewise.
681 * commands/probe.c (options): Likewise.
682 * commands/read.c (GRUB_MOD_INIT): Likewise.
683 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
684 * commands/search.c (options): Likewise.
685 * commands/sleep.c (options): Likewise.
686 * commands/test.c (GRUB_MOD_INIT): Likewise.
687 * commands/true.c (GRUB_MOD_INIT): Likewise.
688 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
689 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
690 * lib/arg.c (help_options): Likewise.
e9bbb4e7 691 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
692 `$(XGETTEXT)'.
98a50553 693 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 694
0ad46fd7 6952009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 696
ef3c2c3a 697 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
698 instead of specifying them explicit.
699
7922f68b
RM
7002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
701
702 * NEWS: Add grub-probe support for GNU/Hurd.
703
537ce47f
RM
7042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
705
706 * NEWS: gettext was added after 1.97.
707
9b214e3a
RM
7082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
709
710 * util/mkisofs/msdos_partition.h: New file (based on
711 include/grub/msdos_partition.h).
712 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
713 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
714 (ld_options, main): Recognize --protective-msdos-label.
715 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
716 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
717 (padblock_write): If `use_protective_msdos_label' is set, patch a
718 protective DOS-style label in the output image.
719
720 * util/grub-mkrescue.in: Use --protective-msdos-label.
721
e9309813
RM
7222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
723
724 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
725 boot.
726
0ae56929
RM
7272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
728
729 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
730 variables.
731 (ld_options, main): Recognize `--embedded-boot'.
732 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
733 declarations.
734 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
735 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
736 (padblock_write): Likewise. Rewrite to support embedded boot image.
737
738 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
739 for BIOS-based disk boot instead of only ElTorito.
740
b15937b1
RM
7412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
742
743 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
744 build (not needed for bootstrap).
745
52cc3ce0
RM
7462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
747
748 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
749 from i386-pc build (not needed for bootstrap).
750 Rewrite a pair of strings.
751
36f5ff04
RM
7522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
753
754 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
755
973c6c85 7562009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
757
758 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
759
05d21547
AB
7602009-12-21 Andreas Born <futur.andy@googlemail.com>
761
762 * kern/env.c (grub_env_context_open): Mark exported variable for
763 reexport.
764
0175d51f
AB
7652009-12-21 Andreas Born <futur.andy@googlemail.com>
766
767 * kern/env.c (grub_env_export): Create nonexistent variables before
768 exporting.
769
7f39d92f 7702009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 771
7f39d92f 772 * include/grub/auth.h: Include `<grub/i18n.h>'.
773 (GRUB_GET_PASSWORD): Gettextizze string.
774 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
775 menu_text.c.
776 (grub_utf8_to_ucs4_alloc): Fix indentation.
777 (grub_print_ucs4): Likewise.
778 (grub_getstringwidth): Likewise.
779 (print_message_indented): New declaration.
780 * normal/auth.c: Include `<grub/i18n.h>'.
781 (grub_auth_check_authentication): Gettexttize string.
782 * normal/cmdline.c: Include `<grub/i18n.h>'.
783 (grub_cmdline_get): Gettextizze.
784 * normal/color.c: Include `<grub/i18n.h>'.
785 (grub_parse_color_name_pair): Gettexttize strings.
786 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
787 string (use `print_message_indented').
788 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
789 `include/grub/normal.h'.
790 (print_message_indented): Renamed to ...
791 (grub_print_message_indented): ... this. Remove `static' qualifer (now
792 used in normal/main.c).
793 (print_message): Use `grub_print_message_indented' instead of
794 `print_message_indented'.
795 (print_timeout): Likewise.
796 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
797 (grub_normal_print_device_info): Gettexttize strings.
798 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
799
3041d898
VS
8002009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
803 of arguments. Return number of tokens and not arguments. All users
804 updated.
805
de15bf8e
VS
8062009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
809 non-MSDOS paritions.
810
e0a6ca52
VS
8112009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * include/grub/types.h (UNUSED): Removed since it conflicts with
814 NetBSD headers. All users changed to direct __attribute__ ((unused)).
815 Reported by Grégoire Sutre.
816
b99518d1 8172009-12-19 Carles Pina i Estany <carles@pina.cat>
818
819 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
820 (grub_print_ucs4_alloc): Likewise.
821 (grub_getstringwidth): Likewise.
822 * normal/main.c (grub_normal_init_page): Gettextize version string.
823 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
824 (getstringwidth): Renamed to ...
825 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
826 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
827 (grub_print_ucs4): Remove `static' qualifer (now used in
828 normal/main.c).
829 * po/POTFILES: Add normal/main.c.
830
bfd5e52b 8312009-12-19 Carles Pina i Estany <carles@pina.cat>
832
833 * normal/menu_text.c (STANDARD_MARGIN): New macro.
834 (print_message_indented): Add `margin_left' and `margin_right'
835 parameters.
836 (print_message): Update `print_message_indented' calls. Adds '\n' to the
837 strings.
838 (print_timeout): Use `print_message_indented' to print the message.
839 Deletes `second_stage' parameter.
840 (run_menu): Update `print_timeout' calls.
841
5a1ad2b9
VS
8422009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Fix console palette on OpenFirmware.
845
846 * term/ieee1275/ofconsole.c (MAX): Removed.
847 (colors): Redone based on VGA palette.
848 (grub_ofconsole_setcolor): Discard brightness bit since only 8
849 colors are supported.
850 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
851
b045f00a
VS
8522009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
853
854 Fix potential EfiEmu double prepare.
855
856 * efiemu/main.c (prepared): New variable
857 (grub_efiemu_unload): Set prepare to '0'.
858 (grub_efiemu_prepare): Return if already prepared. Set prepared.
859
860 set_virtual_address_map support.
861
862 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
863 prototype.
864 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
865 prototype.
866 (grub_efiemu_crc32): Likewise.
867 (grub_efiemu_crc64): Likewise.
868 (grub_efiemu_set_virtual_address_map): Likewise.
869 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
870 New definition.
871 (grub_autoefi_set_virtual_address_map): Likewise.
872 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
873 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
874 Restructure flow to accomodate it.
875 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
876 (grub_efiemu_crc): Recompute CRC32.
877 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
878 (efiemu_ptv_relocated): ... this. Made global. All users updated.
879 * efiemu/symbols.c (relocated_handle): New variable.
880 (grub_efiemu_free_syms): Free relocated_handle.
881 (grub_efiemu_alloc_syms): Allocate relocated_handle.
882 (grub_efiemu_write_sym_markers): New function.
883 (grub_efiemu_set_virtual_address_map): Likewise.
884
885 Newer XNU parameters.
886
887 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
888 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
889 (grub_xnu_fill_devicetree): New prototype.
890 (grub_xnu_heap_real_start): New variable.
891 * loader/xnu.c (get_name_ptr): New function.
892 (grub_xnu_load_driver): Fill namelen and name.
893
894 64-bit xnu support.
895
896 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
897 and 'loader/macho64.c'.
898 * conf/i386-pc.rmk: Likewise.
899 * conf/x86_64-efi.rmk: Likewise.
900 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
901 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
902 * include/grub/macho.h (grub_macho_segment64): New structure.
903 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
904 (grub_macho_size32): ... to this.
905 (grub_macho32_get_entry_point): Renamed from ...
906 (grub_macho_get_entry_point32): ... to this.
907 (grub_macho_contains_macho64): New prototype.
908 (grub_macho_size64): Likewise.
909 (grub_macho_get_entry_point64): Likewise.
910 (grub_macho32_load): Renamed from ...
911 (grub_macho_load32): ... to this.
912 (grub_macho32_filesize): Renamed from ...
913 (grub_macho_filesize32): ... to this.
914 (grub_macho32_readfile): Renamed from ...
915 (grub_macho_readfile32): ... to this.
916 (grub_macho_filesize64): New prototype.
917 (grub_macho_readfile64): Likewise.
918 (grub_macho_parse32): Likewise.
919 (grub_macho_parse64): Likewise.
920 * loader/macho.c: Split into ...
921 * loader/machoXX.c: ... and this. Replace 32 with XX.
922 * loader/macho32.c: New file.
923 * loader/macho64.c: Likewise.
924 * loader/xnu.c (grub_xnu_is_64bit): New variable.
925 (grub_cmd_xnu_kernel): Make 32-bit only.
926 (grub_cmd_xnu_kernel64): New function.
927 (grub_xnu_load_driver): Support Mach-O 64.
928 (grub_cmd_xnu_mkext): Likewise.
929 * util/grub.d/30_os-prober.in (osx_entry): New function.
930 Generate entries for 64-bit boot too.
931
932 Eliminate ad-hoc tree format in XNU and EfiEmu.
933
934 * efiemu/main.c (grub_efiemu_prepare): Update comment.
935 * efiemu/pnvram.c: Rewritten to use environment variables.
936 All users updated.
937
938 Inline utf16_to_utf8.
939
940 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
941 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
942 All users updated.
943 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
944
945 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
946 * commands/usbtest.c (grub_usb_get_string): ... move here.
947 (usb_print_str): Fix error handling.
948 * include/grub/usb.h (grub_usb_get_string): Remove.
949
950 UTF-8 to UTF-16 transformation.
951
952 * conf/common.rmk (pkglib_MODULES): Add charset.mod
953 (charset_mod_SOURCES): New variable.
954 (charset_mod_CFLAGS): Likewise.
955 (charset_mod_LDFLAGS): Likewise.
956 * include/grub/utf.h: New file.
957 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
958
959 Support for device properties.
960
961 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
962 (grub_xnu_devprop_device_header): Likewise.
963 (grub_xnu_devprop_device_descriptor): Likewise.
964 (grub_xnu_devprop_add_device): New prototype.
965 (grub_xnu_devprop_remove_device): Likewise.
966 (grub_xnu_devprop_remove_property): Likewise.
967 (grub_xnu_devprop_add_property_utf8): Likewise.
968 (grub_xnu_devprop_add_property_utf16): Likewise.
969 (grub_cpu_xnu_init): Likewise.
970 (grub_cpu_xnu_fini): Likewise.
971 (grub_cpu_xnu_unload): Likewise.
972 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
973 (property_descriptor): Likewise.
974 (devices): New variable.
975 (grub_xnu_devprop_remove_property): New function.
976 (grub_xnu_devprop_add_device): Likewise.
977 (grub_xnu_devprop_remove_device): Likewise.
978 (grub_xnu_devprop_add_property): Likewise.
979 (grub_xnu_devprop_add_property_utf8): Likewise.
980 (grub_xnu_devprop_add_property_utf16): Likewise.
981 (hextoval): Likewise.
982 (grub_cpu_xnu_fill_devprop): Likewise.
983 (grub_cmd_devprop_load): Likewise.
984 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
985 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
986 (cmd_devprop_load): New variable.
987 (grub_cpu_xnu_init): New function.
988 (grub_cpu_xnu_fini): Likewise.
989 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
990 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
991 (grub_cmd_xnu_devtree): Likewise.
992 (hextoval): New function.
993 (unescape): Likewise.
994 (grub_xnu_fill_devicetree): Likewise.
995
996 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
997 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
998
0945f181
VS
9992009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 Workaround for broken ATI VBE.
1002
1003 * video/i386/pc/vbe.c (last_set_mode): New variable.
1004 (grub_vbe_set_video_mode): Set 'last_set_mode'.
1005 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
1006 (grub_video_vbe_setup): Don't check for reserved flag.
1007
0ad46fd7 10082009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
1009
1010 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
1011 the `find' command.
1012
c179ebe4
VS
10132009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 UUID support for HFS.
1016
1017 * fs/hfs.c (grub_hfs_uuid): New function.
1018 (grub_hfs_fs): New value .uuid.
1019 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
1020
0ad46fd7 10212009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
1022
1023 Fix a segfault with parsing unknown long options.
1024
1025 * util/grub-mkrelpath.c (options): Zero terminate it.
1026
c4a3e41a
CPE
10272009-12-13 Carles Pina i Estany <carles@pina.cat>
1028
1029 * include/grub/misc.h (grub_puts): New declaration.
1030 (grub_puts_): Likewise.
a22008a6 1031 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
1032 (grub_puts_): Likewise.
1033
2e8a7602
RM
10342009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1035
1036 * util/grub-probe.c (probe): Improve error message.
1037
b50b77b9
RM
10382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
1039
1040 * loader/i386/multiboot_elfxx.c
1041 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
1042 initialization.
1043
10442009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Relocator framework
1047
1048 * loader/i386/xnu_helper.S: Removed. All users updated.
1049 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
1050 (relocator_mod_SOURCES): New variable.
1051 (relocator_mod_CFLAGS): Likewise.
1052 (relocator_mod_LDFLAGS): Likewise.
1053 (relocator_mod_ASFLAGS): Likewise.
1054 * conf/x86_64.rmk: Likewise.
1055 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
1056 (grub_multiboot_payload_entry_offset): Likewise.
1057 (grub_multiboot_forward_relocator): Likewise.
1058 (grub_multiboot_forward_relocator_end): Likewise.
1059 (grub_multiboot_backward_relocator): Likewise.
1060 (grub_multiboot_backward_relocator_end): Likewise.
1061 (grub_multiboot_payload_eip): New variable.
1062 (grub_multiboot_payload_orig): Likewise.
1063 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
1064 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
1065 * include/grub/i386/memory.h
1066 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
1067 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
1068 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
1069 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
1070 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
1071 * include/grub/i386/relocator.h: New file.
1072 * include/grub/x86_64/relocator.h: Likewise.
1073 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
1074 (XNU_RELOCATOR): New macro.
1075 (grub_xnu_launcher_start): Remove.
1076 (grub_xnu_launcher_end): Likewise.
1077 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
1078 (grub_xnu_heap_real_start): Remove.
1079 (grub_xnu_heap_start): Change to void *. All users updated.
1080 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
1081 * lib/i386/relocator.c: New file.
1082 * lib/i386/relocator_asm.S: Likewise.
1083 * lib/i386/relocator_backward.S: Likewise.
1084 * lib/mips/relocator.c: Likewise.
1085 * lib/mips/relocator_asm.S: Likewise.
1086 * lib/relocator.c: Likewise.
1087 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
1088 (entry): Removed.
1089 (playground): Likewise.
1090 (grub_multiboot_payload_orig): New variable.
1091 (grub_multiboot_payload_dest): Likewise.
1092 (grub_multiboot_payload_size): Likewise.
1093 (grub_multiboot_payload_eip): Likewise.
1094 (grub_multiboot_payload_esp): Likewise.
1095 (grub_multiboot_boot): Use grub_relocator32_boot.
1096 (grub_multiboot_unload): Free relocators.
1097 (grub_multiboot): Setup stack. Use relocators.
1098 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
1099 (grub_multiboot_load_elfXX): Use relocators.
1100 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
1101 (grub_multiboot_payload_size): Likewise.
1102 (grub_multiboot_payload_dest): Likewise.
1103 (grub_multiboot_payload_entry_offset): Likewise.
1104 (grub_multiboot_forward_relocator): Likewise.
1105 (grub_multiboot_backward_relocator): Likewise.
1106 (grub_multiboot_real_boot): Likewise.
1107 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
1108 (grub_xnu_entry_point): Likewise.
1109 (grub_xnu_arg1): Likewise.
1110 (grub_xnu_stack): Likewise.
1111 (grub_xnu_launch): Removed.
1112 (grub_xnu_boot_resume): New function.
1113 (grub_xnu_boot): Use relocators.
1114 * loader/i386/xnu_helper.S: Removed.
1115 * loader/xnu.c (grub_xnu_heap_start): New variable.
1116 (grub_xnu_heap_size): Likewise.
1117 (grub_xnu_heap_malloc): Use relocators.
1118 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
1119
29eb90c6
VS
11202009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
1123 anything.
1124
31027430
CPE
11252009-12-13 Carles Pina i Estany <carles@pina.cat>
1126
1127 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
1128 GRUB_ERR_NONE before calling grub_env_set.
1129
dc0c71d9
RM
11302009-12-12 Robert Millan <rmh@aybabtu.com>
1131
1132 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
1133 * genmk.rb (video): New variable.
1134 (CLEANFILES, VIDEOFILES): Add #{video}.
1135 (#{video}): New target rule.
1136 * genvideolist.sh: New file.
1137 * Makefile.in (pkglib_DATA): Add video.lst.
1138 (video.lst): New target rule.
1139 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
1140 `video.lst'.
1141 * util/grub.d/30_os-prober.in: Replace `vbe' with
1142 ${GRUB_VIDEO_BACKEND}.
1143
2a4bfcf0
RM
11442009-12-11 Robert Millan <rmh.grub@aybabtu.com>
1145
1146 * THANKS: Add David Miller.
1147
2a3aa4d5
RM
11482009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 libpciaccess support.
1151
1152 * Makefile.in (LIBPCIACCESS): New variable.
1153 (enable_grub_emu_pci): Likewise.
1154 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
1155 util/pci.c and commands/lspci.c.
1156 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
1157 * configure.ac (grub-emu-pci): New option.
1158 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
1159 (grub_pci_device_unmap_range): Likewise.
1160 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
1161 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
1162 (grub_pci_address_t) [!GRUB_UTIL]: New type.
1163 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
1164 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
1165 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
1166 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
1167 * include/grub/pciutils.h: New file.
1168 * util/pci.c: Likewise.
1169
0ad46fd7 11702009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
1171
1172 * util/misc.c: Don't include <errno.h> twice.
1173
0ad46fd7 11742009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
1175
1176 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
1177 name in an error message.
1178 (grub_biosdisk_rw): Likewise.
1179
2e59983c
VS
11802009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 Eliminate NTFS 4Gib barrier.
1183
1184 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
1185 (read_run_data): Likewise.
1186 (grub_ntfs_read_run_list): Likewise.
1187 (grub_ntfs_read_block): Likewise.
1188 (grub_ntfs_iterate_dir): Likewise.
1189 (read_mft): Likewise.
1190 (read_data): Likewise.
1191 Use COM_LOG_LEN.
1192 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
1193 to avoid 64-bit division
1194 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
1195 (grub_ntfs_rlst): Use grub_disk_addr_t.
1196
71ee178a
VS
11972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Eliminate grub-fstest 4Gib barrier.
1200
1201 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
1202 (read_file): Fix error reporting.
1203
2520d4b8
VS
12042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Eliminate hexdump 4Gib barrier.
1207
1208 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
1209 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
1210
e1f27065
VS
12112009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
1214 Fixes amarsh bug.
1215
1a0f7f45
RM
12162009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
1217
1218 Remove miscellaneous files in distclean target.
1219
1220 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
1221
c631d9fb
CW
12222009-12-09 Colin Watson <cjwatson@ubuntu.com>
1223
1224 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
1225 if they're already set. This resolves the conflict between my
1226 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
1227 fixing the --grub-probe option again.
1228 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
1229 change on 2009-10-06, so that we now once again source
1230 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1231
7c7b6106
RM
12322009-12-08 Robert Millan <rmh.grub@aybabtu.com>
1233
1234 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
1235 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
1236 `util/devicemap.c'.
1237
e3069ec1
CPE
12382009-12-08 Carles Pina i Estany <carles@pina.cat>
1239
1240 * include/grub/misc.h (grub_printf_): New declaration.
1241 * kern/misc.c (grub_printf_): New definition.
1242 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
1243 instead of `grub_printf' and `_'.
1244 * normal/menu_entry.c (store_completion): Likewise.
1245 (run): Likewise.
1246 (grub_menu_entry_run): Likewise.
1247 * normal/menu_text.c (grub_wait_after_message): Likewise.
1248 (notify_booting): Likewise.
1249 (notify_fallback): Likewise.
1250 (notify_execution_failure): Likewise.
1251
d6ceebf1
CW
12522009-12-07 Colin Watson <cjwatson@ubuntu.com>
1253
1254 * configure.ac: Check for vasprintf.
1255 * util/misc.c (asprintf): Move allocation from here ...
1256 (vasprintf): ... to here. New function.
1257 (xasprintf): New function.
1258 * include/grub/util/misc.h (vasprintf, xasprintf): Add
1259 prototypes.
1260 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1261 * util/grub-mkfont.c (write_font): Likewise.
1262 * util/grub-probe.c (probe): Likewise.
1263 * util/hostdisk.c (make_device_name): Likewise.
1264
de6daa8b
DM
12652009-12-06 David S. Miller <davem@sunset.davemloft.net>
1266
1267 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
1268 anything even prefixed with 'cdrom' as a cdrom.
1269
0ad46fd7 12702009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
1271
1272 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
1273 mount points.
1274
98d3dc02
CPE
12752009-12-05 Carles Pina i Estany <carles@pina.cat>
1276
1277 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
1278 grub_gettext_msg_list.
1279 (grub_gettext_gettranslation_from_position): Return const char *
1280 and not char *.
a2c1332b 1281 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
1282 returns from the list if existing there.
1283 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
1284 (grub_gettext_delete_list): Delete the list.
1285 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
1286 lang environment variable is changed.
1287 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
1288
b283f108
VS
12892009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 Rename kernel.mod to kernel.img.
1292
1293 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
1294 (kernel_mod_EXPORTS): Rename to ...
1295 (kernel_img_EXPORTS): ... this.
1296 (kernel_mod_SOURCES): Rename to ...
1297 (kernel_img_SOURCES): ... this.
1298 (kernel_mod_HEADERS): Rename to ...
1299 (kernel_img_HEADERS): ... this. All users updated.
1300 (kernel_mod_CFLAGS): Rename to ...
1301 (kernel_img_CFLAGS): ... this.
1302 (kernel_mod_ASFLAGS): Rename to ...
1303 (kernel_img_ASFLAGS): ... this.
1304 (kernel_mod_LDFLAGS): Rename to ...
1305 (kernel_img_LDFLAGS): ... this.
1306 * conf/x86_64-efi.rmk: Likewise.
1307 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
1308 (read_kernel_image): ... this. All users updated.
1309 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
1310
69055f8a
CPE
13112009-12-05 Carles Pina i Estany <carles@pina.cat>
1312
1313 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
1314 (print_spaces): New function.
1315 (grub_print_ucs4): New function.
1316 (getstringwidth): New function.
1317 (print_message_indented): New function.
1318 (print_message): Gettexttize strings using print_message_indented.
1319 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
1320 width.
1321 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 1322 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
1323 Gettextize.
1324 * normal/menu_entry.c (store_completion): Cleanup the gettextized
1325 string.
1326 (run): Likewise.
1327 (grub_menu_entry_run): Likewise.
1328 * PO/POTFILES: Add normal/menu_entry.c.
1329
f616f51c
VS
13302009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
1333
57bbe3be
CPE
13342009-12-05 Carles Pina i Estany <carles@pina.cat>
1335
1336 * util/grub-install.in: Install gettext .mo files.
1337 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
1338
013d67a1
CPE
13392009-12-05 Carles Pina i Estany <carles@pina.cat>
1340
1341 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
1342 grub_dprintf.
1343
fb954db0
RM
13442009-12-05 Robert Millan <rmh.grub@aybabtu.com>
1345
1346 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
1347 non-firmware-dependant one in realmode.S takes precedence.
1348
6b8474f8
RM
13492009-12-04 Robert Millan <rmh.grub@aybabtu.com>
1350
1351 * commands/halt.c: Replace misc arch-specific headers with
1352 `<grub/misc.h>'.
1353 * commands/reboot.c: Likewise.
1354 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
1355 `<grub/misc.h>'.
1356 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
1357 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
1358 (kernel_img_SOURCES): ... to here.
1359
1360 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
1361 * include/grub/i386/pc/init.h: Likewise.
1362 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1363 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1364
1365 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1366
1367 * include/grub/i386/halt.h: Remove.
1368 * include/grub/i386/reboot.h: Likewise.
1369
1370 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1371
4b2e6ca2
DM
13722009-12-03 David S. Miller <davem@sunset.davemloft.net>
1373
1374 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1375 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1376 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1377 "progname.h"
1378 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1379 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1380 (usage): Add missing comma in printf.
1381
5239348f
RM
13822009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1383
1384 Use the same reboot approach on i386 coreboot and qemu as we do on
1385 BIOS.
1386
1387 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1388 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1389 * kern/i386/reboot.c: Remove.
1390 * include/grub/i386/reboot.h (grub_reboot): Export function.
1391 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1392 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1393 0xf000:0xfff0 instead of 0xffff:0x0000.
1394 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1395 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1396
ef34cbd4
RM
13972009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1398
1399 Fix $srcdir != $objdir build.
1400
1401 * Makefile.in (po/%.po): Rewrite as ...
1402 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1403
dc9837ea
ST
14042009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1405
1406 Fix GNU/Hurd grub-install crash.
1407 * util/grub-probe.c (probe): Try to access `path' only when it is not
1408 NULL.
1409
2f857f98
VS
14102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 Correct module naming.
1413
1414 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1415 (GRUB_MOD_INIT(efi_uga)): ... to this
1416 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1417 (GRUB_MOD_FINI(efi_uga)): ... to this
1418 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1419 (GRUB_MOD_INIT(efi_gop)): ... to this
1420 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1421 (GRUB_MOD_FINI(efi_gop)): ... to this
1422
c5448046
RM
14232009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1424
1425 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
1426 translatable.
1427 (usage): Translate `arg' strings using gettext().
1428 Thanks to Jordi Mallach for the suggestion.
1429
c85184ad
VS
14302009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 GOP support. Based on patch from Bean
1433 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1434
1435 * video/efi_gop.c: New file.
1436 * include/grub/efi/graphics_output.h: Likewise.
1437 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
1438 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1439 variables.
1440 * conf/x86_64-efi.rmk: Likewise.
1441
8a4c48d8
VS
14422009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 Rename efi_fb to efi_uga.
1445
1446 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1447 'efi_uga.mod'.
1448 (efi_fb_mod_SOURCES): Rename this ...
1449 (efi_uga_mod_SOURCES): ... to this.
1450 (efi_fb_mod_CFLAGS): Rename this ...
1451 (efi_uga_mod_CFLAGS): ... to this.
1452 (efi_fb_mod_LDFLAGS): Rename this ...
1453 (efi_uga_mod_LDFLAGS): ... to this.
1454 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1455 'efi_uga.mod'.
1456 (efi_fb_mod_SOURCES): Rename this ...
1457 (efi_uga_mod_SOURCES): ... to this.
1458 (efi_fb_mod_CFLAGS): Rename this ...
1459 (efi_uga_mod_CFLAGS): ... to this.
1460 (efi_fb_mod_LDFLAGS): Rename this ...
1461 (efi_uga_mod_LDFLAGS): ... to this.
1462 * video/efi_fb.c: Move this ...
1463 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
1464
fb6c1a7b
RM
14652009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1466
1467 * po/README: New file. Explain our PO file workflow.
1468
3bc7896c
RM
14692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1470
1471 * po/ChangeLog: Remove. Move relevant entries back to ...
1472 * ChangeLog: ... here.
1473 * po/ca.po: Remove (now handled by TLP).
1474 * po/id.po: Likewise.
1475 * po/zh_CN.po: Likewise.
1476 * Makefile.in (LINGUAS): Initialize in a way that supports
1477 empty set.
1478
9ed4841d
RM
14792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1480
1481 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
1482 reliing on po/LINGUAS.
1483 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
1484 (po/%.po): ... this.
1485
0ad46fd7 14862009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
1487
1488 * util/i386/efi/grub-mkimage.c: Include "progname.h".
1489 (main): Use `program_name' instead of nonexistent `progname'.
1490
e30dd392
FZ
14912009-11-26 Felix Zielcke <fzielcke@z-51.de>
1492
1493 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1494 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
1495
7656de4f
RM
14962009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1497
1498 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
1499 commit.
1500 * conf/i386-efi.rmk: Likewise.
1501 * conf/i386-ieee1275.rmk: Likewise.
1502 * conf/powerpc-ieee1275.rmk: Likewise.
1503 * conf/sparc64-ieee1275.rmk: Likewise.
1504 * conf/x86_64-efi.rmk: Likewise.
1505
db77c4d4
FZ
15062009-11-26 Felix Zielcke <fzielcke@z-51.de>
1507
1508 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
1509
a755bb04
FZ
15102009-11-26 Felix Zielcke <fzielcke@z-51.de>
1511
1512 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
1513
8a4c07fd
RM
15142009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1515
1516 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
1517 (grub_mkdevicemap_SOURCES): New variable.
1518 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
1519 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
1520 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
1521 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
1522 (grub_mkdevicemap_SOURCES): Remove.
1523 * conf/i386-efi.rmk: Likewise.
1524 * conf/i386-ieee1275.rmk: Likewise.
1525 * conf/i386-pc.rmk: Likewise.
1526 * conf/powerpc-ieee1275.rmk: Likewise.
1527 * conf/sparc64-ieee1275.rmk: Likewise.
1528 * conf/x86_64-efi.rmk: Likewise.
1529 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
1530 (usage): Fix strings to use `program_name'.
1531 (main): Initialize gettext.
1532 * util/grub-editenv.c: Likewise.
1533 * util/grub-emu.c: Likewise.
1534 * util/grub-fstest.c: Likewise.
1535 * util/grub-mkdevicemap.c: Likewise.
1536 * util/grub-mkfont.c: Likewise.
1537 * util/grub-mkrelpath.c: Likewise.
1538 * util/grub-pe2elf.c: Likewise.
1539 * util/grub-probe.c: Likewise.
1540 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1541 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1542 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1543
1544 * util/misc.c: Include `"progname.h"'.
1545 (progname): Remove variable.
1546 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
1547
6f61ed55
FZ
15482009-11-25 Felix Zielcke <fzielcke@z-51.de>
1549
1550 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
1551 printf and print a newline after the menuentry header line.
1552 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1553
f022876b
FZ
15542009-11-25 Felix Zielcke <fzielcke@z-51.de>
1555
1556 autoconf >= 2.60 support $(localedir).
1557
1558 * INSTALL: Note that autoconf 2.60 is required.
1559 * configure.ac (AC_PREREQ): Bump to 2.60.
1560 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
1561 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1562
6717926e
YB
15632009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
1564
1565 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
1566 aclocal is run.
1567
08806a54
RM
15682009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1569
1570 * normal/main.c (grub_normal_read_line): Fix off-by-one
1571 buffer overflow.
1572
13b33fba
RM
15732009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1574
1575 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
1576 "parser.grub" in grub_command_execute() call.
1577
4a8572e9
CPE
15782009-11-24 Carles Pina i Estany <carles@pina.cat>
1579
1580 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
1581 * conf/i386-efi.rmk: Likewise.
1582 * conf/i386-ieee1275.rmk: Likewise.
1583 * conf/i386-pc.rmk: Likewise.
1584 * conf/powerpc-ieee1275.rmk: Likewise.
1585 * conf/sparc64-ieee1275.rmk: Likewise.
1586 * conf/x86_64-efi.rmk: Likewise.
1587 * gettext/gettex.c: Include <grub/i18n.h>.
1588 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
1589 here ...
1590 * include/grub/i18n.h: ... to here
1591 * include/grub/i18n.h: ... to here.
1592 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 1593 (grub_gettext_dummy): Move above user.
4a8572e9 1594
bee48093
FZ
15952009-11-24 Felix Zielcke <fzielcke@z-51.de>
1596
1597 * util/Makefile.in (install-local): Convert a `for' into a normal
1598 shell expansion.
1599
a031e91c
RM
16002009-11-24 Robert Millan <rmh.grub@aybabtu.com>
1601
1602 * autogen.sh: Add automake call.
1603 * config.guess: Remove.
1604 * config.sub: Likewise.
1605 * install-sh: Likewise.
1606
26bec39d
FZ
16072009-11-24 Felix Zielcke <fzielcke@z-51.de>
1608
1609 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
1610
8e2532fd
FZ
16112009-11-24 Felix Zielcke <fzielcke@z-51.de>
1612
1613 * util/Makefile.in (install-local): Convert a make `$(foreach)'
1614 function to a normal shell `for'.
1615
fefa1b7d
FZ
16162009-11-24 Felix Zielcke <fzielcke@z-51.de>
1617
1618 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1619
4501250b
FZ
16202009-11-24 Felix Zielcke <fzielcke@z-51.de>
1621
1622 * util/grub-mkrelpath.c: New file.
1623 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
1624 (grub_mkrelpath_SOURCES): New variable.
1625 * include/grub/util/misc.h: New function prototype.
1626 * util/misc.c (make_system_path_relative_to_its_root): New function.
1627
1628 * util/grub-mkconfig_lib.in (bindir): New variable.
1629 (grub_mkrelpath): Likewise.
1630 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
1631
1632 * util/probe.c (probe): Make the file path relative to its root.
1633 Change a info message to use the GRUB path. Enable again the
1634 check if we can read the file with GRUB facilities.
1635
1636 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
1637 to its root.
1638
11d9778b
FZ
16392009-11-24 Felix Zielcke <fzielcke@z-51.de>
1640
1641 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
1642 platform.
1643
4465287d
FZ
16442009-11-24 Felix Zielcke <fzielcke@z-51.de>
1645
1646 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
1647 strncmp().
1648
62b47f22
FZ
16492009-11-24 Felix Zielcke <fzielcke@z-51.de>
1650
1651 * util/getroot.c (grub_util_is_dmraid): New function.
1652 (grub_util_get_dev_abstraction): Treat dmraid and multipath
1653 devices as normal ones, not as LVM.
1654
1eafb9b9 16552009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
1656
1657 * conf/common.rmk: Add grub-gettext_lib target and updates
1658 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
1659 LDFLAGS.
1660 * gettext/gettext.c: New file. (Reads mo files).
1661 * include/grub/file.h (grub_file_pread): New prototype.
1662 * include/grub/i18n.h (_): New prototype.
1663 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
1664 prototypes.
1665 * kern/misc.c (grub_gettext_dummy): New function.
1666 * normal/menu_text.c: Include <grub/i18n.h>.
1667 * normal/menu_text.c (print_timeout): Gettexttize string.
1668 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
1669 * po/POTFILES: Add `normal/menu_text.c'.
1670 * po/ca.po: Add new translations.
c3ea6bd4
CPE
1671 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
1672 gettext module and defines locale_dir and lang in grub.cfg.
1673 * NEWS: Add gettext support.
1674
0fdb2568
RM
16752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1676
1677 * util/hostdisk.c: Include `<grub/i18n.h>'.
1678 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
1679 (make_device_name): Rewrite using asprintf.
1680 (convert_system_partition_to_system_disk): Replace 0 with NULL.
1681 (find_system_device): If a device is not found, generate one just
1682 by reusing the OS path name.
1683 (read_device_map): Make it permissible for device.map not to exist.
1684
f515aa62
RM
16852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1686
1687 * script/sh/execute.c: Move from here ...
1688 * script/execute.c: ... to here. Update all users.
1689 * script/sh/function.c: Move from here ...
1690 * script/function.c: ... to here. Update all users.
1691 * script/sh/lexer.c: Move from here ...
1692 * script/lexer.c: ... to here. Update all users.
1693 * script/sh/main.c: Move from here ...
1694 * script/main.c: ... to here. Update all users.
1695 * script/sh/parser.y: Move from here ...
1696 * script/parser.y: ... to here. Update all users.
1697 * script/sh/script.c: Move from here ...
1698 * script/script.c: ... to here. Update all users.
1699
f84b481b
RM
17002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1701
1702 * configure.ac: Detect all `emu' platforms. Define
1703 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
1704 --enable-grub-emu logic. Disable include/grub/machine
1705 symlink on `emu' platforms.
1706
1707 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
1708 * gensymlist.sh.in: Likewise.
1709
1710 * include/grub/i386/coreboot/machine.h: Remove file.
1711 * include/grub/i386/efi/machine.h: Likewise.
1712 * include/grub/i386/ieee1275/machine.h: Likewise.
1713 * include/grub/i386/pc/machine.h: Likewise.
1714 * include/grub/i386/qemu/machine.h: Likewise.
1715 * include/grub/powerpc/ieee1275/machine.h: Likewise.
1716 * include/grub/sparc64/ieee1275/machine.h: Likewise.
1717 * include/grub/x86_64/efi/machine.h: Likewise.
1718
1719 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
1720 * commands/halt.c: Likewise.
1721 * commands/reboot.c: Likewise.
1722 * include/grub/autoefi.h: Likewise.
1723 * include/grub/i386/at_keyboard.h: Likewise.
1724 * include/grub/i386/kernel.h: Likewise.
1725 * include/grub/i386/loader.h: Likewise.
1726 * include/grub/i386/pc/memory.h: Likewise.
1727 * kern/dl.c: Likewise.
1728 * kern/i386/coreboot/init.c: Likewise.
1729 * loader/i386/bsd.c: Likewise.
1730 * loader/i386/linux.c: Likewise.
1731 * loader/multiboot_loader.c: Likewise.
1732 * term/i386/pc/serial.c: Likewise.
1733 * term/usb_keyboard.c: Likewise.
1734
1735 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
1736 `<grub/machine/machine.h>'
1737 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
1738 * util/misc.c: Remove `<grub/machine/machine.h>' and
1739 `<grub/machine/time.h>'.
1740
1741 * Makefile.in (enable_grub_emu): Remove variable.
1742 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
1743
1744 * conf/any-emu.rmk: New file.
1745 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
1746 (grub_emu_init.c): Move from here ...
1747 * conf/any-emu.rmk: ... to here.
1748
1749 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
1750 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
1751 * conf/any-emu.rmk: ... to here.
1752
4efeab03
RM
17532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1754
1755 * include/grub/parser.h (grub_parser_register): Document need
1756 of `name' parameter.
1757 * normal/main.c (grub_normal_read_line): Simplify prompt string.
1758 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
1759 "sh" to "grub".
1760
ea1dd8bf
RM
17612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1762
1763 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
1764 `$(XGETTEXT)'.
1765 * include/grub/i18n.h (N_): New macro.
1766 * util/mkisofs/mkisofs.h: Likewise.
1767 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
1768 around N_().
1769 (usage): Use gettext() to translate help strings when printing them.
1770
0c140626
RM
17712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1772
1773 Based on patch from Bean
1774 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1775
1776 * video/efi_fb.c: New file.
1777 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
1778 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1779 variables.
1780 * conf/x86_64-efi.rmk: Likewise.
1781
87d58298
RM
17822009-11-22 Robert Millan <rmh.grub@aybabtu.com>
1783
1784 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
1785 * util/i386/pc/grub-setup.c: Likewise.
1786
994cc3a3
ST
17872009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1788
1789 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
1790 <hurd/fs.h>
1791 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
1792 file_get_storage_info to implement grub_guess_root_device.
1793
26a61d6a
FZ
17942009-11-21 Felix Zielcke <fzielcke@z-51.de>
1795
1796 * Makefile.in (target): Use make's builtin $(shell) function
1797 instead of calling directly $(SHELL) to create the locale directories,
1798 inside the $(foreach) function.
1799
74ff1dd5
FZ
18002009-11-21 Felix Zielcke <fzielcke@z-51.de>
1801
1802 * util/grub-mkrescue.in: Print an error and usage if output option
1803 has not been given.
1804
0b787d0e
FZ
18052009-11-21 Felix Zielcke <fzielcke@z-51.de>
1806
1807 Patch from Loïc Minier <loic.minier@ubuntu.com>.
1808 * util/grub.d/30_os-prober.in: Cope with Linux entries where
1809 root and /boot are on different devices.
1810
1164b270
RM
18112009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1812
1813 Fix build for srcdir != objdir.
1814
1815 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
1816 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
1817 $(srcdir).
1818 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
1819 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
1820 reference for input.
1821
13774a2f
RM
18222009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1823
1824 * util/grub-mkrescue.in: Use source directory direcly (without copiing
1825 or hardlinking it). Remove -J option, Joliet is not compatible with
1826 multiple source directories.
1827
efda854e
RM
18282009-11-21 Carles Pina i Estany <carles@pina.cat>
18292009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1830
1831 * util/grub-mkrescue.in: Recognize `--override-directory' option.
1832 (process_input_dir): New function. Process an arbitrary input
1833 directory.
1834 Misc adjustments to support both "override mode" and system-wide mode.
1835
6c09890c
FZ
18362009-11-20 Felix Zielcke <fzielcke@z-51.de>
1837
1838 * configure.ac (UNIFONT_BDF): Rename to ...
1839 (FONT_SOURCE): ... this. Update all users.
1840
a797824f
FZ
18412009-11-20 Felix Zielcke <fzielcke@z-51.de>
1842
1843 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
1844 to the list of unifont files to look for.
1845
cd4f42b0
RM
18462009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1847
1848 Patch from Joe Auricchio <jauricchio@gmail.com>
1849 * commands/minicmd.c (grub_mini_cmd_clear): New function.
1850 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
1851 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
1852
393c783d
FZ
18532009-11-19 Felix Zielcke <fzielcke@z-51.de>
1854
1855 * Makefile.in (install-local): Add a missing backslash.
1856
b2f1e327
FZ
18572009-11-19 Felix Zielcke <fzielcke@z-51.de>
1858
1859 * include/grub/x86_64/io.h: New file.
1860
f577f7a0
RM
18612009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1862
1863 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
1864 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
1865 Include `"progname.h"'.
1866 (main): Initialize gettext.
1867 * util/i386/pc/grub-setup.c: Gettexttize.
1868 * util/i386/pc/grub-mkimage.c: Likewise.
1869
1870 * Makefile.in (po/*.po): Redefine as ...
1871 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
1872
3bc7896c
RM
1873 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
1874
c37943b6
RM
18752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1876
1877 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
1878 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
1879 (program_name): Remove.
1880 (main): Initialize gettext support.
6323f705
RM
1881 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
1882 Include `<libintl.h>'.
1883 (_): New macro.
c37943b6
RM
1884
1885 * util/mkisofs/eltorito.c: Gettexttize.
1886 * util/mkisofs/joliet.c: Likewise.
1887 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
1888 * util/mkisofs/multi.c: Likewise.
1889 * util/mkisofs/rock.c: Likewise.
1890 * util/mkisofs/tree.c: Likewise.
1891 * util/mkisofs/write.c: Likewise.
1892
3bc7896c
RM
1893 * po/POTFILES: Update with new files.
1894
5ce77c6e
RM
18952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1896
1897 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
1898 * util/mkisofs/iso9660.h: Likewise.
1899 * util/mkisofs/joliet.c: Likewise.
1900 * util/mkisofs/mkisofs.c: Likewise.
1901 * util/mkisofs/mkisofs.h: Likewise.
1902 * util/mkisofs/rock.c: Likewise.
1903 * util/mkisofs/tree.c: Likewise.
1904 * util/mkisofs/write.c: Likewise.
1905
1906 * util/mkisofs/eltorito.c (rcsid): Remove.
1907 * util/mkisofs/hash.c: Likewise.
1908 * util/mkisofs/joliet.c: Likewise.
1909 * util/mkisofs/name.c: Likewise.
1910 * util/mkisofs/rock.c: Likewise.
1911 * util/mkisofs/tree.c: Likewise.
1912 * util/mkisofs/write.c: Likewise.
1913
1dabbc77
RM
19142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1915
1916 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
1917 instead of static allocation.
1918 * util/mkisofs/match.h: Likewise.
1919
633877cb
RM
19202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1921
3bc7896c
RM
1922 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
1923 and `util/grub.d/10_linux.in'.
633877cb
RM
1924 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
1925 translatable Shell files.
1926
af1c0c85
RM
19272009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1928
1929 * Makefile.in ($(srcdir)/aclocal.m4): New target.
1930
769ae37b
RM
19312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1932
1933 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 1934 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
1935 * util/grub.d/10_kfreebsd.in (bindir): New variable.
1936 Add gettext initialization.
1937 (kfreebsd_entry): Make menuentry output translatable.
1938
19392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1940
1941 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
1942 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
1943 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
1944 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
1945 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 1946 * po/LINGUAS: New file.
769ae37b
RM
1947
19482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1949
1950 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
1951 other things).
1952 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
1953 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
1954 bindtextdomain() calls for gettext initialization.
1955
19562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1957
1958 * gnulib/progname.c: New file (imported from Gnulib).
1959 * gnulib/progname.h: Likewise.
1960 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1961 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
1962 (usage): Replace `progname' with `program_name'.
1963 (main): Use set_program_name() for program name initialization.
1964
19652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1966
1967 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
1968 from here ...
1969 * Makefile.in (CPPFLAGS): ... to here.
1970
19712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1972
1973 * aclocal.m4: Move from here ...
1974 * acinclude.m4: ... to here.
1975 * autogen.sh: Add call to `aclocal'.
1976 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
1977
19782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1979
1980 * Makefile.in (CLEANFILES): Add `po/*.mo'.
1981 (LINGUAS): New variable.
1982 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
1983 (install-local): Install MO files.
1984 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
1985 * include/grub/i18n.h: New file.
3bc7896c
RM
1986 * po/POTFILES: New file.
1987 * po/ca.po: New file.
769ae37b
RM
1988 * util/grub.d/10_linux.in (bindir): New variable.
1989 Add gettext initialization.
1990 (linux_entry): Make menuentry output translatable.
1991 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
1992 (usage): Make --help output translatable.
1993 (main): Initialize gettext.
1994
02c0a6ad
RM
19952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1996
1997 * import_gcry.py: New file (written by Vladimir with minor
1998 adjustments).
1999 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
2000 ciphers.
2001 * INSTALL: Document that Python is required for bootstrap.
2002
20032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
2004
2005 Import ciphers from libgcrypt 1.4.4.
2006
2007 * lib/libgcrypt/cipher/ChangeLog
2008 * lib/libgcrypt/cipher/ac.c
2009 * lib/libgcrypt/cipher/arcfour.c
2010 * lib/libgcrypt/cipher/bithelp.h
2011 * lib/libgcrypt/cipher/blowfish.c
2012 * lib/libgcrypt/cipher/camellia-glue.c
2013 * lib/libgcrypt/cipher/camellia.c
2014 * lib/libgcrypt/cipher/camellia.h
2015 * lib/libgcrypt/cipher/cast5.c
2016 * lib/libgcrypt/cipher/cipher.c
2017 * lib/libgcrypt/cipher/crc.c
2018 * lib/libgcrypt/cipher/des.c
2019 * lib/libgcrypt/cipher/dsa.c
2020 * lib/libgcrypt/cipher/ecc.c
2021 * lib/libgcrypt/cipher/elgamal.c
2022 * lib/libgcrypt/cipher/hash-common.c
2023 * lib/libgcrypt/cipher/hash-common.h
2024 * lib/libgcrypt/cipher/hmac-tests.c
2025 * lib/libgcrypt/cipher/md.c
2026 * lib/libgcrypt/cipher/md4.c
2027 * lib/libgcrypt/cipher/md5.c
2028 * lib/libgcrypt/cipher/primegen.c
2029 * lib/libgcrypt/cipher/pubkey.c
2030 * lib/libgcrypt/cipher/rfc2268.c
2031 * lib/libgcrypt/cipher/rijndael-tables.h
2032 * lib/libgcrypt/cipher/rijndael.c
2033 * lib/libgcrypt/cipher/rmd.h
2034 * lib/libgcrypt/cipher/rmd160.c
2035 * lib/libgcrypt/cipher/rsa.c
2036 * lib/libgcrypt/cipher/seed.c
2037 * lib/libgcrypt/cipher/serpent.c
2038 * lib/libgcrypt/cipher/sha1.c
2039 * lib/libgcrypt/cipher/sha256.c
2040 * lib/libgcrypt/cipher/sha512.c
2041 * lib/libgcrypt/cipher/tiger.c
2042 * lib/libgcrypt/cipher/twofish.c
2043 * lib/libgcrypt/cipher/whirlpool.c
2044
af2f93ac
RM
20452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2046
2047 Fix build for systems without error().
2048
2049 * gnulib/error.c: New file (imported from Gnulib).
2050 * gnulib/error.h: Likewise.
2051 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
2052 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
2053 (this variable is now used by error()).
2054
73fb3dd5
FZ
20552009-11-16 Felix Zielcke <fzielcke@z-51.de>
2056
814f5e96
FZ
2057 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
2058 instead of relying that char is signed.
73fb3dd5 2059
a691ca33
VS
20602009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
2063 blocksize different from specified.
2064 (grub_pxefs_read): Likewise.
2065
2af8f0f4
FZ
20662009-11-16 Felix Zielcke <fzielcke@z-51.de>
2067
2068 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
2069
2070 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
2071 (grub_ata_readwrite): Likewise. Update 2 format strings.
2072 (grub_atapi_read): Likewise.
2073
2074 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
2075 * conf/i386.rmk (pkglib_MODULES): ... to here ...
2076 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
2077 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
2078 (ata_mod_LDFLAGS): Move from here ...
2079 * conf/i386.rmk: ... to here ...
2080 * conf/x86_64-efi.rmk: ... and here.
2081 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
2082 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
2083
83bdecaf
RM
20842009-11-16 Robert Millan <rmh.grub@aybabtu.com>
2085
2086 Relicense multiboot.h, with RMS' blessing.
2087
2088 * include/multiboot.h: Change to X11 license.
2089
fd6fd3d7
RM
20902009-11-15 Robert Millan <rmh.grub@aybabtu.com>
2091
2092 Support --version in grub-mkisofs.
2093
2094 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
2095 (OPTION_VERSION): New macro.
2096 (ld_options): Recognize --version.
2097 (usage): Move `program_name' from here ...
2098 (program_name): ... to here. Add `static' qualifier.
2099 (main): Recognize `OPTION_VERSION'.
2100
16a88c49
FZ
21012009-11-15 Felix Zielcke <fzielcke@z-51.de>
2102
2103 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
2104 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
2105
a4158476
RM
21062009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2107
2108 Fix help2man generation for mkisofs.
2109
2110 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
2111 (usage): Send output to stdout (rather than stderr).
2112
fc2208b0
RM
21132009-11-14 Robert Millan <rmh.grub@aybabtu.com>
2114
2115 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
2116 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2117 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
2118 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
2119 (bin_SCRIPTS): Add `grub-mkfloppy'.
2120 (grub_mkfloppy_SOURCES): New variable.
2121
2122 * util/grub-mkrescue.in: New file.
2123 * util/i386/pc/grub-mkfloppy.in: New file.
2124
2125 * util/i386/coreboot/grub-mkrescue.in: Remove.
2126 * util/i386/pc/grub-mkrescue.in: Remove.
2127
8d0edf4a
RM
21282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2129
2130 * include/grub/multiboot.h (struct grub_multiboot_header): Move
2131 from here ...
2132 * include/multiboot.h (struct multiboot_header): ... to here. Update
2133 all users.
2134 * include/grub/multiboot.h (struct grub_multiboot_info): Move
2135 from here ...
2136 * include/multiboot.h (struct multiboot_info): ... to here. Update
2137 all users.
2138 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
2139 from here ...
2140 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
2141 Update all users.
2142 * include/grub/multiboot.h (struct grub_mod_list): Move
2143 from here ...
2144 * include/multiboot.h (struct multiboot_mod_list): ... to here.
2145 Update all users.
2146
a73f5969
RM
21472009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2148
2149 * include/multiboot2.h (multiboot_word): Rename from this ...
2150 (multiboot2_word): ... to this. Update all users.
2151 (multiboot_header): Rename from this ...
2152 (multiboot2_header): ... to this. Update all users.
2153 (multiboot_tag_header): Rename from this ...
2154 (multiboot2_tag_header): ... to this. Update all users.
2155 (multiboot_tag_start): Rename from this ...
2156 (multiboot2_tag_start): ... to this. Update all users.
2157 (multiboot_tag_name): Rename from this ...
2158 (multiboot2_tag_name): ... to this. Update all users.
2159 (multiboot_tag_module): Rename from this ...
2160 (multiboot2_tag_module): ... to this. Update all users.
2161 (multiboot_tag_memory): Rename from this ...
2162 (multiboot2_tag_memory): ... to this. Update all users.
2163 (multiboot_tag_unused): Rename from this ...
2164 (multiboot2_tag_unused): ... to this. Update all users.
2165 (multiboot_tag_end): Rename from this ...
2166 (multiboot2_tag_end): ... to this. Update all users.
2167
1c8927f0
RM
21682009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2169
2170 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
2171 this platform we should support Multiboot1 first.
2172
2173 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2174 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
2175 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
2176
6e1e0d89
RM
21772009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2178
2179 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
2180 of write calls (converting them to fwrite() if they aren't already).
2181 (get_torito_desc): Likewise.
2182 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
2183
7f2b34d8
RM
21842009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2185
2186 * util/i386/pc/grub-install.in: Move from here ...
2187 * util/grub-install.in: ... to here. Update all users.
2188
c0ef3311
CW
21892009-11-11 Colin Watson <cjwatson@ubuntu.com>
2190
2191 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
2192
e1f240ff
RM
21932009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2194
2195 Support for El Torito without floppy emulation.
2196
2197 * util/mkisofs/eltorito.c: Include `<errno.h>'.
2198 (init_boot_catalog): Improve error handling.
2199 (get_torito_desc): Don't use floppy emulation unless requested by
2200 user. Patch boot information table when requested via
2201 `-boot-info-table'.
2202 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
2203 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
2204 (use_boot_info_table): New variables.
2205 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
2206 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
2207 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
2208 `--eltorito-emul-floppy'.
2209 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
2210 and `OPTION_ELTORITO_EMUL_FLOPPY'.
2211 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
2212 (use_boot_info_table, get_731): New prototypes.
2213 * util/mkisofs/write.c (get_731): New function.
2214
af7d4de5
FZ
22152009-11-11 Felix Zielcke <fzielcke@z-51.de>
2216
2217 Fix the generation of the man page.
2218
2219 * util/pc/i386/grub-install.in: Source
2220 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2221
2c55dbc0
RM
22222009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2223
2224 Large file support for grub-mkisofs.
2225
2226 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
2227 * util/mkisofs/mkisofs.c (next_extent, last_extent)
2228 (session_start): Upgrade type to `uint64_t'. Update all users.
2229 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
2230 (struct directory_entry): Upgrade type of `starting_block' and
2231 `size' to `uint64_t'. Update all users.
2232 (struct deferred): Remove unused structure.
2233 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
2234 Update all users.
2235 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
2236 file is larger than `UINT32_MAX'.
2237 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
2238 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
2239 return value.
2240 (struct deferred_write): Upgrade type of `extent' and `size' to
2241 `uint64_t'. Update all users.
2242 (last_extent_written): Upgrade type to `uint64_t'. Update all
2243 users.
2244 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
2245 Update all users. Upgrade type of `remain' to `int64_t' and
2246 `use' to `size_t'. Use error() to handle fread() errors.
2247 (write_files): Rely on write_one_file() rather than calling
2248 xfwrite() directly.
2249
6a9cead5
FZ
22502009-11-09 Felix Zielcke <fzielcke@z-51.de>
2251
2252 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
2253
4825d790
RM
22542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2255
2256 * util/mkisofs/fnmatch.c: Remove.
2257 * util/mkisofs/getopt1.c: Likewise.
2258 * util/mkisofs/getopt.c: Likewise.
2259 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
2260 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
2261 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
2262 `gnulib/getopt1.c' and `gnulib/getopt.c'.
2263 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
2264
2265 * configure.ac: Detect `mingw32msvc' host_os.
2266 Check for lstat(), getuid() and getgid().
2267
2268 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
2269 instances of `u_char' with `uint8_t'.
2270
2271 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
2272 [!HAVE_GETUID] (getuid): New function (stub).
2273 [!HAVE_GETGID] (getgid): Likewise.
2274 [!HAVE_LSTAT] (lstat): Likewise.
2275 [!S_IROTH] (S_IROTH): New macro (dummy).
2276 [!S_IRGRP] (S_IRGRP): Likewise.
2277
84b860d8
RM
22782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2279
2280 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
2281 conditional expression).
2282
66e9b712
RM
22832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2284
2285 Import from Gnulib.
2286
2287 * gnulib/fnmatch.c: New file.
2288 * gnulib/fnmatch.h: Likewise.
2289 * gnulib/fnmatch_loop.c: Likewise.
2290 * gnulib/getopt.c: Likewise.
2291 * gnulib/getopt.h: Likewise.
2292 * gnulib/getopt1.c: Likewise.
2293 * gnulib/getopt_int.h: Likewise.
2294 * gnulib/gettext.h: Likewise.
2295
34f4a5b0
RM
22962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2297
2298 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
2299 * normal/handler.c (read_handler_list): Likewise.
2300
ac451143
RM
23012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2302
2303 Misc cleanup.
2304
2305 * kern/command.c (grub_register_command_prio): Use
2306 grub_zalloc() instead of explicitly zeroing data.
2307 * kern/list.c: Include `<grub/mm.h>'.
2308 (grub_named_list_find): Replace `0' with `NULL'.
2309 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
2310 (fs_module_list): Change type to `grub_named_list_t'. Update all
2311 users.
2312 * normal/dyncmd.c (read_command_list): Add space between function
2313 call and parenthesis.
2314 * normal/handler.c (read_handler_list): Likewise.
2315
4089b167
RM
23162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2317
2318 * normal/auth.c (punishment_delay): Moved from here ...
2319 (grub_auth_strcmp): ... to here (inside function).
2320
325f5037
RM
23212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2322
2323 * include/grub/list.h (struct grub_named_list): Remove `const'
2324 qualifier from `name'.
2325 (struct grub_prio_list): Likewise.
2326
7aea29a3
RM
23272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2328
2329 * normal/auth.c: Include `<grub/time.h>'.
2330 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2331
3fd6f044
RM
23322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2333
2334 * normal/auth.c (punishment_delay): New variable.
2335 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
2336 (grub_auth_check_authentication): Punish failed login attempts with
2337 an incremental (2^N) delay.
2338
a4cd68e4
RM
23392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2340
2341 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
2342 path with $(srcdir).
2343
7ad12f43
VS
23442009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2347
c1129f03
RM
23482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2349
2350 * util/i386/coreboot/grub-mkrescue.in: New file.
2351 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
2352 variables.
2353
2354 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
2355 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
2356 * configure.ac: Add header and function checks to satisfy grub-mkisofs
2357 requirements.
2358 * util/mkisofs/defaults.h: New file.
2359 * util/mkisofs/eltorito.c: Likewise.
2360 * util/mkisofs/exclude.h: Likewise.
2361 * util/mkisofs/fnmatch.c: Likewise.
2362 * util/mkisofs/getopt.c: Likewise.
2363 * util/mkisofs/getopt1.c: Likewise.
2364 * util/mkisofs/hash.c: Likewise.
2365 * util/mkisofs/include/fctldefs.h: Likewise.
2366 * util/mkisofs/include/mconfig.h: Likewise.
2367 * util/mkisofs/include/prototyp.h: Likewise.
2368 * util/mkisofs/include/statdefs.h: Likewise.
2369 * util/mkisofs/iso9660.h: Likewise.
2370 * util/mkisofs/joliet.c: Likewise.
2371 * util/mkisofs/match.c: Likewise.
2372 * util/mkisofs/match.h: Likewise.
2373 * util/mkisofs/mkisofs.c: Likewise.
2374 * util/mkisofs/mkisofs.h: Likewise.
2375 * util/mkisofs/multi.c: Likewise.
2376 * util/mkisofs/name.c: Likewise.
2377 * util/mkisofs/rock.c: Likewise.
2378 * util/mkisofs/tree.c: Likewise.
2379 * util/mkisofs/write.c: Likewise.
2380
ec8bb77d
VS
23812009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2384 being insecure.
2385
3716b12c
RM
23862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2387
2388 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2389 `grub-mkimage' (and use $0 when possible).
2390
b97b7b91
RM
23912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2392
2393 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2394 error message for excessively large memory map.
2395
04114812
RM
23962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2397
2398 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2399 executable bit.
2400
e4eb2373
RM
24012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2402
2403 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2404 message for coreboot users.
2405
c926e1d5 24062009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2407
2408 Fix build with GNU gold.
2409
2410 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2411 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2412 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2413 link addresses.
2414 * aclocal.m4: Likewise.
2415
86e5b1db 24162009-11-04 Felix Zielcke <fzielcke@z-51.de>
2417
2418 * configure.ac (AC_PREREQ): Bump to 2.59d.
2419 * INSTALL: Make it more clear when Autoconf and Ruby are
2420 needed and when to run `./autogen.sh'.
2421
246cd78f 24222009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2423
2424 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
2425 OSes.
2426
4f9dfb37 24272009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2428
2429 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
2430
b82bd5e1 24312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2432
2433 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
2434 giving it to GNU Mach.
2435
ff1a9bca 24362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2437
2438 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
2439 GNU partition number to get internal GRUB partition number.
2440
61697d9c 24412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2442
2443 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
2444 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
2445
a50569e1 24462009-11-01 Robert Millan <rmh.grub@aybabtu.com>
2447
2448 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
2449 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
2450 case.
2451
5b153867 24522009-11-01 Felix Zielcke <fzielcke@z-51.de>
2453
2454 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
2455
d9e2cd70 24562009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2457
2458 Fix build problem.
2459
2460 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
2461 `-isystem=$(srcdir)/include'.
2462
805111a4 24632009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2464
2465 * util/i386/pc/grub-install.in: Remove hint that device.map should be
2466 checked (grub-install doesn't currently rely on it).
2467
fa6e945f 24682009-10-29 Robert Millan <rmh.grub@aybabtu.com>
2469
2470 Revert SVN r2660.
2471
2472 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
2473 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2474 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
2475 * conf/i386-ieee1275.rmk: Likewise.
2476 * conf/i386-pc.rmk: Likewise.
2477 * conf/powerpc-ieee1275.rmk: Likewise.
2478 * conf/sparc64-ieee1275.rmk: Likewise.
2479 * conf/x86_64-efi.rmk: Likewise.
2480
cee15086 24812009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2482
2483 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
2484
95b9239e 24852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2486
2487 * include/grub/misc.h: Stop checking for APPLE_CC.
2488
2ed19dfd 24892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2490
2491 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
2492 doesn't cause an infinite call loop.
2493
fdcdde19 24942009-10-28 Felix Zielcke <fzielcke@z-51.de>
2495
2496 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
2497 strings.
2498
cefabfe1 24992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2500
2501 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
2502 variable.
2503 * Makefile.in: Likewise.
2504
ed96ab6d 25052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2506
2507 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
2508
0579b753 25092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2510
2511 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
2512
478df409 25132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2514
2515 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
2516
083d1679 25172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2518
2519 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
2520 from here ...
2521 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
2522
5947ae32 25232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2524
2525 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
2526 in $(MAKEINFO) invocation. This makes it clear in output that
2527 errors are being ignored.
2528
94180ff6 25292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2530
2531 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
2532 from here ...
2533 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2534 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
2535 * conf/i386-ieee1275.rmk: Likewise.
2536 * conf/i386-pc.rmk: Likewise.
2537 * conf/powerpc-ieee1275.rmk: Likewise.
2538 * conf/sparc64-ieee1275.rmk: Likewise.
2539 * conf/x86_64-efi.rmk: Likewise.
2540
9031b03a 25412009-10-26 Colin Watson <cjwatson@ubuntu.com>
2542
2543 * util/grub-editenv.c (main): If only a command is given, use
2544 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
2545 (usage): FILENAME is now optional and has a default.
2546
e4f6809b 25472009-10-26 Colin Watson <cjwatson@ubuntu.com>
2548
2549 Improve grub-mkconfig performance when there are several menu
2550 entries on a single filesystem.
2551
2552 * util/grub.d/10_linux.in (linux_entry): Cache the output of
2553 prepare_grub_to_access_device.
2554 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2555 * util/grub.d/30_os-prober.in: Likewise.
2556
67937d4d 25572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2558
2559 * util/grub.d/10_freebsd.in: Remove.
2560 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
2561 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
2562
ee3756cc 25632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2564
5c35048e 2565 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 2566
4dea1c6f 25672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2568
2569 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
2570 grub_util_error() call.
2571
042484d7 25722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2573
2574 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
2575 `reserved_first_sector' member.
2576 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
2577 `reserved_first_sector' to 1.
2578 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
2579 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
2580 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
2581 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
2582 filesystems which begin at first sector.
2583 (options): New option --skip-fs-probe.
2584 (main): Handle --skip-fs-probe and pass it to setup().
2585
d64448a7 25862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2587
2588 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
2589 (memset): Fix function prototype.
2590
508d42ec 25912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25922009-10-25 Vasily Averin <vvs@parallels.com>
2593
2594 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
2595 `dirent.direntlen == 0'.
2596
b240e30c 25972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2598
2599 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
2600 `cpio'.
2601 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
2602
346e7fbe 26032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2604
2605 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
2606 `__trampoline_setup' and `__ucmpdi2'.
2607 * include/grub/powerpc/libgcc.h: Only export symbols for functions
2608 that libgcc provides.
2609
cdb308b0 26102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2611
2612 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
2613 * include/grub/sparc64/libgcc.h (memset): Likewise.
2614 * include/grub/misc.h (memset, memcmp): New function prototypes.
2615
fb26abc2 26162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2617
2618 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
2619 `cpio'.
2620 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
2621
f6693890 26222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2623
2624 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
2625 * docs/grub.cfg: Compensate for recent change in multiboot
2626 loader (since 2009-08-14 it won't pass filename to payload).
2627 * util/grub.d/10_hurd.in: Likewise.
2628
0933cdc0 26292009-10-21 Felix Zielcke <fzielcke@z-51.de>
2630
2631 * config.guess: Update to latest version from config git
2632 repository.
2633 * config.sub: Likewise.
2634
3b2fe8c2 26352009-10-20 Robert Millan <rmh.grub@aybabtu.com>
2636
2637 Fix build on sparc64.
2638
2639 * configure.ac: Perform checks for libgcc symbols before
2640 adding `-nostdlib' to LDFLAGS.
2641
46695a62 26422009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 Let user specify OpenBSD root device.
2645
2646 * loader/i386/bsd.c (openbsd_root): New variable.
2647 (openbsd_opts): New option 'root'.
2648 (OPENBSD_ROOT_ARG): New macro.
2649 (grub_openbsd_boot): Use 'openbsd_root'.
2650 (grub_cmd_openbsd): Fill 'openbsd_root'.
2651
d2b6b7fc 26522009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2653
2654 * NEWS: Misc adjustments.
2655
421bd7ac 26562009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
2659
f1d29d87 26602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2661
2662 * configure.ac: Bump version to 1.97.
2663
6f3cd880 26642009-10-16 Colin Watson <cjwatson@ubuntu.com>
2665
2666 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
2667 -mno-3dnow on x86 architectures. Some toolchains enable these
2668 features by default, but they rely on registers that aren't enabled
2669 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
2670
035f7122 26712009-10-15 Robert Millan <rmh.grub@aybabtu.com>
2672
2673 Make entry text a bit more readable.
2674
2675 * util/grub.d/10_linux.in: Add `with' before `Linux'.
2676
44998e58 26772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
2680
cd2851b3 26812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
2684 operations.
2685
c6f3b249 26862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * configure.ac: Add missing dollar.
2689
6b5886ba 26902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
2693
2694 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
2695 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
2696 exports.
2697 * include/grub/sparc64/libgcc.h: Likewise. Use
2698 preprocessor conditionals.
2699
e9d66f6d 27002009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2701
2702 * conf/common.rmk (grub-dumpbios): Remove rule.
2703 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
2704 * util/grub-dumpbios.in: Remove file.
2705
9155bc17 27062009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2707
2708 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
2709 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
2710
2711 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
2712 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
2713 users.
2714
2715 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
2716 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
2717 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
2718 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
2719 users.
2720
bf7f7a18 27212009-10-12 Robert Millan <rmh.grub@aybabtu.com>
2722
2723 * term/tparm.c: Switch to GPLv3.
2724
86564c26 27252009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2726
2727 * include/grub/i386/cpuid.h: Add header protection.
2728
5c936493 27292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2730
2731 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
2732
2733 * include/grub/i386/cpuid.h: New file.
2734 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
2735 (has_longmode): Rename to ...
2736 (grub_cpuid_has_longmode): ... this. Update all users. Remove
2737 `static' attribute.
2738 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
2739 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
2740 on a CPU that doesn't implement AMD64 instruction set.
2741
186e7cf2 27422009-10-06 Colin Watson <cjwatson@ubuntu.com>
2743
2744 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
2745 that version.texi is rebuilt on version number changes.
2746
83b65c4a 27472009-10-06 Colin Watson <cjwatson@ubuntu.com>
2748
2749 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
2750 Fixes bug #27602.
2751
d244281c 27522009-10-06 Colin Watson <cjwatson@ubuntu.com>
2753
2754 * util/i386/pc/grub-install.in: Source
2755 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
2756 that the --grub-probe option will work.
2757 * util/sparc64/ieee1275/grub-install.in: Likewise.
2758
da25306d 27592009-10-05 Robert Millan <rmh.grub@aybabtu.com>
2760
2761 * configure.ac: Bump version to 1.97~beta4.
2762
e8ee83c0 27632009-10-03 Robert Millan <rmh.grub@aybabtu.com>
2764
2765 Resync grub-mkdevicemap in x86_64-efi.
2766
2767 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
2768 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
2769 `util/devicemap.c'.
2770
50dcabcf 27712009-10-01 Colin Watson <cjwatson@ubuntu.com>
2772
2773 * util/grub-editenv.c (create_envblk_file): Write new block with a
2774 .new suffix and then rename it into place, to ensure atomic
2775 creation.
2776
0e51c3a7 27772009-09-28 Robert Millan <rmh.grub@aybabtu.com>
2778
2779 Do not automatically install headers.
2780
2781 * Makefile.in (include_DATA): Remove. Update all users.
2782
31299a95 27832009-09-26 Robert Millan <rmh.grub@aybabtu.com>
2784
2785 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
2786 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
2787
2788 * util/osdetect.lua: Remove.
2789 * script/lua/lauxlib.c: Likewise.
2790 * script/lua/ldebug.c: Likewise.
2791 * script/lua/grub_main.c: Likewise.
2792 * script/lua/lauxlib.h: Likewise.
2793 * script/lua/ldebug.h: Likewise.
2794 * script/lua/ltablib.c: Likewise.
2795 * script/lua/liolib.c: Likewise.
2796 * script/lua/lstrlib.c: Likewise.
2797 * script/lua/lualib.h: Likewise.
2798 * script/lua/ldo.c: Likewise.
2799 * script/lua/ldump.c: Likewise.
2800 * script/lua/ldo.h: Likewise.
2801 * script/lua/loslib.c: Likewise.
2802 * script/lua/lundump.c: Likewise.
2803 * script/lua/grub_lib.c: Likewise.
2804 * script/lua/ldblib.c: Likewise.
2805 * script/lua/lundump.h: Likewise.
2806 * script/lua/lmem.c: Likewise.
2807 * script/lua/grub_lib.h: Likewise.
2808 * script/lua/lmathlib.c: Likewise.
2809 * script/lua/lstate.c: Likewise.
2810 * script/lua/ltm.c: Likewise.
2811 * script/lua/lvm.c: Likewise.
2812 * script/lua/lmem.h: Likewise.
2813 * script/lua/lstate.h: Likewise.
2814 * script/lua/ltm.h: Likewise.
2815 * script/lua/ltable.c: Likewise.
2816 * script/lua/lvm.h: Likewise.
2817 * script/lua/llex.c: Likewise.
2818 * script/lua/lgc.c: Likewise.
2819 * script/lua/grub_lua.h: Likewise.
2820 * script/lua/loadlib.c: Likewise.
2821 * script/lua/lfunc.c: Likewise.
2822 * script/lua/lopcodes.c: Likewise.
2823 * script/lua/lparser.c: Likewise.
2824 * script/lua/ltable.h: Likewise.
2825 * script/lua/llex.h: Likewise.
2826 * script/lua/lgc.h: Likewise.
2827 * script/lua/lfunc.h: Likewise.
2828 * script/lua/lbaselib.c: Likewise.
2829 * script/lua/lopcodes.h: Likewise.
2830 * script/lua/lparser.h: Likewise.
2831 * script/lua/lzio.c: Likewise.
2832 * script/lua/linit.c: Likewise.
2833 * script/lua/lobject.c: Likewise.
2834 * script/lua/llimits.h: Likewise.
2835 * script/lua/lstring.c: Likewise.
2836 * script/lua/lzio.h: Likewise.
2837 * script/lua/lapi.c: Likewise.
2838 * script/lua/lcode.c: Likewise.
2839 * script/lua/lua.h: Likewise.
2840 * script/lua/lobject.h: Likewise.
2841 * script/lua/lstring.h: Likewise.
2842 * script/lua/lapi.h: Likewise.
2843 * script/lua/lcode.h: Likewise.
2844 * script/lua/luaconf.h: Likewise.
2845
cb8a2c38 28462009-09-26 Colin Watson <cjwatson@ubuntu.com>
2847
2848 * docs/grub.texi (Command-line and menu entry commands): Document
2849 date and echo commands.
2850
6b9b6276 28512009-09-24 Pavel Roskin <proski@gnu.org>
2852
2853 * include/grub/kernel.h (struct grub_module_header): Remove
2854 `grub_module_header_types'. Make `type' unsigned. Make `size'
2855 32-bit on all platforms.
2856 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
2857 8-bit field. Use grub_host_to_target32() for `size'.
2858 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
2859 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
2860 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
2861
4e5a02a7 28622009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2863
2864 Fix "lost keypress" bug in at_keyboard.
2865
2866 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
2867 Checks for readyness of input buffer (without flushing it).
2868 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
2869 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
2870
c6dcedf6 28712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2872
2873 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
2874 size check within GRUB_MACHINE_PCBIOS section.
2875
74c958b1 28762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2877
2878 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
2879 return value.
2880 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
2881 KEYBOARD_ISREADY check.
2882 (grub_at_keyboard_checkkey): Rename to ...
2883 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
2884 Remove gratuitous cast.
2885
ff420223 28862009-09-23 Colin Watson <cjwatson@ubuntu.com>
2887
2888 * configure.ac: Call AC_PROG_MKDIR_P.
2889 * Makefile.in (docs/stamp-vti): Create docs directory. Create
2890 version.texi in $(builddir) rather than $(srcdir).
2891 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
2892 to makeinfo's @include search path.
2893
d96875df 28942009-09-23 Felix Zielcke <fzielcke@z-51.de>
2895
2896 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
2897
9b3f8365 28982009-09-23 Felix Zielcke <fzielcke@z-51.de>
2899
2900 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
2901 for `*.dpkg-new'.
2902
c44c90db 29032009-09-21 Colin Watson <cjwatson@ubuntu.com>
2904
2905 Build info documentation. Some code borrowed from Automake.
2906
2907 * configure.ac: Check for makeinfo.
2908 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
2909 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
2910 docs/version.texi.
2911 (MOSTLYCLEANFILES): Add vti.tmp.
2912 (docs/version.texi, docs/stamp-vti): Update automatically.
2913 (docs/grub.info): Build info documentation. Use --force and ignore
2914 errors for now.
2915 (all-local): Add $(INFOS).
2916 (install-local): Install info files.
2917 (uninstall): Uninstall info files.
2918 * docs/version.texi: Remove from revision control. This file is
2919 automatically generated on build now.
2920 * gendistlist.sh: Add `*.info'.
2921
e0b37bb5 29222009-09-21 Felix Zielcke <fzielcke@z-51.de>
2923
2924 * kern/term.c: Fix indentation.
2925
5a78865b 29262009-09-21 Felix Zielcke <fzielcke@z-51.de>
2927
2928 * util/hostdisk.c: Fix a comment.
2929
dace7e8a 29302009-09-20 Robert Millan <rmh.grub@aybabtu.com>
2931
2932 Fix regression introduced in r2539.
2933
2934 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
2935 to 0xA1.
2936
a83d079b 29372009-09-19 Colin Watson <cjwatson@ubuntu.com>
2938
2939 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 2940 os-prober. Under normal operation, it does not print anything to
2941 stderr; if it does, we need to debug it, and throwing away stderr
2942 makes that excessively difficult.
a83d079b 2943
be94a509 29442009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
2947
63f745e8 29482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2949
2950 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
2951 AC_LANG_PROGRAM from autoconf.
2952 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
2953 prototypes (fixes warning).
2954
2955 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
2956 `--disable-werror' was used.
2957
bbb2a70f 29582009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2959
2960 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
2961 uninitialized `lastaddr'.
2962
77c24f1d 29632009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2964
0f0b8c87 2965 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 2966
07197f23 29672009-09-14 Colin Watson <cjwatson@ubuntu.com>
2968
2969 * commands/test.c (get_fileinfo): Return immediately if
2970 grub_fs_probe fails.
2971
dabf1798 29722009-09-14 José Martínez <xosemp@gmail.com>
2973
2974 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
2975
d52109a7 29762009-09-14 Colin Watson <cjwatson@ubuntu.com>
2977
2978 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
2979 output.
2980
56532179 29812009-09-13 Robert Millan <rmh.grub@aybabtu.com>
2982
2983 * configure.ac: Remove --enable-grub-pe2elf. Only build
2984 grub-pe2elf when needed by the build system itself.
2985 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
2986
8ef070f5 29872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2988
2989 * configure.ac: Bump version to 1.97~beta3.
2990 * docs/version.texi: Likewise.
2991
61229557 29922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2993
2994 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
2995 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
2996 from here ...
2997 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
2998 (grub_linux_setup_video): ... to here (with some adjustments).
2999
5c9f8d84 30002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
3001
3002 Fix memory corruption issue (spotted by Colin Watson).
3003
3004 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
3005 causing returned size to be stored in an incorrect memory location.
3006 Fix use of uninitialized value when storing the returned size.
3007
e8f5d6e9 30082009-09-12 Yves Blusseau <blusseau@zetam.org>
3009
3010 Change clean rules to properly remove files
3011
3012 * genmk.rb: add new clean rules
3013 * Makefile.in (clean): add the new targets
3014 (mostlyclean): likewise
3015
cda2a409 30162009-09-11 Colin Watson <cjwatson@ubuntu.com>
3017
3018 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
3019 to grub_uint64_t.
3020 * fs/ntfs.c (init_file): Understand 64-bit sizes for
3021 non-resident files.
3022
86695375 30232009-09-11 Colin Watson <cjwatson@ubuntu.com>
3024
3025 * configure.ac: Don't look for help2man when cross-compiling. Fixes
3026 part of bug #27349.
3027
8aa1541a 30282009-09-10 Felix Zielcke <fzielcke@z-51.de>
3029
3030 * util/grub-mkconfig.in: Make the created config mode 400 and
3031 print a warning if it fails.
3032
48d9bb0a 30332009-09-10 Robert Millan <rmh.grub@aybabtu.com>
3034
3035 * util/grub.d/40_custom.in: Ask user to type custom entries below
3036 comment, rather than below 'exec tail' line.
3037
3b0521be 30382009-09-10 Colin Watson <cjwatson@ubuntu.com>
3039
3040 * util/grub.d/40_custom.in: Make sure that the explanatory text is
3041 visible in grub.cfg.
3042
50051d55 30432009-09-10 Colin Watson <cjwatson@ubuntu.com>
3044
3045 * util/grub.d/40_custom.in: Make it a little clearer how to use this
3046 file.
3047
c0d34387 30482009-09-10 Felix Zielcke <fzielcke@z-51.de>
3049
3050 * docs/grub.cfg: Add an example menu entry for memtest86+.
3051
80a608f3 30522009-09-09 Felix Zielcke <fzielcke@z-51.de>
3053
a2094832 3054 * config.guess: Update to latest version from config git.
80a608f3 3055 * config.sub: Likewise.
3056
99423078 30572009-09-08 Colin Watson <cjwatson@ubuntu.com>
3058
3059 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
3060 unknown-command case. Fixes bug #27320.
3061
44454e4c 30622009-09-08 Felix Zielcke <fzielcke@z-51.de>
3063
3064 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
3065 `help' if the command exists.
3066
e30d87ad 30672009-09-06 Robert Millan <rmh.grub@aybabtu.com>
3068
3069 * INSTALL: Require GCC 4.1.3 or later.
3070
9a86f1ec 30712009-09-06 Yves Blusseau <blusseau@zetam.org>
3072
3073 * Makefile.in (RMKFILES): add i386-qemu.rmk
3074 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
3075 $(srcdir)/stamp-h.in
3076
7f26d466 30772009-09-05 Robert Millan <rmh.grub@aybabtu.com>
3078
3079 * util/grub-probe.c (probe): Comment out buggy codepath, which
3080 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
3081 should be re-enabled after 1.97.
3082
3a613259 30832009-09-05 Felix Zielcke <fzielcke@z-51.de>
3084
3085 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
3086 find searches for.
3087
197f76c7 30882009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
3091 unnecessary calls to grub_error.
3092
70ba68ce 30932009-09-04 Colin Watson <cjwatson@ubuntu.com>
3094
3095 * NEWS: Mention `keystatus' and Unicode fonts.
3096
4ff0d7a4 30972009-09-04 Robert Millan <rmh.grub@aybabtu.com>
3098
3099 * configure.ac: Bump version to 1.97~beta2.
3100 * docs/version.texi: Likewise.
3101
77c55a87 31022009-09-03 Colin Watson <cjwatson@ubuntu.com>
3103
3104 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
3105 containing unwind information in some cases where it previously did
3106 not. Use -fno-dwarf2-cfi-asm if available to restore the old
3107 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
3108 discussion.
3109
f79572cd 31102009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
3111
3112 Embedding loadenv module into grub-emu
3113
3114 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
3115 commands/loadenv.c
3116 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
3117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
3118 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
3119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
3120 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
3121 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
3122
93a81088 31232009-09-03 Magnus Granberg <zorry@ume.nu>
3124
3125 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
3126 include -fPIE in the default specs.
3127 * configure.ac: Check if pie_possible is yes and add -fno-PIE
3128 to TARGET_CFLAGS.
3129
160034b2 31302009-09-03 Felix Zielcke <fzielcke@z-51.de>
3131
3132 * INSTALL: Note that GNU Bison 2.3 or later is required.
3133
087c07c4 31342009-09-03 Colin Watson <cjwatson@ubuntu.com>
3135
3136 * kern/i386/pc/startup.S: Fix typo.
3137
cbf978c0 31382009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
3141 according to GCS.
3142
31432009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 3144
3145 * docs/grub.texi (Naming convention): Describe one-based partition
3146 numbering.
3147 (Device syntax): Likewise.
3148 (File name syntax): Likewise.
3149 (Block list syntax): Likewise.
3150 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
3151 menu.lst.
3152 (File name syntax): Likewise.
3153 (Command-line and menu entry commands): Document acpi, blocklist,
3154 crc, export, insmod, keystatus, ls, set, and unset commands.
3155
f3e8cdfd 31562009-09-02 Colin Watson <cjwatson@ubuntu.com>
3157
3158 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
3159 to avoid implying that only one of --shift, --ctrl, or --alt may be
3160 used.
3161
c0bc232b 31622009-09-02 Colin Watson <cjwatson@ubuntu.com>
3163
3164 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
3165 rather than comparing against S_IFREG, which will almost never work.
3166
aa0f752d 31672009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
3170 (write_blocklists): Likewise.
3171
ecb3166a 31722009-09-01 Colin Watson <cjwatson@ubuntu.com>
3173
3174 * script/lua/grub_lua.h (fputs): Supply a format string as the first
3175 argument to grub_printf.
3176
c403a125 31772009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 3178
3179 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 3180 non GNU test.
31aba781 3181
b5e7312c 31822009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * kern/file.c (grub_file_read): Spelling fix
3185
fe00f472 31862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
3189 loading of headers in some cases.
3190
cc55302e 31912009-08-30 Robert Millan <rmh.grub@aybabtu.com>
3192
3193 * configure.ac: Bump version to 1.97~beta1.
3194 * docs/version.texi: Likewise.
3195
5c90cdd2 31962009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 3197
3198 * include/grub/i386/xnu.h: Add license header.
3199 include grub/err.h explicitly.
3200
c90edae4 32012009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3202
3203 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
3204 to `ufs' in the vfs.root.mountfrom kernel parameter.
3205
d8888b5c 32062009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3207
3208 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
3209
3210 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
3211 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
3212
3213 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
3214 `ARRAY_SIZE' macro.
3215
6f07b921 32162009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * kern/file.c (grub_file_read): Check offset.
3219 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
3220 * fs/jfs.c (grub_jfs_read_file): Likewise.
3221 * fs/ntfs.c (grub_ntfs_read): Likewise.
3222 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
3223 * fs/minix.c (grub_minix_read_file): Correct offset check.
3224 * fs/ufs.c (grub_ufs_read_file): Likewise.
3225
b4f34077 32262009-08-28 Colin Watson <cjwatson@ubuntu.com>
3227
3228 * term/i386/pc/console.c (bios_data_area): Cast
3229 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
3230
e7c69859 32312009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 1-bit optimised blitters.
3234
3235 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
3236 prototype.
3237 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3238 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3239 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3240 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3241 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3242 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3243 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
3244 function.
3245 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3246 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3247 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3248 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3249 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3250 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3251 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
3252 when possible.
3253 * video/video.c (grub_video_get_blit_format): Return
3254 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
3255
a57da43f 32562009-08-28 Colin Watson <cjwatson@ubuntu.com>
3257
3258 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
3259 the first argument to grub_printf.
3260
4cbe67e5 32612009-08-28 Colin Watson <cjwatson@ubuntu.com>
32622009-08-28 Robert Millan <rmh.grub@aybabtu.com>
3263
3264 Add `getkeystatus' terminal method. Add a new `keystatus' command
3265 to query it.
3266
3267 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
3268 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
3269 modifier key bitmasks.
3270 (struct grub_term_input): Add `getkeystatus' member.
3271 (grub_getkeystatus): Add prototype.
3272 * kern/term.c (grub_getkeystatus): New function.
3273
3274 * include/grub/i386/pc/memory.h
3275 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
3276 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
3277 Data Area layout.
3278 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
3279 (grub_console_term_input): Set `getkeystatus' member.
3280 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
3281 constants.
3282 (grub_usb_keyboard_getreport): Likewise.
3283 (grub_usb_keyboard_checkkey): Likewise.
3284 (grub_usb_keyboard_getkeystatus): New function.
3285 (grub_usb_keyboard_term): Set `getkeystatus' member.
3286
3287 * commands/keystatus.c: New file.
3288 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
3289 (keystatus_mod_SOURCES): New variable.
3290 (keystatus_mod_CFLAGS): Likewise.
3291 (keystatus_mod_LDFLAGS): Likewise.
3292 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
3293 commands/keystatus.c.
3294 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3295 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3296 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3298 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3299 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 3300
6e2a9085 33012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 Split befs.mod and afs.mod into *_be.mod and *.mod
3304
3305 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
3306 (grub_fstest_SOURCES): Likewise.
3307 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
3308 (afs_be_mod_SOURCES): New variable.
3309 (afs_be_mod_CFLAGS): Likewise.
3310 (afs_be_mod_LDFLAGS): Likewise.
3311 (befs_be_mod_SOURCES): Likewise.
3312 (befs_be_mod_CFLAGS): Likewise.
3313 (befs_be_mod_LDFLAGS): Likewise.
3314 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
3315 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3316 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3317 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3318 (grub_emu_SOURCES): Likewise.
3319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3321 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3322 * fs/afs_be.c: New file.
3323 * fs/befs_be.c: New file.
3324 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
3325 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
3326 (U16): Replaced with ...
3327 (grub_afs_to_cpu16): ...this. All users updated.
3328 (U32): Replaced with ...
3329 (grub_afs_to_cpu32): ...this. All users updated.
3330 (U64): Replaced with ...
3331 (grub_afs_to_cpu64): ...this. All users updated.
3332 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
3333 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 3334 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 3335 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3336 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3337 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3338 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3339 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3340 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3341 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3342 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3343
32a71655 33442009-08-26 Bean <bean123ch@gmail.com>
3345
3346 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
3347 64-bit number.
3348 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3349 (grub_xfs_inode_block): Change return type to grub_uint64_t.
3350 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
3351
552bf6c5 33522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 NetBSD memory map support.
3355
3356 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
3357 (grub_netbsd_btinfo_mmap_header): New structure.
3358 (grub_netbsd_btinfo_mmap_entry): Likewise.
3359 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
3360
1ae2078c 33612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 Enable bsd.mod on coreboot.
3364
3365 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3366 (bsd_mod_SOURCES): New variable.
3367 (bsd_mod_CFLAGS): Likewise.
3368 (bsd_mod_LDFLAGS): Likewise.
3369 (bsd_mod_ASFLAGS): Likewise.
3370 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3371 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3372
beefc598 33732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Cleanup NetBSD root support.
3376
3377 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3378 grub_bsd_get_device.
3379 Fix typo.
3380
3b76e68b 33812009-08-25 Felix Zielcke <fzielcke@z-51.de>
3382
3383 * util/grub.d/00_header.in: Move check for the video backend of
3384 gfxterm from here ...
3385 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3386 a suitable video backend.
3387
aea664ea 33882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 Fix breakage in grub-setup.
3391
3392 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3393 "msdos_partition_map".
3394
ff747d50 33952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 Fix breakage in normal/auth.c.
3398
3399 * normal/auth.c (grub_iswordseparator): New function.
3400
e7e1f93f 34012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 Authentication support.
3404
3405 * commands/password.c: New file.
3406 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3407 (password_mod_SOURCES): New variable.
3408 (password_mod_CFLAGS): Likewise.
3409 (password_mod_LDFLAGS): Likewise.
3410 (normal_mod_SOURCES): Add normal/auth.c.
3411 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3412 normal/auth.c.
3413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3414 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3415 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3418 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3419 * include/grub/auth.h: New file.
3420 * include/grub/err.h (grub_err_t): New enum value
3421 GRUB_ERR_ACCESS_DENIED.
3422 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3423 'users'.
3424 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
3425 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
3426 users updated.
3427 * normal/auth.c: New file.
3428 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
3429 (grub_cmdline_run): Don't allow to go to command line without
3430 authentication.
3431 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
3432 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
3433 menuentry without superuser rights.
3434 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
3435 user isn't a superuser.
3436
70f1161d 34372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Save space by inlining misc.c functions.
3440
3441 * kern/misc.c (grub_iswordseparator): Made static.
3442 * kern/misc.c (grub_strcat): Moved from here ...
3443 * include/grub/misc.h (grub_strcat): ... here. Inlined.
3444 * kern/misc.c (grub_strncat): Moved from here ...
3445 * include/grub/misc.h (grub_strncat): ... here. Inlined.
3446 * kern/misc.c (grub_strcasecmp): Moved from here ...
3447 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
3448 * kern/misc.c (grub_strncasecmp): Moved from here ...
3449 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
3450 * kern/misc.c (grub_isalpha): Moved from here ...
3451 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
3452 * kern/misc.c (grub_isdigit): Moved from here ...
3453 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
3454 * kern/misc.c (grub_isgraph): Moved from here ...
3455 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
3456 * kern/misc.c (grub_tolower): Moved from here ...
3457 * include/grub/misc.h (grub_tolower): ... here. Inlined.
3458
48e40bff 34592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * script/sh/function.c (grub_script_function_find): Cut error message
3462 not to flood terminal.
3463 * script/sh/lexer.c (grub_script_yylex): Remove command line length
3464 limit.
3465 * script/sh/script.c (grub_script_arg_add): Duplicate string.
3466
c385bfc3 34672009-08-24 Colin Watson <cjwatson@ubuntu.com>
3468
3469 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
3470 `report' grub_uint8_t *.
3471 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
3472 Use a 50-millisecond timeout rather than just repeating
3473 grub_usb_keyboard_getreport 50 times.
3474 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
3475
2d21e3e8 34762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 Rename *_partition_map to part_*
3479
3480 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
3481 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
3482 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
3483 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
3484 All users updated.
3485 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
3486 All users updated.
3487 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
3488 * util/grub-probe.c (probe_partmap): Don't transform partition name
3489 to get module name.
3490
dd103c4e 34912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 Fix OpenBSD and NetBSD support.
3494
3495 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
3496 memory address conflict.
3497 (OPENBSD_MMAP_ACPI): New definition.
3498 (OPENBSD_MMAP_NVS): Likewise.
3499 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
3500 and OPENBSD_MMAP_NVS.
3501 Add memory map terminator
3502 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 3503 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 3504
16c84d74 35052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 Let user specify NetBSD root device.
3508
3509 * loader/i386/bsd.c (netbsd_root): New variable.
3510 (netbsd_opts): New option 'root'.
3511 (NETBSD_ROOT_ARG): New macro.
3512 (grub_netbsd_boot): Use 'netbsd_root'.
3513 (grub_bsd_unload): Free 'netbsd_root'.
3514 (grub_cmd_netbsd): Fill 'netbsd_root'.
3515
adb29902 35162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 Support for 64-bit NetBSD.
3519
3520 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
3521 point when booting non-FreeBSD.
3522
f5ae9f74 35232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 Support --no-smp and --no-acpi for NetBSD.
3526
3527 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
3528 (NETBSD_AB_NOACPI): Likewise.
3529 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
3530 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
3531
de74f136 35322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
3535 errors.
3536 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
3537 errors. Call grub_error when needed.
3538
e9a925da 35392009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * commands/search.c (search_fs): Try searching without autoload first.
3542 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3543 filesystem module explicitly for faster booting.
3544
5174302b 35452009-08-23 Colin Watson <cjwatson@ubuntu.com>
3546
3547 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
3548
c8c80635 35492009-08-23 Colin Watson <cjwatson@ubuntu.com>
3550
3551 * util/grub.d/30_os-prober.in: Disable os-prober if
3552 `GRUB_DISABLE_OS_PROBER' was set to true.
3553
71acf5e5 35542009-08-23 Robert Millan <rmh.grub@aybabtu.com>
3555
3556 * partmap/pc.c: Rename to ...
3557 * partmap/msdos.c: ... this. Update all users.
3558 (grub_pc_partition_map): Rename to ...
3559 (grub_msdos_partition_map): ... this. Update all users.
3560
3561 * parttool/pcpart.c: Rename to ...
3562 * parttool/msdospart.c: ... this. Update all users.
3563
3564 * include/grub/pc_partition.h: Rename to ...
3565 * include/grub/msdos_partition.h: ... this. Update all users.
3566 (grub_pc_partition_bsd_entry): Rename to ...
3567 (grub_msdos_partition_bsd_entry): ... this. Update all users.
3568 (grub_pc_partition_disk_label): Rename to ...
3569 (grub_msdos_partition_disk_label): ... this. Update all users.
3570 (grub_pc_partition_entry): Rename to ...
3571 (grub_msdos_partition_entry): ... this. Update all users.
3572 (grub_pc_partition_mbr): Rename to ...
3573 (grub_msdos_partition_mbr): ... this. Update all users.
3574 (grub_pc_partition): Rename to ...
3575 (grub_msdos_partition): ... this. Update all users.
3576 (grub_pc_partition_is_empty): Rename to ...
3577 (grub_msdos_partition_is_empty): ... this. Update all users.
3578 (grub_pc_partition_is_extended): Rename to ...
3579 (grub_msdos_partition_is_extended): ... this. Update all users.
3580 (grub_pc_partition_is_bsd): Rename to ...
3581 (grub_msdos_partition_is_bsd): ... this. Update all users.
3582
3583 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
3584 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
3585 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
3586 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
3587 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
3588 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
3589 (gpt_mod_LDFLAGS): Rename to ...
3590 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
3591 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
3592 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
3593 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
3594 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
3595 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
3596 (part_gpt_mod_LDFLAGS): ... this.
3597 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
3598 `pcpart.mod' to `msdospart.mod'.
3599 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
3600 to ...
3601 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
3602 (msdospart_mod_LDFLAGS): ... this.
3603
c11fded5 36042009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
3607 (openbsd_opts): Likewise.
3608 (netbsd_opts): Likewise.
3609 (freebsd_flags): Added 0 terminator.
3610 (openbsd_flags): Likewise.
3611 (netbsd_flags): Likewise.
3612 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
3613 (grub_cmd_freebsd): Transformed into extended command.
3614 (grub_cmd_openbsd): Likewise.
3615 (grub_cmd_netbsd): Likewise.
3616 (cmd_freebsd): Changed type to grub_extcmd_t.
3617 (cmd_openbsd): Likewise.
3618 (cmd_netbsd): Likewise.
3619 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
3620 grub_cmd_openbsd as extended commands.
3621 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
3622 cmd_netbsd and cmd_openbsd
3623
11d1c769 36242009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
3627
7a9094e5 36282009-08-21 Pavel Roskin <proski@gnu.org>
3629
5496c37e 3630 * Makefile.in (install-local): When checking if a file is in the
3631 build directory, use "test -e" to detect symlinks.
3632
7a9094e5 3633 * Makefile.in (install-local): Remove all files in
3634 $(DESTDIR)$(pkglibdir) before installing new files there.
3635
e53cea11 36362009-08-18 Felix Zielcke <fzielcke@z-51.de>
3637
3638 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
3639 grub-mkelfimage.
3640
9aced544 36412009-08-18 Felix Zielcke <fzielcke@z-51.de>
3642
3643 * util/grub-mkconfig.in: Don't use gfxterm by default if not
3644 explicitly specified by the user.
3645
b7da6bab 36462009-08-18 Pavel Roskin <proski@gnu.org>
3647
3648 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
3649 grub_uint8_t pointer for data.
3650 * include/grub/fbutil.h (struct grub_video_fbblit_info):
3651 Likewise.
3652 * video/fb/fbutil.c: Remove unnecessary casts.
3653
19f1b335 36542009-08-17 Michal Suchanek <hramrach@centrum.cz>
3655
3656 VBE cleanup.
3657
3658 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
3659 (grub_vbe_set_video_mode): Save active mode info
3660 only after setting the mode.
3661 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
3662 second argument.
3663
2f467aa9 36642009-08-17 Michal Suchanek <hramrach@centrum.cz>
3665
3666 Rename variables for clarity.
3667
3668 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
3669 (active_vbe_mode_info): ... this. All users updated.
3670 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
3671 All users updated.
3672 (initial_mode): Rename to ...
3673 (initial_vbe_mode): ... this. All users updated.
3674 (mode_in_use): Rename to ..
3675 (vbe_mode_in_use): ... this. All users updated.
3676 (mode_list): Rename to ..
3677 (vbe_mode_list): ... this. All users updated.
3678 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
3679 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
3680 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
3681 'mode_list_size' to 'vbe_mode_list_size'.
3682 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
3683 'best_mode_info' to 'best_vbe_mode_info' and
3684 'best_mode' to 'best_vbe_mode'
3685
6025fcd7 36862009-08-17 Michal Suchanek <hramrach@centrum.cz>
3687
3688 Remove duplicate grub_video_fb_get_video_ptr.
3689
3690 * include/grub/fbutil.h (get_data_ptr): Rename to ...
3691 (grub_video_fb_get_video_ptr): ... this.
3692 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
3693 * video/fb/fbutil.c: Add comment about addressing.
3694 (get_data_ptr): Rename to ...
3695 (grub_video_fb_get_video_ptr): ... this. All users updated.
3696 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
3697
cc8c6faf 36982009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3699
3700 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
3701 grub_dprintf() that was just added.
3702
08aa61f0 37032009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3704
3705 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
3706 (DEFAULT_VIDEO_MODE): Remove macros.
3707 (grub_linux_boot): Remove assumption that Linux has FB support,
3708 and use "text" as default video mode.
3709
7cef4f75 37102009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
3713 grub_dprintf.
3714 * fs/fat.c (grub_fat_read_data): Likewise.
3715
e1f39873 37162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
3719 payload.
3720 (grub_module): Likewise.
3721
c166d79e 37222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
3725 mbi->cmdline but free playground.
3726
c60cee8e 37272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Handle group offset on UFS1.
3730
3731 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
3732 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
3733
c0d8b5d4 37342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Split ufs.mod into ufs1.mod and ufs2.mod.
3737
3738 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
3739 (grub_fstest_SOURCES): Likewise.
3740 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
3741 (ufs_mod_SOURCES): Remove.
3742 (ufs_mod_CFLAGS): Likewise.
3743 (ufs_mod_LDFLAGS): Likewise.
3744 (ufs1_mod_SOURCES): New variable.
3745 (ufs1_mod_CFLAGS): Likewise.
3746 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 3747 (ufs2_mod_SOURCES): New variable.
3748 (ufs2_mod_CFLAGS): Likewise.
3749 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 3750 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
3751 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3752 Likewise.
3753 (grub_emu_SOURCES): Likewise.
3754 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3755 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3756 (grub_setup_SOURCES): Likewise.
3757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3758 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
3759 (grub_setup_SOURCES): Likewise.
3760 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3761 Likewise.
3762 * fs/ufs2.c: New file.
3763 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
3764
d3539132 37652009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 Framebuffer split.
3768
3769 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
3770 subsystem at the end.
3771 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
3772 (video_fb_mod_SOURCES): New variable.
3773 (video_fb_mod_CFLAGS): Likewise.
3774 (video_fb_mod_LDFLAGS): Likewise.
3775 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
3776 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
3777 * video/i386/pc/vbeblit.c: Moved from here ...
3778 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
3779 * video/i386/pc/vbefill.c: Moved from here ...
3780 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
3781 * video/i386/pc/vbeutil.c: Moved from here ...
3782 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
3783 * include/grub/i386/pc/vbeblit.h: Moved from here ...
3784 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
3785 * include/grub/i386/pc/vbefill.h: Moved from here ...
3786 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
3787 * include/grub/i386/pc/vbeutil.h: Moved from here ...
3788 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
3789 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
3790 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
3791 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
3792 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
3793 (grub_video_adapter): Added 'get_info_and_fini'.
3794 (grub_video_get_info_and_fini): New prototype.
3795 (grub_video_set_mode): make modestring const char *.
3796 * loader/i386/linux.c (grub_linux_setup_video): Use
3797 grub_video_get_info_and_fini.
3798 (grub_linux_boot): Move modesetting just before booting.
3799 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
3800 grub_video_get_info_and_fini.
3801 * video/i386/pc/vbe.c: Moved framebuffer part ...
3802 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
3803 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
3804 grub_video_fbstd_colors and grub_video_fb_set_palette.
3805 (grub_video_vbe_init): Clear 'framebuffer' variable and use
3806 grub_video_fb_init.
3807 (grub_video_vbe_fini): Use grub_video_fb_fini.
3808 (grub_video_vbe_setup): Use framebuffer.render_target instead of
3809 render_target and use grub_video_fb_set_active_render_target and
3810 grub_video_fb_set_palette.
3811 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
3812 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
3813 (grub_video_vbe_adapter): Use framebuffer.
3814 * video/video.c (grub_video_get_info_and_fini): New function.
3815 (grub_video_set_mode): Make modestring const char *.
3816 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
3817 values are already initialised.
3818
d404ee56 38192009-08-14 Pavel Roskin <proski@gnu.org>
3820
3821 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
3822 ABS and APPLE_CC.
3823 * boot/i386/pc/diskboot.S: Likewise.
3824 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
3825 sectors allow compilation on MacOSX.
3826 * conf/i386-pc.rmk: Enable unconditional compilation of
3827 lnxboot.img.
3828
9a10df16 38292009-08-13 Colin Watson <cjwatson@ubuntu.com>
3830
3831 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
3832 * util/grub.d/00_header.in: Enter interruptible sleep if
3833 GRUB_HIDDEN_TIMEOUT is set.
3834
be3c9ca7 38352009-08-13 Yves Blusseau <blusseau@zetam.org>
3836
3837 * include/grub/symbol.h: Add the LOCAL macro.
3838 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
3839 starting with "L_".
3840
1f9e557e 38412009-08-13 Pavel Roskin <proski@gnu.org>
3842
9ca62843 3843 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
3844 any modern compilers we support.
3845
1f9e557e 3846 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
3847 Use local labels starting with "L_" so that Apple assembler
3848 knows they are local.
3849
81623db6 38502009-08-10 Robert Millan <rmh.grub@aybabtu.com>
3851
3852 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
3853 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
3854 (bsd_kernel_types): ... this enum.
3855
3856 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
3857 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
3858 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
3859
3860 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
3861 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
3862 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
3863 messages.
3864
f5d35e7a 38652009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3866
3867 * util/grub-dumpdevtree: Moved from here ...
3868 * util/i386/efi/grub-dumpdevtree: ... to here.
3869 (hexify): New function. Converts a string to its hex version.
3870 Generate hex versions of "efi" and "device-properties" by calling
3871 hexify() on the ASCII strings rather than by hardcoding numbers.
3872
d1e1d527 38732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3874
3875 * fs/jfs.c: Update copyright year.
3876
1ebbe064 38772009-08-08 Felix Zielcke <fzielcke@z-51.de>
3878
3879 * util/grub.d/00_header.in: Fix a comment.
3880 * util/grub.d/10_linux.in: Likewise.
3881 * util/grub.d/10_windows.in: Likewise.
3882 * util/grub.d/10_hurd.in: Likewise.
3883
a78c8d24 38842009-08-08 Felix Zielcke <fzielcke@z-51.de>
3885
3886 * util/grub-mkconfig.in: Allow the user to specify the used font
3887 with GRUB_FONT.
3888
29a6b9e8 38892009-08-08 Pavel Roskin <proski@gnu.org>
3890
b5f16cc4 3891 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
3892 available, xfs.mod needs it now.
3893
2f5cb827 3894 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
3895 the "g" modifier in sed when the intention is to strip something
3896 once. This fixes comparison of kernels with multiple dashes.
3897
29a6b9e8 3898 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
3899 on it. Add missing space before closing bracket. Fix
3900 misleading formatting.
3901
892a3d98 39022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3903
3904 * docs/grub.texi: Major overhaul. Remove all sections that are
3905 specific to GRUB Legacy, or mostly composed of Legacy-specific
3906 information.
3907
ed94253f 39082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3909
3910 * docs/version.texi: New file. Provides version information for
3911 grub.texi.
3912
126d6628 39132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3914
3915 * docs/grub.texi: Update CVS information to SVN.
3916 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
3917
998b5aa9 39182009-08-07 Felix Zielcke <fzielcke@z-51.de>
3919
3920 * util/grub-mkconfig.in: Remove a wrong `fi'.
3921
818e094a 39222009-08-07 Felix Zielcke <fzielcke@z-51.de>
3923
3924 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
3925 (grub_jfs_uuid): New function.
3926 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
3927
b969c52f 39282009-08-07 Felix Zielcke <fzielcke@z-51.de>
3929
3930 * util/grub-mkconfig_lib.in (font_path): Move the functionality
3931 of it to ...
3932 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
3933 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
3934
7a4894cc 39352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3936
3937 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
3938 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
3939 Update all users.
3940
3941 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
3942 not just "vmlinu[zx]".
3943 Moved from here ...
3944 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
3945 all users.
3946
3947 * util/grub.d/10_linux.in (find_latest): Moved from here ...
3948 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
3949 all users.
3950
4e2171f8 39512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3952
3953 * util/grub.d/10_freebsd.in: Use an absolute device path for
3954 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
3955
6dcfcb32 39562009-08-06 Felix Zielcke <fzielcke@z-51.de>
3957
3958 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3959 handling of multiple abstraction modules.
3960
f56a8756 39612009-08-04 Robert Millan <rmh.grub@aybabtu.com>
3962
3963 Fix a bug resulting in black screen when loading Linux using a
3964 packed video mode.
3965
3966 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
3967 function.
3968
3969 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
3970 (grub_vbe_bios_getset_dac_palette_width): New function.
3971 (grub_vbe_bios_get_dac_palette_width)
3972 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
3973 grub_vbe_bios_getset_dac_palette_width()).
3974
3975 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
3976 check for return status.
3977 (grub_vbe_get_video_mode_info): When getting information for a packed
3978 mode (<= 8 bpp), obtain DAC palette width using
3979 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
3980 {red,green,blue}_mark_size.
3981
222671b2 39822009-08-04 Felix Zielcke <fzielcke@z-51.de>
3983
ecb1a6d9 3984 * commands/search.c (options): Fix help output to match actual code.
222671b2 3985
f84114f5 39862009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
3989 of homegrown code.
3990
bd288a20 39912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 3992
3993 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
3994 on XFS or ReiserFS.
3995
8aab5e25 39962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Support Apple partition map with sector size different from 512 bytes.
3999
4000 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
4001 (apple_partition_map_iterate): Respect 'aheader.blocksize'
4002 and 'apart.partmap_size'.
4003
6ad6258a 40042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
40052009-08-01 Robert Millan <rmh.grub@aybabtu.com>
4006
4007 Fix cpuid command.
4008
4009 * commands/i386/cpuid.c (options): New variable.
4010 (grub_cmd_cpuid): Return real error.
4011 (GRUB_MOD_INIT(cpuid)): Declare options.
4012
67459bc6 40132009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
4016 valid.
4017
fbc6ab54 40182009-07-31 Bean <bean123ch@gmail.com>
4019
4020 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
4021 log2_inode.
4022 (grub_fshelp_node): Move inode field to the end.
4023 (grub_xfs_data): Remove inode field.
4024 (grub_xfs_inode_block): Calculate inode size using sblock.
4025 (grub_xfs_inode_offset): Likewise.
4026 (grub_xfs_read_inode): Calculate inode size using sblock.
4027 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
4028 (grub_xfs_iterate_dir): Calculate inode size using sblock.
4029 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
4030 to match inode size.
4031 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
4032 not accessible when data is null.
4033 (grub_xfs_open): Likewise.
4034
f45d6cfc 40352009-07-31 Bean <bean123ch@gmail.com>
4036
4037 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
4038 Don't change pv->disk if it's already set.
4039
4040 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
4041 (grub_raid_register): ... here.
4042 (grub_raid_rescan): Removed.
4043
4044 * include/grub/raid.h (grub_raid_rescan): Removed.
4045
4046 * util/grub-fstest.c: Remove include file <grub/raid.h>.
4047 (fstest): Replace grub_raid_rescan with module fini function followed
4048 by init function.
4049
4050 * util/grub-probe.c: Add include file <grub/raid.h>.
4051 (probe_raid_level): New function.
4052 (probe): Detect abstraction by walking the disk device, support two
4053 level of abstraction (LVM on RAID) when detecting partition map.
4054
24443b5a 40552009-07-31 Pavel Roskin <proski@gnu.org>
4056
4057 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
4058 to grub_zalloc(), it was erroneous.
4059 Reported by Bean <bean123ch@gmail.com>
4060
a275d9e7 40612009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 4064 embedding zone, not only the first one.
a275d9e7 4065
56c5a47f 40662009-07-29 Joe Auricchio <jauricchio@gmail.com>
4067
4068 * term/gfxterm.c (clear_char): New function.
4069 (grub_virtual_screen_setup): Use clear_char.
4070 (scroll_up): Likewise.
4071 (grub_virtual_screen_cls): Likewise.
4072
67bb323a 40732009-07-29 Felix Zielcke <fzielcke@z-51.de>
4074
4075 * util/deviceiter.c (get_acceleraid_disk_name): New static
4076 function.
4077 (grub_util_iterate_devices): Handle Accelraid devices.
4078 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
4079
388a7c75 40802009-07-28 Robert Millan <rmh.grub@aybabtu.com>
4081
4082 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
4083 separator for the suggested gfxpayload string (';' collides with the
4084 parser and needs escaping).
4085
3bb7abcf 40862009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
4089 Clear direction flag before jumping to OS.
4090 (grub_multiboot2_real_boot): Likewise.
4091
2ddd36d7 40922009-07-28 Felix Zielcke <fzielcke@z-51.de>
4093
4094 * util/i386/pc/grub-install: Fix parsing of --disk-module
4095 option.
4096
c521b62b 40972009-07-28 Felix Zielcke <fzielcke@z-51.de>
4098
4099 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
4100 when embedding.
4101
880e0a0c 41022009-07-26 Felix Zielcke <fzielcke@z-51.de>
4103
4104 * util/grub-mkconfig.in (package_version): New variable.
4105 Use it do display the version.
4106
2366e356 41072009-07-25 Felix Zielcke <fzielcke@z-51.de>
4108
4109 * kern/file.c (grub_file_open): Revert to previous check with
4110 grub_errno.
4111
7ad8c80e 41122009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
4115 from help line. It's out of sync with code.
4116
72b9658b 41172009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
4120 entries on failed boot.
4121
77435277 41222009-07-25 Felix Zielcke <fzielcke@z-51.de>
4123
4124 * kern/file.c (grub_file_open): Fix an error check.
4125
fcaa8b21 41262009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
4127
35d16c74 4128 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
4129 partition map couldn't be identified.
fcaa8b21 4130
48904cd1 41312009-07-23 Pavel Roskin <proski@gnu.org>
4132
ef3c317f 4133 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
4134 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
4135 case of little endian words becomes just an optimization.
4136 Respect const modifier.
ad8ea1f4 4137 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 4138
48904cd1 4139 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
4140 to avoid loss of upper bits if align is unsigned and shorter
4141 than addr.
4142
260c9a89 41432009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 UUID support for UFS
4146
4147 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
4148 (grub_ufs_uuid): New function.
4149 (grub_ufs_fs): add .uuid
4150
f76ce889 41512009-07-21 Pavel Roskin <proski@gnu.org>
4152
4153 * kern/dl.c (grub_dl_check_header): Make static.
4154
6a6cbcaf 41552009-07-21 Felix Zielcke <fzielcke@z-51.de>
4156
4157 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
4158 add drivemap for Vista. It breaks Windows 7.
4159
cffcddb2 41602009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
4163 128 bytes
4164
1ef44b80 41652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 Add BFS support
4168
4169 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
4170 (grub_fstest_SOURCES): Likewise.
4171 (pkglib_MODULES): Add befs.mod.
4172 (befs_mod_SOURCES): New variable.
4173 (befs_mod_CFLAGS): Likewise.
4174 (befs_mod_LDFLAGS): Likewise.
4175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4176 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4178 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4179 (grub_setup_SOURCES): Likewise.
4180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4181 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4182 (grub_setup_SOURCES): Likewise.
4183 * fs/befs.c: New file.
4184 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
4185 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
4186 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
4187 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
4188 (B_KEY_INDEX_ALIGN): New declaration.
4189 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
4190 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
4191 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
4192 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
4193 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
4194 (grub_afs_mount) [MODE_BFS]: Likewise.
4195 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
4196 (grub_afs_fs): Use GRUB_AFS_FSNAME
4197 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
4198 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
4199 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
4200 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
4201
4f253044 42022009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
4203
4204 * util/getroot.c (find_root_device): Add support for MacOSX.
4205 * util/hostdisk.c: Likewise.
4206
57a55913 42072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * font/font.c (find_glyph): Check whether a font is present to avoid
4210 segmentation fault.
75421ca9 4211
42122009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 4213
4214 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
4215
e98cd0c2 42162009-07-20 Pavel Roskin <proski@gnu.org>
4217
4218 * configure.ac: Trim excessively wordy excuses.
4219
1d2d169a 42202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 Add symlink, mtime and label support to AtheFS.
4223
4224 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
4225 (grub_afs_iterate_dir): Handle symlinks.
4226 (grub_afs_open): Use grub_afs_read_symlink.
4227 (grub_afs_dir): Likewise.
4228 Pass mtime.
4229 (grub_afs_label): New function.
4230 (grub_afs_fs): Add grub_afs_label.
4231 (grub_afs_read_symlink): New function.
4232
186f3189 42332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 Fix AtheFS support.
4236
4237 * fs/afs.c: Fix comments style.
4238 (grub_afs_blockrun): Declare as packed.
4239 (grub_afs_datastream): Likewise.
4240 (grub_afs_bnode): Likewise.
4241 (grub_afs_btree): Likewise.
4242 (grub_afs_sblock): Likewise.
4243 Declare `name' as char.
4244 (grub_afs_inode): Declare as packed.
4245 Change void *vnode to grub_uint32_t unused.
4246 (grub_afs_iterate_dir): Check that key_size is positive.
4247 (grub_afs_mount): Don't read superblock twice.
75421ca9 4248 (grub_afs_dir): Don't free node in case of error,
186f3189 4249 grub_fshelp_find_file already handles this.
4250 (grub_afs_open): Likewise.
4251
5680109e 42522009-07-19 Pavel Roskin <proski@gnu.org>
4253
4254 * Makefile.in: Remove LIBLZO and enable_lzo.
4255 * conf/i386-pc.rmk: Remove lzo support.
4256 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
4257 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
4258 support.
4259 * kern/i386/pc/lzo1x.S: Remove.
4260 * kern/i386/pc/startup.S: Remove lzo support.
4261 * util/i386/pc/grub-mkimage.c: Likewise.
4262
ac70fa32 42632009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
4266 * fs/xfs.c (grub_xfs_dir): Likewise.
4267 * fs/afs.c (grub_afs_dir): Likewise.
4268 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4269 (grub_iso9660_open): Likewise.
4270 * fs/jfs.c (grub_jfs_open): Likewise.
4271 * fs/ext2.c (grub_ext2_dir): Likewise.
4272 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
4273 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 4274
eab58da2 42752009-07-16 Pavel Roskin <proski@gnu.org>
4276
d2838156 4277 * configure.ac: Never add "-c" to CFLAGS.
4278
55c70904 4279 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
4280
43e6200c 4281 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
4282 grub_cv_cc_efiemu should be used.
4283
ce7a733d 4284 * configure.ac: Typo fixes.
4285
eab58da2 4286 * kern/mm.c (grub_zalloc): New function.
4287 (grub_debug_zalloc): Likewise.
4288 * include/grub/mm.h: Declare grub_zalloc() and
4289 grub_debug_zalloc().
4290 * util/misc.c (grub_zalloc): New function.
4291 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
4292 instead of grub_malloc(), remove unneeded initializations.
4293 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
4294 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
4295 * commands/parttool.c (grub_cmd_parttool): Likewise.
4296 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4297 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
4298 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
4299 * disk/usbms.c (grub_usbms_finddevs): Likewise.
4300 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
4301 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
4302 (grub_cmd_efiemu_pnvram): Likewise.
4303 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
4304 * fs/iso9660.c (grub_iso9660_mount): Likewise.
4305 (grub_iso9660_iterate_dir): Likewise.
4306 * fs/jfs.c (grub_jfs_opendir): Likewise.
4307 * fs/ntfs.c (list_file): Likewise.
4308 (grub_ntfs_mount): Likewise.
4309 * kern/disk.c (grub_disk_open): Likewise.
4310 * kern/dl.c (grub_dl_load_core): Likewise.
4311 * kern/elf.c (grub_elf_file): Likewise.
4312 * kern/env.c (grub_env_context_open): Likewise.
4313 (grub_env_set): Likewise.
4314 (grub_env_set_data_slot): Likewise.
4315 * kern/file.c (grub_file_open): Likewise.
4316 * kern/fs.c (grub_fs_blocklist_open): Likewise.
4317 * loader/i386/multiboot.c (grub_module): Likewise.
4318 * loader/xnu.c (grub_xnu_create_key): Likewise.
4319 (grub_xnu_create_value): Likewise.
4320 * normal/main.c (grub_normal_add_menu_entry): Likewise.
4321 (read_config_file): Likewise.
4322 * normal/menu_entry.c (make_screen): Likewise.
4323 * partmap/sun.c (sun_partition_map_iterate): Likewise.
4324 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
4325 * script/sh/script.c (grub_script_parse): Likewise.
4326 * video/bitmap.c (grub_video_bitmap_create): Likewise.
4327 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4328 * video/readers/png.c (grub_png_output_byte): Likewise.
4329 (grub_video_reader_png): Likewise.
4330
830afef7 43312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 4332
4333 Enable all targets that can be built by default
4334
830afef7 4335 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 4336 grub-mkfont and grub-fstest if they can be built
4337
ee293aee 43382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 Fix hang and segmentation fault in grub-emu-usb
4341
4342 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
4343 * util/usb.c (grub_libusb_devices): likewise
4344 (grub_libusb_init): rename to ...
4345 (GRUB_MOD_INIT (libusb)):...this
4346 (grub_libusb_fini): rename to ..
4347 (GRUB_MOD_FINI (libusb)):...this
4348 * disk/usbms.c (grub_usbms_transfer): fix retry logic
4349 * include/grub/disk.h (grub_raid_init): removed, it's useless
4350 (grub_raid_fini): likewise
4351 (grub_lvm_init): likewise
4352 (grub_lvm_fini): likewise
4353 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
4354 by grub_init_all
4355
94414221 43562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Fix libusb
4359
4360 * Makefile.in (LIBUSB): new macro
4361 * genmk.rb (Utility/print_tail): new method
4362 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
4363 (top level): call util.print_tail at the end.
4364
59ade63d 43652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Make FreeBSD accept zpool.cache
4368
4369 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4370 type is /boot/zfs/zpool.cache
4371
a58da8c7 43722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Fix 64-bit efiemu
4375
4376 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4377 correct wrong typedef
4378 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4379
20591577 43802009-07-15 Pavel Roskin <proski@gnu.org>
4381
560ca572 4382 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4383 * kern/disk.c (struct grub_disk_cache): Likewise.
4384
e8e8e4fd 4385 * commands/probe.c (options): Typo fix.
4386
fde24e10 4387 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4388 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4389 accordingly.
4390 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4391
379c54c1 4392 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4393 the end of "Error" to make the message more readable.
4394
7bd8f5bf 4395 * boot/i386/pc/boot.S (kernel_segment): Remove.
4396 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4397 for destination.
4398
40b132c5 4399 * boot/i386/pc/boot.S (boot_version): Remove.
4400 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4401 Remove.
4402
20591577 4403 * include/grub/i386/pc/boot.h: Sort all offsets.
4404 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4405 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4406 * boot/i386/pc/boot.S: Assert location of every offset listed in
4407 include/grub/i386/pc/boot.h.
4408
2df32b2c 44092009-07-13 Pavel Roskin <proski@gnu.org>
4410
44b5d879 4411 * include/grub/i386/coreboot/machine.h: Rename
4412 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4413 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4414 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4415
17dc3751 4416 * kern/dl.c: Force native word size to suppress warnings when
4417 compiling grub-emu.
4418
2df32b2c 4419 * kern/device.c (grub_device_iterate): Change struct part_ent to
4420 hold the name, not a pointer to it. Use one grub_malloc() per
4421 partition, not two. Free partition_name if grub_malloc() fails.
4422 Set ents to NULL only before grub_partition_iterate() is called.
4423
75c59f59 44242009-07-11 Bean <bean123ch@gmail.com>
4425
4426 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
4427 childname.
4428
0ae1bf88 44292009-07-10 Bean <bean123ch@gmail.com>
44302009-07-10 Robert Millan <rmh.grub@aybabtu.com>
4431
4432 * kern/ieee1275/openfw.c (grub_children_iterate)
4433 (grub_devalias_iterate): Fix size evaluation for property or path
4434 strings, which was broken since r2132.
4435
8279cade 44362009-07-07 Pavel Roskin <proski@gnu.org>
4437
7d8a52d3 4438 * commands/search.c (search_file): Merge into ...
4439 (search_fs): ... this. Accept search type as argument.
4440 (grub_cmd_search): Pass search type to search_fs().
4441
25f9a05a 4442 * include/grub/util/console.h: New file.
4443 * util/console.c: Use it instead of grub/machine/console.h.
4444 * util/grub-emu.c: Likewise.
4445
8279cade 4446 * lib/arg.c (find_long_option): Remove.
4447 (find_long): Add `len' argument, make `s' const char *.
4448 (grub_arg_parse): Parse long options in place, not in a
4449 temporary buffer.
4450
4a11b60f 44512009-07-06 Pavel Roskin <proski@gnu.org>
4452
99f68041 4453 * commands/search.c (search_fs): Fix potential NULL pointer
4454 dereference.
4455
4a11b60f 4456 * commands/search.c (search_fs): Replace QUID macro with quid_fn
4457 function pointer.
4458
e110f4de 44592009-07-06 Daniel Mierswa <impulze@impulze.org>
4460
4461 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
4462 comparison.
4463
46eeb6a2 44642009-07-05 Pavel Roskin <proski@gnu.org>
4465
bab74958 4466 * include/grub/i386/linux.h (struct linux_kernel_params):
4467 Restore padding3, it's still needed.
4468
46eeb6a2 4469 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
4470 FreeBSD.
4471 * util/osdetect.lua: Likewise.
4472
b4a1dc79 44732009-07-05 Bean <bean123ch@gmail.com>
4474
4475 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
4476
4477 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
4478 (grub_lua_getenv): Likewise.
4479 (grub_lua_setenv): Likewise.
4480 (save_errno): New function.
4481 (push_result): Likewise.
4482 (grub_lua_enum_device): Likewise.
4483 (grub_lua_enum_file): Likewise.
4484 (grub_lua_file_open): Likewise.
4485 (grub_lua_file_close): Likewise.
4486 (grub_lua_file_seek): Likewise.
4487 (grub_lua_file_read): Likewise.
4488 (grub_lua_file_getline): Likewise.
4489 (grub_lua_file_getsize): Likewise.
4490 (grub_lua_file_getpos): Likewise.
4491 (grub_lua_file_eof): Likewise.
4492 (grub_lua_file_exist): Likewise.
4493 (grub_lua_add_menu): Likewise.
4494
4495 * script/lua/grub_lua.h (isupper): New inline function.
4496 (islower): Likewise.
4497 (ispunct): Likewise.
4498 (isxdigit): Likewise.
4499 (strcspn): Change to normal function.
4500 (strpbkr): New function declaration.
4501 (memchr): Likewise.
4502
4503 * script/lua/grub_main.c (scan_str): New function.
4504 (strcspn): Likewise.
4505 (strpbrk): Likewise.
4506 (memchr): Likewise.
4507
4508 * script/lua/linit.c (lualibs): Enable the string library.
4509
4510 * util/osdetect.lua: New file.
4511
2da92295 45122009-07-04 Robert Millan <rmh.grub@aybabtu.com>
4513
4514 * include/grub/i386/linux.h (struct linux_kernel_params): Add
4515 `capabilities' member.
4516
b2582ec9 45172009-07-02 Pavel Roskin <proski@gnu.org>
4518
4519 * genparttoollist.sh: Add missing newline at the end.
4520
32622956 45212009-07-01 Pavel Roskin <proski@gnu.org>
4522
87a7339e 4523 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
4524
d23af54e 4525 * util/hostdisk.c (open_device): Remove `const' from
4526 `sysctl_size', as sysctlbyname() can change it (in this case it
4527 doesn't actually happen).
4528
c94b18a9 4529 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
4530 using signed long int constants.
4531
c6cd3ef0 4532 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
4533 constant to avoid a warning on FreeBSD.
4534
0df63420 4535 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
4536 where it's needed.
4537
999577f1 4538 * Makefile.in: Install include/grub/machine symlink.
4539
6f41557f 4540 * Makefile.in: When installing symlinks, use "cp -fR", which
4541 works on FreeBSD and MacOSX.
4542 From Yves Blusseau <cl7m42e02@sneakemail.com>
4543
c8d22988 4544 * kern/dl.c (grub_dl_resolve_symbol): Make static.
4545 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
4546
1b96e952 4547 * util/misc.c: Move grub_reboot() and grub_halt() ...
4548 * util/grub-emu.c: ... here. Make main_env static.
4549 * include/grub/util/misc.h: Remove main_env.
4550
2ef0084d 4551 * kern/mm.c: Use correct format to print size_t.
4552
32622956 4553 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
4554 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
4555 * kern/powerpc/dl.c: Likewise.
4556 * kern/sparc64/dl.c: Likewise.
4557 * kern/x86_64/dl.c: Likewise.
4558
3f7f0cd0 45592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4560
4561 Fix grub-emu build on sparc64-ieee1275.
4562
75421ca9 4563 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 4564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
4565
211d06b5 45662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4567
4568 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
4569 (grub_reboot, grub_halt): New functions.
4570
4571 * util/i386/pc/misc.c: Delete. Update all users.
4572 * util/sparc64/ieee1275/misc.c: Likewise.
4573 * util/powerpc/ieee1275/misc.c: Likewise.
4574
aaf53e3c 45752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4576
4577 * conf/i386.rmk (setjmp_mod_SOURCES)
4578 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
4579 * conf/common.rmk (setjmp_mod_SOURCES)
4580 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
4581 to use $(target_cpu).
4582 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
4583 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
4584 * conf/powerpc-ieee1275.rmk: Likewise.
4585 * conf/sparc64-ieee1275.rmk: Likewise.
4586
4587 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
4588 $(target_cpu) for kern/$(target_cpu)/dl.c.
4589 * conf/i386-efi.rmk: Likewise.
4590 * conf/i386-ieee1275.rmk: Likewise.
4591 * conf/x86_64-efi.rmk: Likewise.
4592 * conf/i386-coreboot.rmk: Likewise.
4593 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
4594 $(target_cpu) for kern/$(target_cpu)/dl.c and for
4595 kern/$(target_cpu)/cache.S.
4596 * conf/sparc64-ieee1275.rmk: Likewise.
4597
a337130b 45982009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4599
4600 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
4601 type to `grub_uint8_t', and adjust `padding9' accordingly.
4602
c6fe4d53 46032009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4604
b09db61d 4605 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
4606
c6fe4d53 4607 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
4608 assembly in final jump, using register constraints.
4609
b09db61d 4610 (grub_linux_boot): For text mode, initialize `have_vga' using
4611 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
4612
4613 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
4614 right before the final jump.
4615
4616 Set `video_mode' to 0x3.
4617
4618 Document initialization of `video_page', `video_mode' and
4619 `video_ega_bx'.
4620
28333ad0 46212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4622
4623 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
4624 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 4625 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 4626
02164e1b 46272009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4628
4629 Fix build on Debian / sparc.
4630
4631 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
4632
18b6c557 46332009-06-28 Pavel Roskin <proski@gnu.org>
4634
85f2aab6 4635 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
4636 fix a warning.
4637
18b6c557 4638 * util/grub.d/10_linux.in: Match SUSE style initrd names.
4639
ad760f81 46402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4641
4642 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
4643 `err'.
4644
87a4623b 46452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4646
4647 Revert r2338.
4648
4649 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
4650 file can't be opened. grub_file_open() is already supposed to set
75421ca9 4651 grub_errno / grub_errmsg appropriately.
87a4623b 4652 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4653
8231fb77 46542009-06-27 Pavel Roskin <proski@gnu.org>
46552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4656
4657 * include/grub/dl.h: Include grub/elf.h.
4658 (struct grub_dl): Add symtab field.
4659 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
4660 GRUB_MODULES_MACHINE_READONLY.
4661 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
4662 of the header for read-only modules.
4663 (grub_dl_unload): Free mod->symtab for read-only modules.
4664 * kern/i386/dl.c: Use mod->symtab.
4665 * kern/powerpc/dl.c: Likewise.
4666 * kern/sparc64/dl.c: Likewise.
4667 * kern/x86_64/dl.c: Likewise.
4668
4669 * conf/i386-qemu.rmk: New file.
4670 * kern/i386/qemu/startup.S: Likewise.
4671 * kern/i386/qemu/mmap.c: Likewise.
4672 * boot/i386/qemu/boot.S: Likewise.
4673 * include/grub/i386/qemu/time.h: Likewise.
4674 * include/grub/i386/qemu/serial.h: Likewise.
4675 * include/grub/i386/qemu/kernel.h: Likewise.
4676 * include/grub/i386/qemu/console.h: Likewise.
4677 * include/grub/i386/qemu/boot.h: Likewise.
4678 * include/grub/i386/qemu/init.h: Likewise.
4679 * include/grub/i386/qemu/machine.h: Likewise.
4680 * include/grub/i386/qemu/loader.h: Likewise.
4681 * include/grub/i386/qemu/memory.h: Likewise.
4682
4683 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
4684 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
4685 [qemu] (pkglib_IMAGES): Add `boot.img'.
4686 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
4687 [qemu] (boot_img_FORMAT): New variables.
4688 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
4689 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
4690 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
4691 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4692 [qemu] (kernel_img_FORMAT): New variables.
4693
4694 * configure.ac: Recognise `i386-qemu'.
4695
4696 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
4697 (for no compression).
4698 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
4699 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
4700 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
4701 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
4702 ifdefs).
4703
97fe384e 47042009-06-27 Pavel Roskin <proski@gnu.org>
4705
4706 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
4707 read.
4708 * efiemu/prepare32.c: Likewise.
4709 * efiemu/prepare64.c: Likewise.
4710
c402ab17 47112009-06-26 Pavel Roskin <proski@gnu.org>
4712
4713 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
4714 * include/grub/elf.h: Define symbols without "32" or "64" based
4715 on GRUB_TARGET_WORDSIZE.
4716 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
4717 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
4718 ELF definitions.
4719 * efiemu/loadcore64.c: Likewise.
4720 * loader/i386/bsd32.c: Likewise.
4721 * loader/i386/bsd64.c: Likewise.
4722 * kern/dl.c: Remove own ELF definitions.
4723 * util/i386/efi/grub-mkimage.c: Likewise.
4724
9bbdfd4d 47252009-06-23 Robert Millan <rmh.grub@aybabtu.com>
4726
4727 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
4728 segment 0x0 unconditionally, because the reference generated by
4729 GAS is an absolute address.
4730
a42ce6e9 47312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4732
4733 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
4734 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
4735
c952cf92 47362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4737
4738 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
4739 indexes. Check for -f explicitly.
cc3752ad 4740 (search_file): Improve error message.
4741 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 4742
132a0a59 47432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4744
4745 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
4746 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
4747
387a140c 47482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4749
4750 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
4751 * conf/i386-ieee1275.rmk: Likewise.
4752 * conf/i386-coreboot.rmk: Likewise.
4753
4754 * kern/i386/pc/startup.S (grub_stop): Remove function.
4755 * kern/i386/ieee1275/startup.S: Likewise.
4756 * kern/i386/coreboot/startup.S: Likewise.
4757 * kern/i386/misc.S (grub_stop): New function.
4758
41da9665 47592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4760
4761 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
4762 * kern/i386/realmode.S (real_to_prot): ... to here.
4763
bf337234 47642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4765
4766 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
4767 with `kernel.img'.
4768 (kernel_elf_SOURCES): Rename to ...
4769 (kernel_img_SOURCES): ... this.
4770 (kernel_elf_HEADERS): Rename to ...
4771 (kernel_img_HEADERS): ... this. Update all users.
4772 (kernel_elf_ASFLAGS): Rename to ...
4773 (kernel_img_ASFLAGS): ... this.
4774 (kernel_elf_CFLAGS): Rename to ...
4775 (kernel_img_CFLAGS): ... this.
4776 (kernel_elf_LDFLAGS): Rename to ...
4777 (kernel_img_LDFLAGS): ... this.
4778 * conf/i386-coreboot.rmk: Likewise.
4779 * conf/powerpc-ieee1275.rmk: Likewise.
4780
4781 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
4782 with "kernel.img".
4783
f52196ff 47842009-06-21 Pavel Roskin <proski@gnu.org>
4785
c3cee413 4786 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
4787 to match nested functions.
4788 * loader/sparc64/ieee1275/linux.c: Likewise.
4789
f52196ff 4790 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
4791
58750afc 47922009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4793
4794 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
4795 all i386 platforms.
4796
15355c7d 47972009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4798
4799 Fix asm file handling on ELF, and remove workarounds.
4800
4801 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 4802 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 4803 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
4804 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
4805
3f3ec72b 48062009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 Load BSD ELF modules
4809
4810 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
4811 and loader/i386/bsd64.c
4812 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
4813 (FREEBSD_MODTYPE_ELF_MODULE): New definition
4814 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
4815 (grub_freebsd_load_elfmodule32): New declaration
4816 (grub_freebsd_load_elfmoduleobj64): Likewise
4817 (grub_freebsd_load_elf_meta32): Likewise
4818 (grub_freebsd_load_elf_meta64): Likewise
4819 (grub_freebsd_add_meta): Likewise
4820 (grub_freebsd_add_meta_module): Likewise
4821 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
4822 (grub_freebsd_add_meta_module): Likewise and move module-specific
4823 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
4824 (grub_cmd_freebsd): Add elf-kernel specific parts
4825 based on grub_freebsd_add_meta_module
4826 (grub_cmd_freebsd_module): Add type parsing moved from
4827 grub_freebsd_add_meta_module
4828 (grub_cmd_freebsd_module_elf): New function
4829 (cmd_freebsd_module_elf): New variable
4830 (GRUB_MOD_INIT): Register freebsd_module_elf
4831 * loader/i386/bsd32.c: New file
4832 * loader/i386/bsd64.c: Likewise
4833 * loader/i386/bsdXX.c: Likewise
4834 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
4835 (grub_elf64_load): Likewise
4836 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
4837 All users updated
4838 (grub_elf64_load_hook_t): Likewise
4839
0db15301 48402009-06-21 Colin Watson <cjwatson@ubuntu.com>
4841
4842 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
4843 variable.
4844 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
4845 don't write a menu entry for recovery mode.
4846
546796c1 48472009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
4850 after it's no longer needed.
4851
cd7310d5 48522009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4853
4854 * include/grub/i386/loader.h (grub_linux_prot_size)
4855 (grub_linux_tmp_addr, grub_linux_real_addr)
4856 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
4857 GRUB_MACHINE_PCBIOS.
4858 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
4859 common grub_util_info() call to ...
4860 (generate_image): ... here.
4861 Fix use of uninitialized memory, comparison of signed with
4862 unsigned integers and memory leak.
4863 Remove bogus module address message.
4864
ab32d3b5 48652009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
4868 grub_raid_register
4869 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
4870
024ef597 48712009-06-19 Pavel Roskin <proski@gnu.org>
4872
4873 * configure.ac: Remove stray AC_MSG_CHECKING.
4874
3ac72b51 48752009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 4878
e14cd814 48792009-06-18 Pavel Roskin <proski@gnu.org>
4880
4881 * conf/common.rmk: Add fs_file.mod.
4882 * disk/fs_file.c: New file.
4883 * include/grub/disk.h (enum grub_disk_dev_id): Add
4884 GRUB_DISK_DEVICE_FILE_ID.
4885
26586d98 48862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Fix build with Apple's toolchain. Part 2
4889
4890 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
4891 a fake start
4892
26de2bcd 48932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Fix build with Apple's toolchain. Part 1
4896
4897 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
4898 for long calls
4899 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 4900 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 4901 Apple's toolchain
4902
09b3490b 49032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 Fix warnings
4906
4907 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
4908 (decomp_block): initialize ch
4909 use grub_memcpy instead of memcpy
4910
c22a006a 49112009-06-17 Pavel Roskin <proski@gnu.org>
4912
d3638678 4913 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
4914 version, use declarations needed to use vga_text as the startup
4915 console.
4916
c22a006a 4917 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
4918 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
4919 the kernel.
4920 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
4921 and grub_at_keyboard_fini(), it's done on module load and
4922 unload.
4923
05b129e0 49242009-06-17 Felix Zielcke <fzielcke@z-51.de>
4925
4926 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
4927 file can't be found.
4928 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4929
cf24ed9e 49302009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Fix newline handling
4933
4934 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 4935 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 4936 (grub_script_yylex): don't segfault on unterminated script
4937 newline terminates command and variable
4938
74aa8e4b 49392009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 avoid double grub_adjust_range call. Bug reported by David Simner
4942
4943 * kern/disk.c (grub_disk_write): change to raw disk access before
4944 calling disk_read
4945
1bd265f3 49462009-06-17 Colin Watson <cjwatson@ubuntu.com>
4947
4948 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
4949 spaces, for the benefit of help2man.
4950 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4951
a2d08c06 49522009-06-16 Pavel Roskin <proski@gnu.org>
4953
4954 * kern/i386/halt.c: Include grub/machine/init.h.
4955 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
4956
b97bcb19 49572009-06-16 Felix Zielcke <fzielcke@z-51.de>
4958
4959 * util/grub.d/30_os-prober.in: Use ${root} in the generated
4960 drivemap menuentry.
4961
0644f96c 49622009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
4963
4964 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
4965 `echo' command.
4966
3ef17a2e 49672009-06-16 Pavel Roskin <proski@gnu.org>
4968
4969 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
4970 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
4971 save %dx, we only need %dl and we never change it.
4972 * boot/i386/pc/cdboot.S: Don't set the root drive.
4973 * boot/i386/pc/pxeboot.S: Likewise.
4974 * include/grub/i386/pc/boot.h: Remove
4975 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
4976 GRUB_BOOT_MACHINE_DRIVE_CHECK.
4977 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
4978 * kern/i386/pc/init.c (make_install_device): Remove references
4979 to grub_root_drive.
4980 * kern/i386/pc/startup.S: Likewise.
4981 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
4982
693fe637 49832009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 xnu_uuid command
4986
4987 * commands/xnu_uuid.c: new file
4988 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
4989 (xnu_uuid_mod_SOURCES): new variable
4990 (xnu_uuid_mod_CFLAGS): likewise
4991 (xnu_uuid_mod_LDFLAGS): likewise
4992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
4993 * conf/i386-ieee1275.rmk: likewise
4994 * conf/i386-pc.rmk: likewise
4995 * conf/powerpc-ieee1275.rmk: likewise
4996 * conf/sparc64-ieee1275.rmk: likewise
4997 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
4998
c9da87d0 49992009-06-16 Pavel Roskin <proski@gnu.org>
5000
5001 * configure.ac: Avoid '==' in test command, it's not portable.
5002
9c6f4596 50032009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Probe command
5006
5007 * commands/probe.c: new file
5008 * conf/common.rmk (pkglib_MODULES): add probe.mod
5009 (probe_mod_SOURCES): new variable
5010 (probe_mod_CFLAGS): likewise
5011 (probe_mod_LDFLAGS): likewise
5012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
5013 * conf/i386-ieee1275.rmk: likewise
5014 * conf/i386-pc.rmk: likewise
5015 * conf/powerpc-ieee1275.rmk: likewise
5016 * conf/sparc64-ieee1275.rmk: likewise
5017
70b7f9fd 50182009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 Fix handling of string like \"hello\" and "a
5021 b"
5022
5023 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
5024 (grub_script_yylex): fix parsing of quoting, escaping and newline
5025
71c79a6b 50262009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5027
dd74360c 5028 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 5029 handling
dd74360c 5030
0644f96c 50312009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 5032
5033 * util/grub-mkconfig.in: Fix parsing of --output option.
5034
e40893c3 50352009-06-12 Pavel Roskin <proski@gnu.org>
5036
5037 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
5038 genmk.rb don't need to be generated or installed.
5039
3a1acfe2 50402009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * commands/i386/pc/drivemap_int13h.S: add more comments
5043
3a4575d4 50442009-06-11 Pavel Roskin <proski@gnu.org>
5045
0658e928 5046 * Makefile.in (uninstall): Uninstall manuals.
5047
ca0388f0 5048 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
5049 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
5050 and update-grub_lib in two places.
5051 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
5052
e3b27c39 5053 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
5054 a compiler warning.
5055
3a4575d4 5056 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
5057 `entry_lo' to fix variable shadowing.
5058
af1f4f55 50592009-06-11 Christian Franke <franke@computer.org>
5060
5061 * kern/misc.c (__enable_execute_stack): Add missing return type
5062 to prevent gcc warning.
5063
5225e649 50642009-06-11 Felix Zielcke <fzielcke@z-51.de>
5065
5066 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
5067
7d83bd47 50682009-06-11 Pavel Roskin <proski@gnu.org>
5069
c1cb63ba 5070 * Makefile.in: Don't rely on any scripts being executable.
5071 Always use $(SHELL) to run shell scripts.
5072
7d83bd47 5073 * configure.ac: Always define ___main if using -nostdlib. This
5074 fixes tests on Cygwin.
5075
948f48e7 50762009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
5077
5078 UDF fix
5079
7d83bd47 5080 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 5081 is in bytes and not in blocks
7d83bd47 5082
8ada9bc1 50832009-06-11 Pavel Roskin <proski@gnu.org>
5084
5085 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
5086 warning.
5087
25ad2323 50882009-06-11 Felix Zielcke <fzielcke@z-51.de>
5089
5090 * util/grub.d/30_os-prober.in: Fix a comment. Source
5091 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
5092 to set the root device. Place drivemap command in the generated
5093 chain entry.
5094
e65acb0c 50952009-06-11 Pavel Roskin <proski@gnu.org>
5096
5097 * configure.ac: Remove host_m32. Issues with 64-bit utilities
5098 have long been resolved.
5099
f285fe2d 51002009-06-11 Colin Watson <cjwatson@ubuntu.com>
5101
bd47b0b5 5102 * util/grub.d/10_linux.in: Capitalise "Linux".
5103
f285fe2d 5104 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
5105
a0c62e4e 51062009-06-11 Pavel Roskin <proski@gnu.org>
5107
b6783cb2 5108 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
5109 fix a gcc warning and ensure that the function won't ever exit.
5110
dde032e8 5111 * kern/i386/ieee1275/init.c: Add missing prototype for
5112 grub_stop_floppy().
5113
22cd079d 5114 * loader/ieee1275/multiboot2.c [__i386__]: Include
5115 grub/cpu/multiboot.h.
5116
a0c62e4e 5117 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
5118 casts to short - they are not portable and cause warnings. Fix
5119 use of uninitialized values in input_buf. Use ARRAY_SIZE.
5120
63963d17 51212009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 Drivemap fixes
5124
5125 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
5126 new function
5127 (grub_get_root_biosnumber_saved): new variable
5128 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
5129 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 5130 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 5131 %dx after the call if necessary
5132 * conf/common.rmk (pkglib_MODULES): remove boot.mod
5133 (boot_mod_SOURCES): remove
5134 (boot_mod_CFLAGS): remove
5135 (boot_mod_LDFLAGS): remove
5136 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
5137 (boot_mod_SOURCES): new variable
5138 (boot_mod_CFLAGS): likewise
5139 (boot_mod_LDFLAGS): likewise
5140 * conf/i386-efi.rmk: likewise
5141 * conf/i386-ieee1275.rmk: likewise
5142 * conf/i386-pc.rmk: likewise
5143 * conf/powerpc-ieee1275.rmk: likewise
5144 * conf/sparc64-ieee1275.rmk: likewise
5145 * conf/x86_64-efi.rmk: likewise
5146 * include/grub/i386/pc/biosnum.h: new file
5147 * lib/i386/pc/biosnum.c: likewise
5148 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
5149 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
5150 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 5151
33abf7ae 51522009-06-10 Pavel Roskin <proski@gnu.org>
5153
5ac35b35 5154 * io/gzio.c (test_header): Don't reuse one buffer for all data.
5155 Use separate variables. Read only the file size at the end, but
5156 not the checksum that we don't use.
5157
5c5215d5 5158 * kern/file.c (grub_file_read): Use void pointer for the buffer.
5159 Adjust all callers.
5160
27d5fef7 5161 * kern/ieee1275/openfw.c: Remove libc includes.
5162 * kern/ieee1275/cmain.c: Likewise.
5163 * include/grub/ieee1275/ieee1275.h: Likewise.
5164
33abf7ae 5165 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
5166 compiler warnings.
5167
19d50c2b 51682009-06-10 Felix Zielcke <fzielcke@z-51.de>
5169
5170 * Makefile.in: Remove all trailing whitespace.
5171 * conf/i386-pc.rmk: Likewise.
5172 * conf/powerpc-ieee1275.rmk: Likewise.
5173 * conf/sparc64-ieee1275.rmk: Likewise.
5174 * docs/grub.texi: Likewise.
5175 * docs/texinfo.tex: Likewise.
5176 * disk/fs_uuid.c: Likewise.
5177 * disk/lvm.c: Likewise.
5178 * disk/scsi.c: Likewise.
5179 * disk/ata.c: Likewise.
5180 * disk/ieee1275/ofdisk.c: Likewise.
5181 * disk/i386/pc/biosdisk.c: Likewise.
5182 * disk/host.c: Likewise.
5183 * disk/raid.c: Likewise.
5184 * disk/efi/efidisk.c: Likewise.
5185 * disk/usbms.c: Likewise.
5186 * disk/memdisk.c: Likewise.
5187 * disk/loopback.c: Likewise.
5188 * kern/powerpc/dl.c: Likewise.
5189 * kern/device.c: Likewise.
5190 * kern/dl.c: Likewise.
5191 * kern/sparc64/dl.c: Likewise.
5192 * kern/ieee1275/ieee1275.c: Likewise.
5193 * kern/term.c: Likewise.
5194 * kern/fs.c: Likewise.
5195 * kern/i386/dl.c: Likewise.
5196 * kern/i386/pc/startup.S: Likewise.
5197 * kern/i386/pc/init.c: Likewise.
5198 * kern/i386/pc/mmap.c: Likewise.
5199 * kern/i386/pc/lzo1x.S: Likewise.
5200 * kern/i386/ieee1275/init.c: Likewise.
5201 * kern/i386/realmode.S: Likewise.
5202 * kern/i386/tsc.c: Likewise.
5203 * kern/partition.c: Likewise.
5204 * kern/corecmd.c: Likewise.
5205 * kern/file.c: Likewise.
5206 * kern/efi/efi.c: Likewise.
5207 * kern/efi/init.c: Likewise.
5208 * kern/efi/mm.c: Likewise.
5209 * kern/main.c: Likewise.
5210 * kern/err.c: Likewise.
5211 * kern/env.c: Likewise.
5212 * kern/disk.c: Likewise.
5213 * kern/generic/millisleep.c: Likewise.
5214 * kern/generic/rtc_get_time_ms.c: Likewise.
5215 * kern/misc.c: Likewise.
5216 * kern/parser.c: Likewise.
5217 * genmk.rb: Likewise.
5218 * configure.ac: Likewise.
5219 * boot/i386/pc/diskboot.S: Likewise.
5220 * boot/i386/pc/pxeboot.S: Likewise.
5221 * boot/i386/pc/boot.S: Likewise.
5222 * boot/i386/pc/lnxboot.S: Likewise.
5223 * boot/i386/pc/cdboot.S: Likewise.
5224 * parttool/pcpart.c: Likewise.
5225 * video/readers/tga.c: Likewise.
5226 * video/video.c: Likewise.
5227 * video/bitmap.c: Likewise.
5228 * lib/envblk.c: Likewise.
5229 * lib/i386/setjmp.S: Likewise.
5230 * fs/xfs.c: Likewise.
5231 * fs/afs.c: Likewise.
5232 * fs/fat.c: Likewise.
5233 * fs/ntfs.c: Likewise.
5234 * fs/udf.c: Likewise.
5235 * fs/affs.c: Likewise.
5236 * fs/iso9660.c: Likewise.
5237 * fs/hfs.c: Likewise.
5238 * fs/fshelp.c: Likewise.
5239 * fs/ext2.c: Likewise.
5240 * fs/jfs.c: Likewise.
5241 * fs/reiserfs.c: Likewise.
5242 * fs/hfsplus.c: Likewise.
5243 * fs/minix.c: Likewise.
5244 * fs/cpio.c: Likewise.
5245 * fs/sfs.c: Likewise.
5246 * fs/ufs.c: Likewise.
5247 * efiemu/prepare.c: Likewise.
5248 * efiemu/loadcore_common.c: Likewise.
5249 * efiemu/runtime/efiemu.sh: Likewise.
5250 * efiemu/runtime/efiemu.S: Likewise.
5251 * efiemu/runtime/efiemu.c: Likewise.
5252 * efiemu/pnvram.c: Likewise.
5253 * efiemu/main.c: Likewise.
5254 * efiemu/i386/pc/cfgtables.c: Likewise.
5255 * efiemu/i386/loadcore64.c: Likewise.
5256 * efiemu/i386/loadcore32.c: Likewise.
5257 * efiemu/loadcore.c: Likewise.
5258 * efiemu/symbols.c: Likewise.
5259 * efiemu/mm.c: Likewise.
5260 * include/grub/autoefi.h: Likewise.
5261 * include/grub/datetime.h: Likewise.
5262 * include/grub/term.h: Likewise.
5263 * include/grub/hfs.h: Likewise.
5264 * include/grub/lvm.h: Likewise.
5265 * include/grub/i386/tsc.h: Likewise.
5266 * include/grub/i386/linux.h: Likewise.
5267 * include/grub/i386/xnu.h: Likewise.
5268 * include/grub/i386/efiemu.h: Likewise.
5269 * include/grub/i386/pc/biosdisk.h: Likewise.
5270 * include/grub/i386/pc/memory.h: Likewise.
5271 * include/grub/i386/pc/vbe.h: Likewise.
5272 * include/grub/parttool.h: Likewise.
5273 * include/grub/video.h: Likewise.
5274 * include/grub/memory.h: Likewise.
5275 * include/grub/fs.h: Likewise.
5276 * include/grub/partition.h: Likewise.
5277 * include/grub/xnu.h: Likewise.
5278 * include/grub/efi/api.h: Likewise.
5279 * include/grub/efi/pe32.h: Likewise.
5280 * include/grub/efi/memory.h: Likewise.
5281 * include/grub/multiboot.h: Likewise.
5282 * include/grub/usbdesc.h: Likewise.
5283 * include/grub/multiboot2.h: Likewise.
5284 * include/grub/acpi.h: Likewise.
5285 * include/grub/efiemu/efiemu.h: Likewise.
5286 * include/grub/disk.h: Likewise.
5287 * include/grub/ieee1275/ieee1275.h: Likewise.
5288 * include/grub/net.h: Likewise.
5289 * include/grub/machoload.h: Likewise.
5290 * include/grub/macho.h: Likewise.
5291 * include/multiboot.h: Likewise.
5292 * genmoddep.awk: Likewise.
5293 * normal/main.c: Likewise.
5294 * normal/menu_entry.c: Likewise.
5295 * normal/menu_viewer.c: Likewise.
5296 * normal/completion.c: Likewise.
5297 * normal/cmdline.c: Likewise.
5298 * normal/misc.c: Likewise.
5299 * normal/datetime.c: Likewise.
5300 * bus/usb/usbtrans.c: Likewise.
5301 * bus/usb/ohci.c: Likewise.
5302 * bus/usb/uhci.c: Likewise.
5303 * bus/usb/usb.c: Likewise.
5304 * mmap/efi/mmap.c: Likewise.
5305 * mmap/i386/pc/mmap_helper.S: Likewise.
5306 * mmap/i386/pc/mmap.c: Likewise.
5307 * mmap/i386/mmap.c: Likewise.
5308 * mmap/i386/uppermem.c: Likewise.
5309 * mmap/mmap.c: Likewise.
5310 * commands/acpi.c: Likewise.
5311 * commands/echo.c: Likewise.
5312 * commands/blocklist.c: Likewise.
5313 * commands/loadenv.c: Likewise.
5314 * commands/usbtest.c: Likewise.
5315 * commands/boot.c: Likewise.
5316 * commands/parttool.c: Likewise.
5317 * commands/search.c: Likewise.
5318 * commands/cat.c: Likewise.
5319 * commands/i386/pc/play.c: Likewise.
5320 * commands/i386/pc/drivemap.c: Likewise.
5321 * commands/i386/pc/vbeinfo.c: Likewise.
5322 * commands/i386/pc/acpi.c: Likewise.
5323 * commands/i386/pc/vbetest.c: Likewise.
5324 * commands/ls.c: Likewise.
5325 * commands/cmp.c: Likewise.
5326 * commands/test.c: Likewise.
5327 * commands/efi/acpi.c: Likewise.
5328 * commands/gptsync.c: Likewise.
5329 * commands/help.c: Likewise.
5330 * partmap/amiga.c: Likewise.
5331 * partmap/apple.c: Likewise.
5332 * partmap/acorn.c: Likewise.
5333 * partmap/pc.c: Likewise.
5334 * partmap/sun.c: Likewise.
5335 * partmap/gpt.c: Likewise.
5336 * script/sh/lexer.c: Likewise.
5337 * script/sh/function.c: Likewise.
5338 * font/font.c: Likewise.
5339 * font/font_cmd.c: Likewise.
5340 * loader/powerpc/ieee1275/linux.c: Likewise.
5341 * loader/efi/chainloader.c: Likewise.
5342 * loader/multiboot_loader.c: Likewise.
5343 * loader/macho.c: Likewise.
5344 * loader/i386/multiboot.c: Likewise.
5345 * loader/i386/linux.c: Likewise.
5346 * loader/i386/pc/linux.c: Likewise.
5347 * loader/i386/pc/multiboot2.c: Likewise.
5348 * loader/i386/pc/chainloader.c: Likewise.
5349 * loader/i386/pc/xnu.c: Likewise.
5350 * loader/i386/bsd_trampoline.S: Likewise.
5351 * loader/i386/efi/linux.c: Likewise.
5352 * loader/i386/multiboot_elfxx.c: Likewise.
5353 * loader/i386/bsd_helper.S: Likewise.
5354 * loader/i386/bsd.c: Likewise.
5355 * loader/i386/linux_trampoline.S: Likewise.
5356 * loader/i386/xnu_helper.S: Likewise.
5357 * loader/i386/xnu.c: Likewise.
5358 * loader/i386/bsd_pagetable.c: Likewise.
5359 * loader/i386/multiboot_helper.S: Likewise.
5360 * loader/xnu.c: Likewise.
5361 * loader/xnu_resume.c: Likewise.
5362 * io/gzio.c: Likewise.
5363 * term/efi/console.c: Likewise.
5364 * term/terminfo.c: Likewise.
5365 * term/ieee1275/ofconsole.c: Likewise.
5366 * term/i386/pc/serial.c: Likewise.
5367 * term/i386/pc/vesafb.c: Likewise.
5368 * term/i386/pc/vga.c: Likewise.
5369 * term/usb_keyboard.c: Likewise.
5370 * term/gfxterm.c: Likewise.
5371 * aclocal.m4: Likewise.
5372 * util/lvm.c: Likewise.
5373 * util/grub.d/30_os-prober.in: Likewise.
5374 * util/grub.d/10_hurd.in: Likewise.
5375 * util/console.c: Likewise.
5376 * util/grub-macho2img.c: Likewise.
5377 * util/grub-probe.c: Likewise.
5378 * util/hostfs.c: Likewise.
5379 * util/i386/pc/grub-mkimage.c: Likewise.
5380 * util/i386/pc/grub-setup.c: Likewise.
5381 * util/i386/efi/grub-mkimage.c: Likewise.
5382 * util/grub-mkconfig.in: Likewise.
5383 * util/raid.c: Likewise.
5384 * util/resolve.c: Likewise.
5385 * util/grub-mkdevicemap.c: Likewise.
5386 * util/grub-emu.c: Likewise.
5387 * util/getroot.c: Likewise.
5388 * util/hostdisk.c: Likewise.
5389 * util/usb.c: Likewise.
5390 * util/grub-editenv.c: Likewise.
5391 * util/misc.c: Likewise.
5392
d2d49665 53932009-06-10 Felix Zielcke <fzielcke@z-51.de>
5394
5395 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5396 `genparttoollist.sh'.
5397 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5398 Add `*.sh' to the list find searches for and change `mdate.sh'
5399 to `mdate-sh'.
5400
fe052e37 54012009-06-10 Pavel Roskin <proski@gnu.org>
5402
2763ac18 5403 * include/grub/multiboot2.h: Provide compatibility defines for
5404 multiboot2.h.
5405 * include/multiboot2.h: Include stdint.h only if needed, using
5406 angle brackets.
5407 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5408 grub/multiboot2.h.
5409 * loader/ieee1275/multiboot2.c: Likewise.
5410 * loader/multiboot2.c: Likewise.
5411 * loader/multiboot_loader.c: Likewise.
5412
437e6adc 5413 * configure.ac: Use -nostdlib when probing for the target. It
5414 should not be required to have libc for the target.
5415
06a6836c 5416 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5417 they fail without libc headers for the target.
5418 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5419 exports.
5420 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5421 preprocessor conditionals.
5422
fe052e37 5423 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5424 build system doesn't need to be aware of the tar.c internals.
5425
afd22553 54262009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 5427
afd22553 5428 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 5429
6b787c4f 54302009-06-09 Robert Millan <rmh.grub@aybabtu.com>
5431
5432 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
5433 disk limit to 26 for IDE, Virtio, Xen and SCSI.
5434
54352009-06-09 Felix Zielcke <fzielcke@z-51.de>
5436
5437 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 5438 aren't available if ata.mod gets used.
6b787c4f 5439
473d1e45 54402009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 5441
473d1e45 5442 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 5443 initialising controller.
473d1e45 5444 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 5445
255a27d4 54462009-06-08 Felix Zielcke <fzielcke@z-51.de>
5447
5448 * util/i386/pc/grub-install.in: Add a parameter --disk-module
5449 to choose between ata and biosdisk module on i386-pc.
5450
473d1e45 54512009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 5452
d55842d8 5453 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
5454 Subclass and Programming Interface fields in terms of the 3 byte
5455 Class Code register.
5456 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5457
fa5db0b1 5458 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
5459 interface is OHCI. Add grub_dprintf for symmetry with
5460 bus/usb/uhci.c.
5461 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
5462 interface is UHCI. Add interf variable for programming
5463 interface. Print interface with class/subclass.
5464
c0947beb 5465 * bus/usb/ohci.c: Set interf with correct field.
5466
69da8877 5467 * bus/usb/uhci.c: Remove unneeded doubled lines.
5468 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
5469 Remove whitespace inside comment.
5470
9e172e30 54712009-06-08 Robert Millan <rmh.grub@aybabtu.com>
5472
5473 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
5474 as fallback an equivalent option without depth.
5475
de65ee2b 54762009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 Not fail if unable to retrieve C/H/S on LBA disks
5479
473d1e45 5480 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 5481 if unable to retrieve C/H/S on LBA disks
5482
b57ea2c9 54832009-06-08 Pavel Roskin <proski@gnu.org>
5484
5485 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
5486 about aliasing.
5487
af361263 54882009-06-08 Felix Zielcke <fzielcke@z-51.de>
5489
5490 * Makefile.in (uninstall): Remove all $lib_DATA files.
5491
4c9ec6b3 54922009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 Bugfix: install on partitionless device
5495
5496 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
5497 is a whole disk
5498
e76fc924 54992009-06-08 Felix Zielcke <fzielcke@z-51.de>
5500
5501 * Makefile.in (uninstall): Remove all $include_DATA files.
5502
ba5a0d05 55032009-06-08 Felix Zielcke <fzielcke@z-51.de>
5504
5505 * commands/true.c: New file. Implement the true and false commands.
5506 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
5507 (true_mod_SOURCES): New variable.
5508 (true_mod_CFLAGS): Likewise.
5509 (true_mod_LDFLAGS): Likewise.
5510
c8048e32 55112009-06-05 Colin D Bennett <colin@gibibit.com>
5512
5513 Optimized font character lookup using binary search instead of linear
5514 search. Fonts now are required to have the character index ordered by
5515 code point.
5516
5517 * font/font.c (load_font_index): Verify that fonts have ordered
5518 character indices.
5519 (find_glyph): Use binary search instead of linear search to find a
5520 character in a font.
5521
408305be 55222009-06-05 Michael Scherer <misc@mandriva.org>
5523
5524 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
5525 uses case sensitive btree.
5526 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
5527 only for case insensitive filesystems.
5528
8ee1e0d9 55292009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
5532 * conf/common.rmk (search_mod_CFLAGS): likewise
5533
a9966eb1 55342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5535
473d1e45 5536 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 5537 compensate a compiler bug
5538
9e7100fb 55392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5540
473d1e45 5541 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 5542 instead of '\b'
473d1e45 5543
ede21d71 55442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Definitions for creating asm symbols with Apple's CC
5547
5548 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
5549 [APPLE_CC] (VARIABLE): likewise
5550
9dbf7653 55512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Disable lnxboot.img when compiled
5554 with Apple's CC
5555
5556 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
5557 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
5558 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
5559 [! APPLE_CC] (CODE_LENG): skip
5560 [! APPLE_CC] (setup_sects): likewise
5561 [! APPLE_CC]: skip filling
473d1e45 5562
e93cdc3d 55632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 Address in trampolines based on 32-bit registers when compiled
5566 with Apple's CC
5567
473d1e45 5568 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 5569 for addresses
5570 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
5571
6c688477 55722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Avoid aliases when compiling with Apple's CC for PCBIOS machine
5575
5576 * kern/misc.c [APPLE_CC] (memcpy): new function
5577 [APPLE_CC] (memmove): likewise
5578 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 5579 (memcpy): define alias conditionally on !APPLE_CC
6c688477 5580 (memset): likewise
5581 (abort): likewise
5582 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
5583 APPLE_CC are defined
5584 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
5585 (grub_assert_fail): make prototype conditional
5586
e37ffc5c 55872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
5590
473d1e45 5591 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
5592 grub-macho2img
e37ffc5c 5593 (CLEANFILES): add grub-macho2img
5594 (grub_macho2img_SOURCES): new variable
5595 * kern/i386/pc/startup.S (bss_start): new variable
5596 (bss_end): likewise
5597 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
5598 * util/grub-macho2img.c: new file
5599
cf00df31 56002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 Use objconv when compiling with Apple's CC
5603
5604 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
5605 (efiemu64.o): likewise
5606 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
5607 when compiling with Apple's CC
5608 (efiemu64_s.o): likewise
5609 * configure.ac: check for objconv when compiling with Apple's CC
5610 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 5611
d119a20c 56122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Define segment as well as section when compiling with
5615 Apple's CC
5616
5617 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
5618 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
5619 (efiemu_convert_pointer): likewise
5620 (efiemu_set_virtual_address_map): likewise
5621 (efiemu_convert_pointer): likewise
5622 (efiemu_getcrc32): likewise
5623 (init_crc32_table): likewise
5624 (reflect): likewise
5625 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
5626 (GRUB_MOD_DEP): likewise
473d1e45 5627
c8600122 56282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Allow a compilation without -mcmodel=large
5631
5632 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
5633 when compiled without -mcmodel=large
473d1e45 5634 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 5635 without -mcmodel=large
473d1e45 5636 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 5637 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 5638
e8df1d4e 56392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 Remove nested functions in efiemu core
5642
5643 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 5644
cc6c3ac1 56452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
5648
5649 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
5650 temporary storage
473d1e45 5651 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
5652 using Apple's CC
cc6c3ac1 5653 (grub_cpu_is_tsc_supported): likewise
5654 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 5655
3e325901 56562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Absolute addressing through constant with Apple's cc
5659
5660 * kern/i386/pc/startup.S: Define necessary constants
5661 and address through it when using ABS with Apple's CC
5662 * boot/i386/pc/diskboot.S: likewise
5663 * boot/i386/pc/boot.S: likewise
5664 * boot/i386/pc/lnxboot.S: likewise
5665 * boot/i386/pc/cdboot.S: likewise
5666 * mmap/i386/pc/mmap_helper.S: likewise
5667 * commands/i386/pc/drivemap_int13h.S: likewise
5668
2b167a72 56692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Check if compiler is apple cc
5672
5673 * Makefile.in (ASFLAGS): new variable
5674 (TARGET_ASFLAGS): likewise
5675 (TARGET_MODULE_FORMAT): likewise
5676 (TARGET_APPLE_CC): likewise
5677 (OBJCONV): likewise
5678 (TARGET_IMG_CFLAGS): likewise
5679 (TARGET_CPPFLAGS): add includedir
5680 * configure.ac: call grub_apple_cc and grub_apple_target_cc
5681 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
5682 Check for linker script only if compiler isn't Apple's CC
5683 (TARGET_MODULE_FORMAT): set
5684 (TARGET_APPLE_CC): likewise
5685 (TARGET_ASFLAGS): likewise
5686 (ASFLAGS): likewise
5687 Check for objcopy only if compiler isn't Apple's CC
5688 Check for BSS symbol only if compiler isn't Apple's CC
5689 * genmk.rb: adapt nm options if we use Apple's utils
5690 * aclocal.m4 (grub_apple_cc): new test
5691 (grub_apple_target_cc): likewise
473d1e45 5692
fb14123e 56932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Simplify sed expressions and improve awk
5696
5697 * Makefile.in (install-local): simplify sed expression
5698 * gencmdlist.sh: likewise
5699 * genmoddep.awk: avoid adding module as a dependency of itself
5700
5b889789 57012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 Add missing start symbols
5704
5705 * boot/i386/pc/boot.S: add start
fb14123e 5706 * boot/i386/pc/pxeboot.S: likewise
473d1e45 5707
fd2bf2e3 57082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 5711
5712 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 5713 (relocate_addresses): consider both r_addend and value at offset
5714 (make_mods_section): zerofill modinfo and header
5715 (convert_elf): write prefix here
473d1e45 5716
5389763d 57172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 Use .asciz instead of .string
5720
5721 * i386/pc/diskboot.S: use .asciz instead of .string
5722 * i386/pc/boot.S: likewise
5723 * include/grub/dl.h (GRUB_MOD_DEP): likewise
5724 (GRUB_MOD_NAME): likewise
473d1e45 5725
3eb5ed4e 57262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 gfxpayload support
5729
5730 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
5731 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
5732 (grub_video_setup): remove
5733 (grub_video_set_mode): new prototype
5734 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
5735 (vid_mode): remove
5736 (linux_vesafb_res): compile only on PCBIOS
5737 (grub_linux_boot): support gfxpayload
5738 * loader/i386/pc/xnu.c (video_hook): new function
5739 (grub_xnu_set_video): support gfxpayload
5740 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
5741 (DEFAULT_VIDEO_HEIGHT): likewise
5742 (DEFAULT_VIDEO_FLAGS): likewise
5743 (DEFAULT_VIDEO_MODE): new definition
5744 (video_hook): new function
5745 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 5746 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 5747 loading xnu
5748 * video/video.c (grub_video_setup): removed
473d1e45 5749 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 5750 grub_video_setup
5751
4b0e1143 57522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Avoid calling biosdisk in drivemap
5755
5756 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
5757 (revparse_biosdisk): likewise
5758 (list_mappings): derive name from id directly
5759 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 5760
fda6cb98 57612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 Script fixes
5764
5765 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
5766 (grub_lexer_param): add tokenonhold
5767 (grub_script_create_cmdline): remove cmdline. All callers updated
5768 (grub_script_function_create): make functionname
5769 grub_script_arg. All callers updated
5770 (grub_script_execute_argument_to_string): new prototype
5771 * kern/parser.c (state_transitions): reorder
5772 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 5773 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 5774 make global
5775 (grub_script_execute_cmdline): use new format
5776 * script/sh/function.c (grub_script_function_create): make functionname
5777 grub_script_arg. All callers updated
473d1e45 5778 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 5779 (grub_script_yylex): remove
5780 (grub_script_yylex2): renamed to ...
5781 (grub_script_yylex): ...renamed
5782 parse the expressions like a${b}c
5783 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
5784 (GRUB_PARSER_TOKEN_VAR): remove
5785 (GRUB_PARSER_TOKEN_NAME): likewise
5786 ("if"): declare as typeless
5787 ("while"): likewise
5788 ("function"): likewise
5789 ("else"): likewise
5790 ("then"): likewise
5791 ("fi"): likewise
5792 (text): remove
5793 (argument): likewise
5794 (script): accept empty scripts and make exit on error
5795 (arguments): use GRUB_PARSER_TOKEN_ARG
5796 (function): likewise
5797 (command): move error handling to script
5798 (menuentry): move grub_script_lexer_ref before
473d1e45 5799 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 5800 argument. All callers updated
5801
f4448a07 58022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 Prevent GRUB from probing floppies during boot.
5805
5806 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
5807 * commands/search.c (options): Add --no-floppy.
5808 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
5809 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
5810 --no-floppy when searching for UUIDs.
5811
2bf5885a 58122009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5813
5814 Simplify the code duplication in commands/search.c.
5815
5816 * commands/search.c (search_label, search_fs_uuid): Merge into ...
5817 (search_fs): ... this. Update all users.
5818
f6fd460a 58192009-06-03 Felix Zielcke <fzielcke@z-51.de>
5820
5821 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
5822
cbb3c83e 58232009-05-28 Pavel Roskin <proski@gnu.org>
5824
57788cfd 5825 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
5826 Remove the original symlink explicitly.
5827
cbb3c83e 5828 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
5829 just one slash. That's how grub_fshelp_find_file() does it.
5830
cd0d5e30 58312009-05-26 Pavel Roskin <proski@gnu.org>
5832
f0f8bbe2 5833 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
5834 to `str'.
5835
cd0d5e30 5836 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
5837 possibly unused.
5838
8c2cab51 58392009-05-25 Christian Franke <franke@computer.org>
5840
5841 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
5842 register.
5843 (grub_atapi_identify): Add wait after drive select.
5844 (grub_ata_identify): Do more strict status register check before
5845 calling grub_atapi_identify (). Suppress error message if status
5846 register is 0x00 after command failure. Add status register
5847 check after PIO read to avoid bogus identify due to stuck DRQ.
5848 Thanks to Pavel Roskin for testing.
5849 (grub_device_initialize): Remove unsafe status register check.
5850 Thanks to 'phcoder' for problem report and patch.
5851 Prevent sign extension in debug message.
5852
230c0ad6 58532009-05-23 Colin D Bennett <colin@gibibit.com>
5854
5855 Cleaned up `include/grub/normal.h'. Grouped prototypes by
5856 definition file, and functions defined in `normal/menu.c' have had
5857 their prototypes moved to `include/grub/menu.h' for consistency.
5858
5859 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
5860 from normal.h.
5861 (grub_menu_get_entry): Likewise.
5862 (grub_menu_get_timeout): Likewise.
5863 (grub_menu_set_timeout): Likewise.
5864 (grub_menu_execute_entry): Likewise.
5865 (grub_menu_execute_with_fallback): Likewise.
5866 (grub_menu_entry_run): Likewise.
5867
5868 * include/grub/normal.h: Re-ordered and grouped function
5869 prototypes by file that the function is defined in.
5870 (grub_menu_execute_callback): Removed; moved to menu.h.
5871 (grub_menu_get_entry): Likewise.
5872 (grub_menu_get_timeout): Likewise.
5873 (grub_menu_set_timeout): Likewise.
5874 (grub_menu_execute_entry): Likewise.
5875 (grub_menu_execute_with_fallback): Likewise.
5876 (grub_menu_entry_run): Likewise.
5877 (grub_menu_addentry): Renamed from this ...
5878 (grub_normal_add_menu_entry): ... to this.
5879
5880 * normal/main.c (grub_menu_addentry): Renamed from this ...
5881 (grub_normal_add_menu_entry): ... to this.
5882
5883 * script/sh/execute.c (grub_script_execute_menuentry): Update
5884 reference to renamed grub_menu_addentry function.
5885
861f03a5 58862009-05-23 Felix Zielcke <fzielcke@z-51.de>
5887
5888 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
5889
96b1619a 58902009-05-22 Pavel Roskin <proski@gnu.org>
5891
bf6a5fb2 5892 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
5893 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
5894 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
5895 compiling for the i386 targets, but not for the utilities.
5896
96b1619a 5897 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
5898 to grub_uint8_t.
5899 (grub_root_drive): Likewise.
5900 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
5901 remove alignment.
5902 (grub_root_drive): Change size to byte.
5903 (grub_start_addr): Remove.
5904 (grub_end_addr): Likewise.
5905 (grub_apm_bios_info): Likewise.
5906
b729776b 59072009-05-21 Felix Zielcke <fzielcke@z-51.de>
5908
5909 * normal/i386: Remove.
5910 * normal/powerpc: Likewise.
5911 * normal/sparc64: Likewise.
5912 * normal/x86_64: Likewise.
5913
0a15ce80 59142009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 5917 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 5918 * loader/i386/xnu_helper.S: Likewise
d6da58e6 5919
33db9015 59202009-05-18 Colin D Bennett <colin@gibibit.com>
5921
d6da58e6 5922 Display error messages when parsing a Lua statement fails.
5923 Previously, executing a syntactically invalid statement like
5924 ")foo" or "bar;" would silently fail.
33db9015 5925
5926 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 5927 (grub_lua_parse_line): Improved reporting of Lua parser and
5928 execution errors.
33db9015 5929
46422c89 59302009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Remove -Werror which causes build to fail on some systems
5933
5934 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
5935 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
5936 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 5937
22f53a96 59382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 trampoline for linux on 64-bit platform
5941
18f547ad 5942 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
5943 loader/i386/efi/linux_trampoline.S
5944 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 5945 declaration
d6da58e6 5946 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
5947 here
22f53a96 5948 * loader/i386/linux_trampoline.S: moved here
d6da58e6 5949 * loader/i386/efi/linux.c (allocate_pages): reserve space for
5950 trampoline
22f53a96 5951 (jumpvector): removed
5952 (grub_linux_trampoline_start): new declaration
5953 (grub_linux_trampoline_end): likewise
5954 (grub_linux_boot): use trampoline when on 64-bit platform
5955 * loader/i386/linux.c: likewise
5956
cb5a0f40 59572009-05-16 Pavel Roskin <proski@gnu.org>
5958
5959 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
5960 const to avoid a warning.
5961 (grub_lua_setenv): Likewise.
5962 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
5963 lmsg to fix a warning.
5964
334f2c28 59652009-05-16 Felix Zielcke <fzielcke@z-51.de>
5966
5967 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 5968 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5969 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
5970 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5971 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5972 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5973 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5974 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 5975
59e5d3ec 59762009-05-16 Felix Zielcke <fzielcke@z-51.de>
5977
5978 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
5979
9d87a1ba 59802009-05-16 Bean <bean123ch@gmail.com>
5981
5982 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
5983 (lua_mod_SOURCES): New variable.
5984 (lua_mod_CFLAGS): Likewise.
5985 (lua_mod_LDFLAGS): Likewise.
5986
5987 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
5988 (setjmp_mod_SOURCES): New variable.
5989 (setjmp_mod_CFLAGS): Likewise.
5990 (setjmp_LDFLAGS): Likewise.
5991
5992 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
5993 (setjmp_mod_SOURCES): New variable.
5994 (setjmp_mod_CFLAGS): Likewise.
5995 (setjmp_LDFLAGS): Likewise.
5996
5997 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
5998 (setjmp_mod_SOURCES): New variable.
5999 (setjmp_mod_CFLAGS): Likewise.
6000 (setjmp_LDFLAGS): Likewise.
6001
6002 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
6003 (setjmp_mod_SOURCES): New variable.
6004 (setjmp_mod_CFLAGS): Likewise.
6005 (setjmp_LDFLAGS): Likewise.
6006
6007 * normal/i386/setjmp.S: Moved from here ...
6008 * lib/i386/setjmp.S: ... Moved here
6009 * normal/x86_64/setjmp.S: Moved from here ...
6010 * lib/x86_64/setjmp.S: ... Moved here
6011 * normal/powerpc/setjmp.S: Moved from here ...
6012 * lib/powerpc/setjmp.S: ... Moved here
6013 * normal/sparc64/setjmp.S: Moved from here ...
6014 * lib/sparc64/setjmp.S: ... Moved here
6015
6016 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
6017 returns_twice in mingw.
6018
6019 * script/lua/grub_lib.c: New file.
6020 * script/lua/grub_lib.h: Likewise.
6021 * script/lua/grub_lua.h: Likewise.
6022 * script/lua/grub_main.c: Likewise.
6023 * script/lua/lapi.c: Likewise.
6024 * script/lua/lapi.h: Likewise.
6025 * script/lua/lauxlib.c: Likewise.
6026 * script/lua/lauxlib.h: Likewise.
6027 * script/lua/lbaselib.c: Likewise.
6028 * script/lua/lcode.c: Likewise.
6029 * script/lua/lcode.h: Likewise.
6030 * script/lua/ldblib.c: Likewise.
6031 * script/lua/ldebug.c: Likewise.
6032 * script/lua/ldebug.h: Likewise.
6033 * script/lua/ldo.c: Likewise.
6034 * script/lua/ldo.h: Likewise.
6035 * script/lua/ldump.c: Likewise.
6036 * script/lua/lfunc.c: Likewise.
6037 * script/lua/lfunc.h: Likewise.
6038 * script/lua/lgc.c: Likewise.
6039 * script/lua/lgc.h: Likewise.
6040 * script/lua/linit.c: Likewise.
6041 * script/lua/liolib.c: Likewise.
6042 * script/lua/llex.c: Likewise.
6043 * script/lua/llex.h: Likewise.
6044 * script/lua/llimits.h: Likewise.
6045 * script/lua/lmathlib.c: Likewise.
6046 * script/lua/lmem.c: Likewise.
6047 * script/lua/lmem.h: Likewise.
6048 * script/lua/loadlib.c: Likewise.
6049 * script/lua/lobject.c: Likewise.
6050 * script/lua/lobject.h: Likewise.
6051 * script/lua/lopcodes.c: Likewise.
6052 * script/lua/lopcodes.h: Likewise.
6053 * script/lua/loslib.c: Likewise.
6054 * script/lua/lparser.c: Likewise.
6055 * script/lua/lparser.h: Likewise.
6056 * script/lua/lstate.c: Likewise.
6057 * script/lua/lstate.h: Likewise.
6058 * script/lua/lstring.c: Likewise.
6059 * script/lua/lstring.h: Likewise.
6060 * script/lua/lstrlib.c: Likewise.
6061 * script/lua/ltable.c: Likewise.
6062 * script/lua/ltable.h: Likewise.
6063 * script/lua/ltablib.c: Likewise.
6064 * script/lua/ltm.c: Likewise.
6065 * script/lua/ltm.h: Likewise.
6066 * script/lua/lua.h: Likewise.
6067 * script/lua/luaconf.h: Likewise.
6068 * script/lua/lualib.h: Likewise.
6069 * script/lua/lundump.c: Likewise.
6070 * script/lua/lundump.h: Likewise.
6071 * script/lua/lvm.c: Likewise.
6072 * script/lua/lvm.h: Likewise.
6073 * script/lua/lzio.c: Likewise.
6074 * script/lua/lzio.h: Likewise.
6075
5e898c9d 60762009-05-16 Bean <bean123ch@gmail.com>
6077
6078 * include/grub/kernel.h (grub_module_header_types): Add type
6079 OBJ_TYPE_CONFIG.
6080
6081 * kern/main.c (grub_load_config): New function.
6082 (grub_main): Call grub_load_config to read boot config.
6083
6084 * grub-mkimage (generate_image): New parameter config_path.
6085 (options): New option --config.
6086 (main): Parse --config option, and pass it to generate_image.
6087
cf353a47 60882009-05-14 Christian Franke <franke@computer.org>
6089
6090 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
6091 This fixes build on Cygwin.
6092
3834887f 60932009-05-14 Pavel Roskin <proski@gnu.org>
6094
6095 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
6096 jump. This saves two bytes, so the typical case of 2 swapped
6097 drives would fit 32 bytes.
6098
8090fc01 60992009-05-13 Pavel Roskin <proski@gnu.org>
6100
ac963883 6101 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
6102 grub_uint32_t to avoid a warning.
6103
8090fc01 6104 * loader/i386/linux.c (allocate_pages): When assigning
6105 real_mode_mem, cast through grub_size_t to fix a warning. The
6106 code already makes sure that the value would fit a pointer.
6107 (grub_linux_setup_video): Cast render_target->data to
6108 grub_size_t to fix a warning.
6109
18f547ad 61102009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 6111
6112 * commands/i386/pc/drivemap.c: New file - implement drivemap
6113 command.
6114 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
6115 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
6116
6f6a8b28 61172009-05-13 Pavel Roskin <proski@gnu.org>
6118
6119 * util/i386/pc/grub-setup.c (setup): Remove unused variable
6120 embedding_area_exists.
6121
15fbf4c4 61222009-05-13 Robert Millan <rmh.grub@aybabtu.com>
6123
6124 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
6125 it easier to understand / work with.
59978c8a 6126 Improve warning messages for cases where there's no embedding area,
6127 or when it is too small (or core.img too large).
15fbf4c4 6128
238e871f 61292009-05-13 Pavel Roskin <proski@gnu.org>
6130
0ab3a9a4 6131 * loader/i386/pc/multiboot2.c: Add necessary includes for
6132 grub_multiboot2_real_boot().
6133
a2c8c5f8 6134 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
6135 PX record is always little-endian. We only need the lower 2
6136 bytes of the mode.
6137
faec96af 6138 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
6139 facilitate code reuse.
6140 (grub_cpio_mount): Use "struct head", not a char buffer. This
6141 fixes a warning reported by gcc 4.4.
6142
238e871f 6143 * kernel/disk.c (grub_disk_read): Use void pointer for the
6144 buffer.
6145 (grub_disk_write): Use const void pointer for the buffer.
6146 Adjust all callers. Remove unnecessary casts.
6147
901d2f0c 61482009-05-10 Robert Millan <rmh.grub@aybabtu.com>
6149
6150 * util/i386/pc/grub-install.in: Update copyright year.
6151
18f547ad 61522009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 6153
6154 gptsync
6155
6156 * commands/gptsync.c: new file
6157 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
6158 (gptsync_mod_SOURCES): new variable
6159 (gptsync_mod_CFLAGS): likewise
6160 (gptsync_mod_LDFLAGS): likewise
18f547ad 6161 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 6162 new definition
6163 (GRUB_PC_PARTITION_TYPE_HFS): likewise
6164 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
6165 * conf/i386-ieee1275.rmk: likewise
6166 * conf/i386-pc.rmk: likewise
6167 * conf/powerpc-ieee1275.rmk: likewise
6168
b4ba690a 61692009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 Fixed grub-emu
6172
6173 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
6174 (grub_dl_ref): likewise
6175
317e1a44 61762009-05-08 Robert Millan <rmh.grub@aybabtu.com>
6177
6178 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
6179 split in two functions (one for msdos and one for gpt).
6180
041b8094 61812009-05-08 Pavel Roskin <proski@gnu.org>
6182
752473c2 6183 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
6184 not modified.
6185
041b8094 6186 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
6187 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
6188 Initialize them with -1. Add sanity check for bad1. Eliminate
6189 nerr variable.
6190
172800ce 61912009-05-08 David S. Miller <davem@davemloft.net>
6192
6193 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
6194
29aa5e81 61952009-05-06 Robert Millan <rmh.grub@aybabtu.com>
6196
6197 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 6198 existence.
29aa5e81 6199
96613b62 62002009-05-05 Felix Zielcke <fzielcke@z-51.de>
6201
6202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 6203 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 6204
eef73c8a 62052009-05-05 David S. Miller <davem@davemloft.net>
6206
6207 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
6208
119494b5 62092009-05-05 Pavel Roskin <proski@gnu.org>
6210
6211 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
6212 of grub_dl_ref() and grub_dl_unref().
6213 * commands/parttool.c: Remove preprocessor conditionals around
6214 grub_dl_ref() and grub_dl_unref().
6215 * fs/affs.c: Likewise.
6216 * fs/afs.c: Likewise.
6217 * fs/cpio.c: Likewise.
6218 * fs/ext2.c: Likewise.
6219 * fs/fat.c: Likewise.
6220 * fs/hfs.c: Likewise.
6221 * fs/hfsplus.c: Likewise.
6222 * fs/iso9660.c: Likewise.
6223 * fs/jfs.c: Likewise.
6224 * fs/minix.c: Likewise.
6225 * fs/ntfs.c: Likewise.
6226 * fs/reiserfs.c: Likewise.
6227 * fs/sfs.c: Likewise.
6228 * fs/udf.c: Likewise.
6229 * fs/ufs.c: Likewise.
6230 * fs/xfs.c: Likewise.
6231 * include/grub/dl.h: Likewise.
6232 * loader/xnu.c: Likewise.
6233
de5fd76e 62342009-05-04 Pavel Roskin <proski@gnu.org>
6235
6236 * commands/acpi.c: Remove unused variable my_mod.
6237 * partmap/amiga.c: Likewise.
6238 * partmap/apple.c: Likewise.
6239 * partmap/gpt.c: Likewise.
6240 * partmap/pc.c: Likewise.
6241 * partmap/sun.c: Likewise.
6242 * term/gfxterm.c: Likewise.
6243 * term/i386/pc/vesafb.c: Likewise.
6244 * term/i386/pc/vga.c: Likewise.
6245
983598ad 62462009-05-04 David S. Miller <davem@davemloft.net>
6247
6248 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
6249 pointer args to grub_ieee1275_get_property().
6250
8aadec43 6251 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
6252
9554b15e 6253 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
6254 devices, and do not traverse down under controller nodes.
6255
67e23c90 6256 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
6257 (grub_ofdisk_open): Use it to un-escape "," characters.
6258 * kern/disk.c (find_part_sep): New.
6259 (grub_disk_open): Use it to find the first non-escaped ','
6260 character in the disk name.
6261 * util/ieee1275/devicemap.c (escape_of_path): New.
6262 (grub_util_emit_devicemap_entry): Use it.
6263 * util/sparc64/ieee1275/grub-install.in: Update script to
6264 strip partition specifiers properly by not triggering on
6265 '\' escaped ',' characters.
6266
74bfdd2f 62672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6268
6269 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
6270 to 0x300.
6271 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
6272 resolutions.
6273 (linux_vesafb_modes): Add a lot of additional modes to the list (based
6274 on documentation from Wikipedia).
6275
4241d2b1 62762009-05-04 Pavel Roskin <proski@gnu.org>
6277
6278 * disk/ata.c: Spelling fixes.
6279 * disk/raid.c: Likewise.
6280 * disk/usbms.c: Likewise.
6281 * disk/dmraid_nvidia.c: Likewise.
6282 * kern/ieee1275/openfw.c: Likewise.
6283 * kern/ieee1275/init.c: Likewise.
6284 * kern/ieee1275/cmain.c: Likewise.
6285 * boot/i386/pc/cdboot.S: Likewise.
6286 * video/readers/png.c: Likewise.
6287 * video/i386/pc/vbe.c: Likewise.
6288 * fs/udf.c: Likewise.
6289 * fs/hfs.c: Likewise.
6290 * fs/reiserfs.c: Likewise.
6291 * efiemu/runtime/efiemu.c: Likewise.
6292 * efiemu/main.c: Likewise.
6293 * efiemu/mm.c: Likewise.
6294 * include/grub/elf.h: Likewise.
6295 * include/grub/xnu.h: Likewise.
6296 * include/grub/usbdesc.h: Likewise.
6297 * include/grub/usb.h: Likewise.
6298 * include/grub/script_sh.h: Likewise.
6299 * include/grub/lib/LzmaEnc.h: Likewise.
6300 * include/grub/efiemu/efiemu.h: Likewise.
6301 * include/grub/command.h: Likewise.
6302 * normal/menu.c: Likewise.
6303 * normal/main.c: Likewise.
6304 * normal/datetime.c: Likewise.
6305 * bus/usb/uhci.c: Likewise.
6306 * mmap/i386/uppermem.c: Likewise.
6307 * mmap/mmap.c: Likewise.
6308 * commands/acpi.c: Likewise.
6309 * commands/test.c: Likewise.
6310 * partmap/apple.c: Likewise.
6311 * font/font.c: Likewise.
6312 * loader/sparc64/ieee1275/linux.c: Likewise.
6313 * loader/macho.c: Likewise.
6314 * loader/i386/bsd_trampoline.S: Likewise.
6315 * loader/i386/bsd.c: Likewise.
6316 * loader/xnu.c: Likewise.
6317 * term/i386/pc/vesafb.c: Likewise.
6318 * term/usb_keyboard.c: Likewise.
6319 * util/resolve.c: Likewise.
6320 * util/getroot.c: Likewise.
6321
0cfc0083 63222009-05-04 Felix Zielcke <fzielcke@z-51.de>
6323
6324 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
6325
7c1d00cd 63262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6327
6328 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
6329 build error.
6330
b01f0548 63312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6332
6333 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
6334 parameter only available on BIOS.
6335
ecc3eb22 63362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Removed wrong semicolon in declaration
6339
6340 * grub/misc.h (grub_dprintf): remove semicolon
6341
112972a9 63422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6343
6344 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
6345 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
6346 is done by grub_cmd_linux() now).
6347 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
6348 restore video to text mode.
6349 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
6350 indicates lack of "vga=" parameter. "vga=0" is mapped to
6351 `GRUB_LINUX_VID_MODE_NORMAL'.
6352
afd5c115 63532009-05-04 Felix Zielcke <fzielcke@z-51.de>
6354
6355 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
6356 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
6357 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 6358 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 6359 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
6360 `grub_script.tab.c'.
6361
6362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6363 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6365 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6366 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6367
faa517ce 6368 * Makefile.in: Remove duplicated 2008 in Copyright line.
6369
ae0c0bdc 63702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6371
473d1e45 6372 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6373 unconditionally.
6374 * include/grub/util/misc.h (grub_util_warn): New declaration.
6375
6376 * util/i386/pc/grub-install.in: Understand --force and pass it down
6377 to grub-setup.
6378
6379 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6380 down to setup().
6381 (setup): Improve error messages and add warnings when requested to
6382 install in odd layouts. Refuse to install using blocklists unless
6383 --force was set.
6384
18f547ad 63852009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6386
6387 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6388
6d260daa 63892009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 Updated copyright year
6392
6393 * fs/hfsplus.c: updated copyright year
18f547ad 6394
69f853f8 63952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 HFS+ UUID
6398
18f547ad 6399 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6400 in the space previously used by unused3
6401 (grub_hfsplus_uuid): new function
6402 (grub_hfsplus_fs): added uuid field
6403
4c402e73 64042009-05-03 Pavel Roskin <proski@gnu.org>
6405
6406 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6407 suppress warnings. It's no longer needed.
6408 * disk/host.c: Likewise.
6409 * disk/ata_pthru.c: Likewise.
6410 * disk/loopback.c: Likewise.
6411 * hook/datehook.c: Likewise.
6412 * parttool/pcpart.c: Likewise.
6413 * fs/i386/pc/pxe.c: Likewise.
6414 * fs/ntfscomp.c: Likewise.
6415 * efiemu/main.c: Likewise.
6416 * mmap/mmap.c: Likewise.
6417 * commands/crc.c: Likewise.
6418 * commands/hexdump.c: Likewise.
6419 * commands/hdparm.c: Likewise.
6420 * commands/acpi.c: Likewise.
6421 * commands/echo.c: Likewise.
6422 * commands/minicmd.c: Likewise.
6423 * commands/blocklist.c: Likewise.
6424 * commands/memrw.c: Likewise.
6425 * commands/loadenv.c: Likewise.
6426 * commands/usbtest.c: Likewise.
6427 * commands/lsmmap.c: Likewise.
6428 * commands/boot.c: Likewise.
6429 * commands/parttool.c: Likewise.
6430 * commands/configfile.c: Likewise.
6431 * commands/search.c: Likewise.
6432 * commands/ieee1275/suspend.c: Likewise.
6433 * commands/cat.c: Likewise.
6434 * commands/i386/pc/pxecmd.c: Likewise.
6435 * commands/i386/pc/play.c: Likewise.
6436 * commands/i386/pc/halt.c: Likewise.
6437 * commands/i386/pc/vbeinfo.c: Likewise.
6438 * commands/i386/pc/vbetest.c: Likewise.
6439 * commands/lspci.c: Likewise.
6440 * commands/date.c: Likewise.
6441 * commands/handler.c: Likewise.
6442 * commands/ls.c: Likewise.
6443 * commands/test.c: Likewise.
6444 * commands/cmp.c: Likewise.
6445 * commands/efi/loadbios.c: Likewise.
6446 * commands/efi/fixvideo.c: Likewise.
6447 * commands/halt.c: Likewise.
6448 * commands/help.c: Likewise.
6449 * commands/reboot.c: Likewise.
6450 * hello/hello.c: Likewise.
6451 * script/sh/main.c: Likewise.
6452 * loader/xnu.c: Likewise.
6453 * term/terminfo.c: Likewise.
6454 * term/i386/pc/serial.c: Likewise.
6455 * term/usb_keyboard.c: Likewise.
6456
515b5079 64572009-05-03 David S. Miller <davem@davemloft.net>
6458
6459 * normal/menu.c: Include grub/parser.h
6460
dfc31a22 64612009-05-03 Pavel Roskin <proski@gnu.org>
6462
2fee74f1 6463 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
6464 not char*.
6465 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
6466 Suggested by Javier Martín <lordhabbit@gmail.com>
6467
dfc31a22 6468 * util/i386/pc/grub-mkrescue.in: Allow for the case when
6469 efiemu??.o doesn't exist.
6470 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
6471 copying.
6472
18f547ad 64732009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 6474
6475 FreeBSD 64-bit support
6476
18f547ad 6477 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 6478 and loader/i386/bsd_trampoline.S
6479 (bsd_mod_ASFLAGS): new variable
6480 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
6481 (FREEBSD_MODTYPE_KERNEL64): likewise
6482 (grub_bsd64_trampoline_start): likewise
6483 (grub_bsd64_trampoline_end): likewise
6484 (grub_bsd64_trampoline_selfjump): likewise
6485 (grub_bsd64_trampoline_gdt): likewise
6486 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
6487 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
6488 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
6489 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 6490 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 6491 of "attrib" member
6492 * loader/i386/bsd_pagetable.c: new file
6493 * loader/i386/bsd_trampoline.S: likewise
6494 * loader/i386/bsd.c (ALIGN_QWORD): new macro
6495 (ALIGN_VAR): likewise
6496 (entry_hi): new variable
6497 (kern_end_mdofs): likewise
6498 (is_64bit): likewise
6499 (grub_freebsd_add_meta): use ALIGN_VAR
6500 (grub_e820_mmap): new declaration
6501 (grub_freebsd_add_mmap): new function
6502 (grub_freebsd_add_meta_module): support 64 bit kernels
6503 (grub_freebsd_list_modules): use ALIGN_VAR
6504 (gdt_descriptor): new declaration
6505 (grub_freebsd_boot): support 64 bit kernels
6506 (grub_bsd_elf64_hook): new function
6507 (grub_bsd_load_elf): support elf64
6508
038c5720 65092009-05-03 Bean <bean123ch@gmail.com>
6510
6511 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
6512 after we get the result of if statement.
6513
fc45fb58 65142009-05-03 Bean <bean123ch@gmail.com>
6515
6516 * Makefile.in (enable_efiemu): New variable.
6517
6518 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
6519 set.
6520 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
6521 path.
6522 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
6523 path, add -mno-red-zone option.
6524 (efiemu64_s.o): Likewise.
6525 (efiemu64.o): Use macro $^ for source file.
6526
6527 * configure.ac (--enable-efiemu): New option.
6528
bbee0f2b 65292009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 xnu support
6532
6533 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
6534 (pkglib_MODULES): add xnu.mod
6535 (xnu_mod_SOURCES): new variable
6536 (xnu_mod_CFLAGS): likewise
6537 (xnu_mod_LDFLAGS): likewise
6538 (xnu_mod_ASFLAGS): likewise
6539 * conf/i386-pc.rmk: likewise
6540 * conf/x86_64-efi.rmk: likewise
7dd4a573 6541 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 6542 new declaration
6543 * include/grub/i386/macho.h: new file
6544 * include/grub/i386/xnu.h: likewise
6545 * include/grub/macho.h: likewise
6546 * include/grub/machoload.h: likewise
6547 * include/grub/x86_64/macho.h: likewise
6548 * include/grub/x86_64/xnu.h: likewise
6549 * include/grub/xnu.h: likewise
6550 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
6551 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
6552 * loader/i386/efi/xnu.c: new file
6553 * loader/i386/pc/xnu.c: likewise
6554 * loader/i386/xnu.c: likewise
6555 * loader/i386/xnu_helper.S: likewise
6556 * loader/macho.c: likewise
6557 * loader/xnu.c: likewise
6558 * loader/xnu_resume.c: likewise
6559 * util/grub-dumpdevtree: likewise
6560 * include/grub/i386/pit.h: include grub/err.h
6561 (grub_pit_wait): export
6562 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 6563
5caf964d 65642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Efiemu
7dd4a573 6567
5caf964d 6568 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 6569 _linux_efi, linux_efi.
6570 new files in grub-emu
5caf964d 6571 new targets efiemu32.o and efiemu64.o
6572 * loader/linux_normal_efiemu.c: likewise
6573 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 6574 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 6575 files to copy
6576 * include/grub/autoefi.h: new file
7dd4a573 6577 * include/grub/i386/efiemu.h: likewise
5caf964d 6578 * include/grub/i386/pc/efiemu.h: likewise
6579 * include/grub/efi/api.h: add LL suffix when necessary
6580 new definitions relating to tables
6581 * include/grub/efiemu/efiemu.h: new file
6582 * include/grub/efiemu/runtime.h: likewise
6583 * efiemu/prepare.c: likewise
6584 * efiemu/loadcore_common.c: likewise
6585 * efiemu/loadcore64.c: likewise
6586 * efiemu/runtime/efiemu.sh: likewise
6587 * efiemu/runtime/efiemu.S: likewise
6588 * efiemu/runtime/efiemu.c: likewise
6589 * efiemu/runtime/config.h: likewise
6590 * efiemu/prepare32.c: likewise
6591 * efiemu/main.c: likewise
6592 * efiemu/modules/pnvram.c: likewise
6593 * efiemu/modules/i386: likewise
6594 * efiemu/modules/i386/pc: likewise
6595 * efiemu/modules/acpi.c: likewise
6596 * efiemu/i386/pc/cfgtables.c: likewise
6597 * efiemu/i386/loadcore64.c: likewise
6598 * efiemu/i386/loadcore32.c: likewise
6599 * efiemu/prepare64.c: likewise
6600 * efiemu/loadcore.c: likewise
6601 * efiemu/symbols.c: likewise
6602 * efiemu/mm.c: likewise
6603 * efiemu/loadcore32.c: likewise
7dd4a573 6604
66052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 6606
6607 ACPI spoofing
6608
6609 * commands/acpi.c: new file
6610 * commands/i386/pc/acpi.c: likewise
6611 * commands/efi/acpi.c: likewise
6612 * include/grub/acpi.h: likewise
6613 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
6614 (acpi_mod_SOURCES): new variable
6615 (acpi_mod_CFLAGS): likewise
6616 (acpi_mod_LDFLAGS): likewise
6617 * conf/i386-efi.rmk: likewise
6618 * conf/x86_64-efi.rmk: likewise
6619
7dd4a573 66202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 6621
6622 Missing part from mmap patch
6623
6624 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
6625 (grub_mmap_unregister)
6626 (grub_mmap_free_and_unregister): use grub_mmap_register
6627
7dd4a573 66282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 6629
6630 Mmap services
6631
6632 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
6633 * loader/i386/linux.c (find_mmap_size): likewise
6634 (allocate_pages): likewise
6635 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
6636 (grub_fill_multiboot_mmap): likewise
6637 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
6638 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
6639 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
6640 (OPENBSD_MMAP_RESERVED): likewise
6641 * include/grub/i386/pc/memory.h: include grub/memory.h
6642 (grub_lower_mem): removed
6643 (grub_upper_mem): likewise
6644 (GRUB_MACHINE_MEMORY_ACPI): new definition
6645 (GRUB_MACHINE_MEMORY_NVS): likewise
6646 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
6647 (GRUB_MACHINE_MEMORY_HOLE): likewise
6648 (grub_machine_mmap_register): likewise
6649 (grub_machine_mmap_unregister): likewise
6650 (grub_machine_get_upper): likewise
6651 (grub_machine_get_lower): likewise
6652 (grub_machine_get_post64): likewise
6653 * include/grub/i386/efi/memory.h: new file
6654 * include/grub/x86_64/efi/memory.h: likewise
6655 * include/grub/efi/memory.h: likewise
6656 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
6657 (mmap_mod_SOURCES): new variable
6658 (mmap_mod_LDFLAGS): likewise
6659 (mmap_mod_ASFLAGS): likewise
6660 * conf/i386-coreboot.rmk: likewise
6661 * conf/i386-ieee1275.rmk: likewise
6662 * conf/i386-efi.rmk: likewise
6663 * conf/x86_64-efi.rmk: likewise
6664 * include/grub/types.h (UINT_TO_PTR): new macro
6665 (PTR_TO_UINT32): likewise
6666 (PTR_TO_UINT64): likewise
6667 * include/grub/memory.h: new file
6668 * mmap/i386/pc/mmap.c: likewise
6669 * mmap/i386/pc/mmap_helper.S: likewise
6670 * mmap/i386/uppermem.c: likewise
6671 * mmap/mmap.c: likewise
6672 * mmap/efi/mmap.c: likewise
7dd4a573 6673 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 6674 grub_upper_mem
6675 * kern/i386/pc/init.c (grub_lower_mem): removed variable
6676 (grub_upper_mem): likewise
6677 (grub_machine_init): don't use grub_upper_mem,
6678 make grub_lower_mem local
6679 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
6680 grub_mmap_iterate and grub_mmap_get_upper
6681 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
6682
d558e6b5 66832009-05-02 Bean <bean123ch@gmail.com>
6684
6685 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
6686 script/sh/parser.y.
6687 (pkglib_MODULES): Add normal.mod and sh.mod.
6688 (normal_SOURCES): New variable.
6689 (normal_mod_CFLAGS): Likewise.
6690 (normal_mod_LDFLAGS): Likewise.
6691 (sh_mod_SOURCES): Likewise.
6692 (sh_mod_CFLAGS): Likewise.
6693 (sh_mod_LDFLAGS): Likewise.
6694
6695 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
6696 script/sh/lexer.c_DEPENDENCIES.
6697 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
6698 kern/rescue_reader.c and kern/rescue_parser.c.
6699 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
6700 (grub_emu_SOURCES): Change source files.
6701 (pkglib_MODULES): Remove normal.mod.
6702 (normal_SOURCES): Removed.
6703 (normal_mod_CFLAGS): Likewise.
6704 (normal_mod_LDFLAGS): Likewise.
6705 * conf/i386-coreboot.rmk: Likewise.
6706 * conf/i386-efi.rmk: Likewise.
6707 * conf/i386-ieee1276.rmk: Likewise.
6708 * conf/powerpc-ieee1275.rmk: Likewise.
6709 * conf/sparc64-ieee1275.rmk: Likewise.
6710 * conf/x86_64-efi.rmk: Likewise.
6711
6712 * include/grub/command.h (grub_command_execute): New inline function.
6713
6714 * include/grub/menu.h (grub_menu_entry): Removed commands field.
6715
6716 * include/grub/normal.h: Remove <grub/setjmp.h>.
6717 (grub_fs_module_list): Moved to normal/autofs.c.
6718 (grub_exit_env): Removed.
6719 (grub_command_execute): Likewise.
6720 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
6721 parameter script.
6722 (read_command_list): New function declaration.
6723 (read_fs_list): Likewise.
6724
6725 * include/parser.h: Include <grub/reader.h>.
6726 (grub_parser_split_cmdline): Change type of getline parameter.
6727 (grub_parser): New structure.
6728 (grub_parser_class): New variable.
6729 (grub_parser_execute): New function declaration.
6730 (grub_register_rescue_parser): Likewise.
6731 (grub_parser_register): New inline function.
6732 (grub_parser_unregister): Likewise.
6733 (grub_parser_get_current): Likewise.
6734 (grub_parser_set_current): Likewise.
6735
6736 * include/grub/reader.h: New file.
6737 * kern/reader.c: Likewise.
6738 * kern/rescue_parser.c: Likewise.
6739 * kern/rescue_reader.c: Likewise.
6740 * normal/autofs.c: Likewise.
6741 * normal/dyncmd.c: Likewise.
6742
6743 * include/grub/rescue.h: Removed.
6744 * normal/command.h: Likewise.
6745
6746 * include/grub/script.h: Moved to ...
6747 * include/grub/script_sh.h: ... Moved here.
6748 * normal/execute.c: Moved to ...
6749 * script/sh/execute.c: ... Moved here.
6750 * normal/function.c: Moved to ...
6751 * script/sh/function.c: ... Moved here.
6752 * normal/lexer.c: Moved to ...
6753 * script/sh/lexer.c: ... Moved here.
6754 * normal/parser.y: Moved to ...
6755 * script/sh/parser.y: ... Moved here.
6756 * normal/script.c: Moved to ...
6757 * script/sh/script.c: ... Moved here.
6758
6759 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
6760 <grub/reader.h>.
6761 (grub_exit_env): Removed.
6762 (fs_module_list): Moved to normal/autofs.c.
6763 (grub_file_getline): Don't handle comment here.
6764 (free_menu): Skip removed field entry->commands.
6765 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
6766 script parameter.
6767 (read_config_file): Removed nested parameter, change getline function.
6768 (grub_enter_normal_mode): Removed.
6769 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
6770 (read_command_list): Likewise.
6771 (autoload_fs_module): Moved to normal/autofs.c.
6772 (read_fs_list): Likewise.
6773 (reader_nested): New variable.
6774 (grub_normal_execute): Run parser.sh to switch to sh parser.
6775 (grub_cmd_rescue): Removed.
6776 (cmd_normal): Removed.
6777 (grub_cmd_normal): Unregister itself at the beginning. Don't register
6778 rescue command.
6779 (grub_cmdline_run): New function.
6780 (grub_normal_reader_init): Likewise.
6781 (grub_normal_read_line): Likewise.
6782 (grub_env_write_pager): Likewise.
6783 (cmdline): New variable.
6784 (grub_normal_reader): Likewise.
6785 (GRUB_MOD_INIT): Register normal reader and set as current, register
6786 pager hook, register normal command with grub_register_command_prio,
6787 so that it won't show up in command.lst.
6788 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
6789 grub_fs_autoload_hook.
6790
6791 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
6792 (grub_menu_execute_entry): Replace grub_script_execute with
6793 grub_parser_execute, change parameter to grub_command_execute.
6794
6795 * normal/menu_text.c: Remove <grub/script.h>.
6796
6797 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
6798 and <grub/parser.h>.
6799 (run): Change editor_getline to use new parser interface. Change
6800 parameter to grub_command_execute.
6801
6802 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
6803 <grub/reader.h> and <grub/parser.h>.
6804 (grub_load_normal_mode): Execute normal command.
6805 (grub_main): Call grub_register_core_commands,
6806 grub_register_rescue_parser and grub_register_rescue_reader, use
6807 grub_reader_loop to enter input loop.
6808
7dd4a573 6809 * kern/parser.c (grub_parser_split_cmdline): Change type of
6810 getline parameter.
d558e6b5 6811 (grub_parser_class): New variable.
6812 (grub_parser_execute): New function.
6813
6814 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
6815 * loader/multiboot2.c: Likewise.
6816 * loader/sparc64/ieee1275/linux.c: Likewise.
6817
6818 * util/grub-emu.c (read_command_list): New dummy function.
6819
18db813d 68202009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6821
6822 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
6823 count to 16 for CCISS and IDA.
6824
6c67de15 68252009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6826
6827 * normal/menu_text.c (grub_wait_after_message): Print a newline
6828 after waiting for user input.
6829
6830 * loader/i386/linux.c: Include `<grub/normal.h>'.
6831 (grub_cmd_linux): Improve the error message about `ask' mode, by
6832 waiting for user input so it's not missed (we can do this, since
6833 user requested interaction).
6834
d9dc87b0 68352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Added missing lst to grub-mkrescue
6838
6839 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
6840 and ${input_dir}/parttool.lst
6841
ac8a2baa 68422009-04-30 David S. Miller <davem@davemloft.net>
6843
ad22a610 6844 * util/hostdisk.c (device_is_wholedisk): New function.
6845 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
6846 zero only if device_is_wholedisk() returns true.
6847
6966215d 6848 * util/hostdisk.c (convert_system_partition_to_system_disk):
6849 Handle virtual disk devices named /dev/vdiskX as found on sparc
6850 and powerpc.
6851
ac8a2baa 6852 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
6853 lettered partition specifier is found, convert to numbered.
6854
979b4fb4 68552009-04-29 David S. Miller <davem@davemloft.net>
6856
e2bf39b2 6857 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
6858 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6859
3c64e104 6860 * normal/command.c: Add missing newline at end of file.
6861
979b4fb4 6862 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
6863 warnings.
6864 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
6865 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
6866 grub_ofdisk_read): Likewise, and deal similarly with the fact that
6867 ihandles have a 32-bit type but need to be stored in a "void *".
6868
136d9f82 68692009-04-28 Pavel Roskin <proski@gnu.org>
6870
9459c306 6871 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
6872 not disk. Adjust all dependencies.
2e08a26a 6873 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 6874 grub_disk_close().
6875
136d9f82 6876 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
6877 parent's partition, don't copy it by reference, as it gets freed
6878 on close.
6879
7dd4a573 68802009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 6881
6882 Preboot hooks support
6883
6884 * commands/boot.c (struct grub_preboot_t): new declaration
6885 (preboots_head): new variable
6886 (preboots_tail): likewise
6887 (grub_loader_register_preboot_hook): new function
6888 (grub_loader_unregister_preboot_hook): likewise
6889 (grub_loader_set): launch preboot hooks
6890 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
6891 (grub_loader_register_preboot_hook): new declaration
6892 (grub_loader_unregister_preboot_hook): likewise
6893
5af922b5 68942009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 Warning fix
6897
7dd4a573 6898 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 6899 calling grub_dprintf
6900
a5562c30 69012009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Bug and warning fixes
6904
7dd4a573 6905 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 6906 declaration
6907 * commands/test.c (test_parse): fixed bug with file tests and corrected
6908 declaration of find_file
6909
4006f85c 69102009-04-26 Pavel Roskin <proski@gnu.org>
6911
6912 * Makefile.in: Don't install empty manual pages if help2man is
6913 missing. Use help2man option for output, not shell redirection.
6914
5c77c3de 69152009-04-26 David S. Miller <davem@davemloft.net>
6916
6917 * util/grub-mkdevicemap.c (make_device_map): Add missing
6918 NESTED_FUNC_ATTR to process_device().
6919
033b10a8 69202009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 Test command
6923
6924 * commands/test.c: rewritten to use bash-like test
6925
e4343593 69262009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Parttool autoloading and improvements
6929
7dd4a573 6930 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 6931 (parttool.lst): new target
6932 * genmk.rb: generate parttool-*
6933 (CLEANFILES): add #{parttool}
6934 (PARTTOOLFILES): new variable
6935 * genparttoollist.sh: new file
7dd4a573 6936 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 6937 (grub_pcpart_type): likewise
6938 * commands/parttool.c (helpmsg): new variable
6939 (grub_cmd_parttool): output help if not enough arguments are supplied
6940 autoload modules
6941 (GRUB_MOD_INIT(parttool)): use helpmsg
6942
0d312500 69432009-04-24 David S. Miller <davem@davemloft.net>
6944
7dd4a573 6945 Avoiding opening same device multiple times in device iterator.
0d312500 6946
6947 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 6948 and use it to build a list of partitions in iterate_disk() and
0d312500 6949 iterate_partition().
6950
ac20caff 6951 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
6952 on disk->data.
6953
0dcf7495 6954 * disk/ieee1275/nand.c (grub_nand_iterate): Return
6955 grub_devalias_iterate() result instead of unconditional 0.
6956 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
6957 Also, capture hook return value, either directly or via
6958 grub_children_iterate(), and propagate to caller.
6959 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
6960 grub_children_iterate): Return value is now 'int' instead of
6961 'grub_err_t'.
6962 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
6963 like a proper iterator, stopping when hooks return non-zero.
6964 (grub_devalias_iterate): Likewise.
6965
c8c08833 69662009-04-23 David S. Miller <davem@davemloft.net>
6967
6968 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
6969
f01005a8 69702009-04-22 David S. Miller <davem@davemloft.net>
6971
6972 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
6973 is larger than address_cells, use that value for address_cells too.
6974
4e8269da 6975 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
6976 IEEE1275_MAX_PATH_LEN): Define.
6977 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
6978 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
6979 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
6980 'devtype'. Explicitly NULL terminate devalias expansion.
6981
a1447506 6982 * util/sparc64/ieee1275/misc.c: New file.
6983 * util/sparc64/ieee1275/grub-setup.c: New file.
6984 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
6985 * util/sparc64/ieee1275/grub-mkimage.c: New file.
6986 * util/sparc64/ieee1275/grub-install.in: New file.
6987 * util/ieee1275/ofpath.c: New file.
6988 * util/ieee1275/devicemap.c: New file.
6989 * util/devicemap.c: New file.
6990 * util/deviceiter.c: New file.
6991 * kern/sparc64/ieee1275/init.c: New file.
6992 * include/grub/util/ofpath.h: New file.
6993 * include/grub/util/deviceiter.h: New file.
6994 * util/grub-mkdevicemap.c: Include deviceiter.h.
6995 Implement using grub_util_emit_devicemap_entry and
6996 grub_util_iterate_devices.
6997 * conf/i386-corebook.rmk: Build util/deviceiter.c and
6998 util/devicemap.c into grub-mkdevicemap
6999 * conf/i386-efi.rmk: Likewise.
7000 * conf/i386-ieee1275.rmk: Likewise.
7001 * conf/i386-pc.rmk: Likewise.
7002 * conf/powerpc-ieee1275.rmk: Likewise.
7003 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
7004 images and installation utilities. Build kernel as image
7005 instead of as elf binary. Use common rules as much as possible.
7006
7dd4a573 70072009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 7008
7009 Correct GPT definition
7010
7dd4a573 7011 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 7012 of "attrib" member
7013
c6c5219f 70142009-04-19 Felix Zielcke <fzielcke@z-51.de>
7015
7016 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
7017
0552ff9f 70182009-04-19 David S. Miller <davem@davemloft.net>
7019
7020 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
7021 (grub_rescue_cmd_linux): Rename to...
7022 (grub_cmd_linux): and fix prototype.
7023 (grub_rescue_cmd_initrd): Rename to...
7024 (grub_cmd_initrd): and fix prototype.
7025 (cmd_linux, cmd_initrd): New.
7026 (GRUB_MOD_INIT(linux)): Use grub_register_command().
7027 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
7028
d1a282fc 70292009-04-17 Pavel Roskin <proski@gnu.org>
7030
07c5039f 7031 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
7032 format.
7033 (grub_ohci_transfer): Likewise.
7034
b012002d 7035 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
7036
1bc09c35 7037 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
7038 return without a value. Fix inconsistent indentation.
7039
e0ff9126 7040 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
7041 match struct grub_fs.
7042
d1a282fc 7043 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
7044 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
7045 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7046 * commands/lspci.c (grub_lspci_iter): Likewise.
7047
a96df3f2 70482009-04-16 Bean <bean123ch@gmail.com>
7049
7050 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
7051 value.
7052
41bb0fe9 70532009-04-15 Pavel Roskin <proski@gnu.org>
7054
7055 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
7056 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
7057 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
7058 definitions.
7059
596c6970 70602009-04-15 Felix Zielcke <fzielcke@z-51.de>
7061
7062 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 7063 that no multiple data or metadata areas are supported and `Unknown
596c6970 7064 metadata header'.
7065
7dd4a573 70662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 7067
7068 Move loader out of the kernel
7069
7070 * kern/loader.c: moved to ...
7071 * commands/boot.c: ... moved here
7072 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
7073 * commands/boot.c (grub_cmd_boot): moved here. All users updated
7074 * include/grub/kernel.h (grub_machine_fini): export
7075 * include/grub/loader.h (grub_loader_is_loaded): update declaration
7076 (grub_loader_set): likewise
7077 (grub_loader_unset): likewise
7078 (grub_loader_boot): likewise
7079 * conf/common.rmk: new module boot.mod
7080 (pkglib_MODULES): add boot.mod
7081 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
7082 (grub_emu_SOURCES): likewise
7083 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
7084 (grub_emu_SOURCES): likewise
7085 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
7086 (grub_emu_SOURCES): likewise
7087 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
7088 (grub_emu_SOURCES): likewise
7089 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
7090 (grub_emu_SOURCES): likewise
7dd4a573 7091 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
7092 (grub_emu_SOURCES): likewise
0d5d5653 7093 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 7094 (grub_emu_SOURCES): likewise
0d5d5653 7095
7dd4a573 70962009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 7097
7098 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 7099
5999d619 7100 * kern/misc.c (grub_itoa): Removed function
7101 (grub_ltoa): likewise
7102 (grub_vsprintf): use grub_lltoa
7103
7dd4a573 71042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 7105
7106 Restore grub-emu
7107
7108 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
7109 * conf/i386-coreboot.rmk: likewise
7110 * conf/i386-ieee1275.rmk: likewise
7111 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7112
20318222 71132009-04-15 Felix Zielcke <fzielcke@z-51.de>
7114
7115 * INSTALL: Add that `./autogen.sh' needs to be run before
7116 `./configure.'.
7117
d05f0df3 71182009-04-14 Bean <bean123ch@gmail.com>
7119
7120 * Makefile.in (pkglib_DATA): Add handler.lst.
7121 (handler.lst): New rule.
7122
7123 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
7124 * conf/i386-coreboot.rmk: Likewise.
7125 * conf/i386-ieee1275.rmk: Likewise.
7126 * conf/i386-efi.rmk: Likewise.
7127 * conf/x86_64-efi.rmk: Likewise.
7128 * conf/powerpc-ieee1275.rmk: Likewise.
7129 * conf/sparc64-ieee1275.rmk: Likewise.
7130
7131 * genhandlerlist.sh: New file.
7132
7133 * genmk.rb: Add rules to generate handler.lst.
7134
7135 * include/grub/normal.h (grub_file_getline): New function definition.
7136 (read_handler_list): Likewise.
7137 (free_handler_list): Likewise.
7138
7139 * include/grub/term.h (grub_term_register_input): Add name parameter
7140 for auto generation of handler.lst.
7141 (grub_term_register_output): Likewise.
7142
7143 * normal/handler.c: New file.
7144
7145 * normal/main.c (get_line): Renamed to grub_file_getline.
7146 (read_config_file): Use the newly renamed grub_file_getline.
7147 (read_command_list): Likewise.
7148 (read_fs_list): Likewise.
7149 (grub_normal_execute): Call read_handler_list to parse handler.lst.
7150 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
7151
7152 * term/efi/console.c (grub_console_init): Add name parameter for auto
7153 generation of handler.lst.
7154 * term/gfxterm.c: Likewise.
7155 * term/i386/pc/at_keyboard.c: Likewise.
7156 * term/i386/pc/console.c: Likewise.
7157 * term/i386/pc/serial.c: Likewise.
7158 * term/i386/pc/vesafb.c: Likewise.
7159 * term/i386/pc/vga.c: Likewise.
7160 * term/i386/pc/vga_text.c: Likewise.
7161 * term/ieee1275/ofconsole.c: Likewise.
7162 * term/usb_keyboard.c: Likewise.
7163
33c846be 71642009-04-14 Bean <bean123ch@gmail.com>
7165
7166 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
7167 properly with null character.
7168
4484e01e 71692009-04-14 Felix Zielcke <fzielcke@z-51.de>
7170
7171 * configure: Remove.
7172 * config.h.in: Likewise.
f93d668e 7173 * stamp-h.in: Likewise.
4484e01e 7174 * DISTLIST: Likewise.
7175 * conf/common.mk: Likewise.
7176 * conf/i386-coreboot.mk: Likewise.
7177 * conf/i386-efi.mk: Likewise.
7178 * conf/i386-ieee1275.mk: Likewise.
7179 * conf/i386.mk: Likewise.
7180 * conf/i386-pc.mk: Likewise.
7181 * conf/powerpc-ieee1275.mk: Likewise.
7182 * conf/sparc64-ieee1275.mk: Likewise.
7183 * conf/x86_64-efi.mk: Likewise.
7184
7185 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
7186 develop on GRUB.
7187
7dd4a573 71882009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 7189 David S. Miller <davem@davemloft.net>
7190
7191 * util/hostdisk.c (make_device_name): Fix buffer length
7192 calculations.
7193
e25b5a8c 71942009-04-14 Felix Zielcke <fzielcke@z-51.de>
7195
7196 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
7197 <sys/param.h> and <sys/sysctl.h>.
7198 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
7199 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
7200 opening the device and reset them afterwards.
7201
1f1f580c 72022009-04-13 Pavel Roskin <proski@gnu.org>
7203
7204 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
7205 Reported by John Stanley <jpsinthemix@verizon.net>
7206
7ebc2d6b 72072009-04-13 Robert Millan <rmh@aybabtu.com>
7208
7209 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 7210 that name for menuentries when appropriate.
7ebc2d6b 7211
d8ba3667 72122009-04-13 Felix Zielcke <fzielcke@z-51.de>
7213
7214 * util/grub.d/10_freebsd.in: Add a missing `fi'.
7215
cba416eb 72162009-04-13 Robert Millan <rmh@aybabtu.com>
7217
7218 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
7219 to Linux, simply abort telling the user it's no longer supported.
7220
a547a745 72212009-04-13 Felix Zielcke <fzielcke@z-51.de>
7222
7223 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 7224 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 7225 `freebsd_loadenv' only when devices.hints exist.
7226
232a769c 72272009-04-13 Pavel Roskin <proski@gnu.org>
7228
7229 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
7230
c3012039 72312009-04-13 Felix Zielcke <fzielcke@z-51.de>
7232
7233 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
7234 partition number.
7235 (grub_drive): Likewise.
7236
234022fe 72372009-04-13 David S. Miller <davem@davemloft.net>
7238
7239 * kern/sparc64/ieee1275/ieee1275.c: New file.
7240 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
7241 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
7242 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
7243 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
7244 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
7245 grub_ieee1275_alloc_physmem): Declare new exported functions.
7246
d8e1836c 7247 * include/grub/sparc64/ieee1275/loader.h: New file.
7248 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7249 * include/grub/sparc64/kernel.h: Likewise.
7250 * loader/sparc64/ieee1275/linux.c: Likewise.
7251
96bd81ec 7252 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
7253 (grub_fstest_SOURCES): Likewise.
7254
6a4737e5 7255 * util/hostdisk.c (make_device_name): Do not make any assumptions
7256 about the length of drive names.
7257
1d7a72fd 7258 * kern/dl.c (grub_dl_load_file): Close file immediately when
7259 we are done using it.
7260
56bc2471 72612009-04-12 David S. Miller <davem@davemloft.net>
7262
7263 * kern/misc.c (grub_ltoa): Fix cast when handling negative
7264 values. Noticed by Pavel Roskin.
7265
df38d0bb 7266 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
7267 target compiler.
7dd4a573 7268
e382e93a 7269 * genmk.rb: Add more flexible image type specification, also
7270 pass --strip-unneeded to objcopy.
7271 * conf/i386-pc.rmk: Use *_FORMAT.
7272 * conf/i386-pc.mk: Rebuilt.
7273
f5dbbca9 7274 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
7275 (OFDISK_HASH_SZ): Define.
7276 (ofdisk_hash): New hash table.
7277 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
7278 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
7279 instead of device phandle which is not unique.
7280
91c88b12 7281 * kern/sparc64/ieee1275/init.c: Delete, replace with...
7282 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
7283 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
7284 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
7285 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
7286 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
7287 GRUB_KERNEL_MACHINE_DATA_END): Define.
7288 (grub_kernel_image_size, grub_total_module_size): Declare.
7289
5b5d4aa5 72902009-04-12 Pavel Roskin <proski@gnu.org>
7291
7dd4a573 7292 * configure.ac: Change the logic when we check for target tools.
7293 Do it when the target is specified and it's different from the
7294 specified value of the host.
5b5d4aa5 7295
c91e1793 72962009-04-11 Felix Zielcke <fzielcke@z-51.de>
7297
7298 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
7299 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
7300 GNU/kFreeBSD. Check if a device is a character device. Use
7301 DIOCGMEDIASIZE to get the size.
7302 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
7303 support for GNU/kFreeBSD.
7304 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
7305 is a character device instead of a block device. Add support for
7306 FreeBSD device names.
7307
7308 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
7309 is a character device instead of a block device.
7310
7311 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
7312 is a character device instead of a block device.
7313
b1ac8644 73142009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
7315
7316 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
7317 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
7318 FreeBSD. Check if a device is a character device. Use
7319 DIOCGMEDIASIZE to get the size.
7320 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
7321 support for FreeBSD.
7322 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
7323 is a character device instead of a block device. Add support for
7324 FreeBSD device names.
7325
7326 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
7327 a character device instead of a block device.
7328 (grub_util_check_char_device): New function.
7329
7330 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
7331 a character device instead of a block device.
7332
7333 * include/grub/util/getroot.h (grub_util_check_char_device): New
7334 prototype.
7335
a3f7515a 73362009-04-11 David S. Miller <davem@davemloft.net>
7337
7338 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
7339 static libgcc.
7340 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
7341 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
7342 function, if present.
7343 (__bswapdi2): Likewise.
7344
0d44993d 7345 * include/grub/sparc64/ieee1275/boot.h: New file.
7346 * boot/sparc64/ieee1275/boot.S: Likewise.
7347 * boot/sparc64/ieee1275/diskboot.S: Likewise.
7348
ed3d2bc2 7349 * kern/misc.c (grub_ltoa): New function.
7350 (grub_vsprintf): Use it to format 'long' integers.
7351
d3bfb59c 73522009-04-10 David S. Miller <davem@davemloft.net>
7353
7354 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
7355 slots are of type grub_ieee1275_cell_t.
7356 (grub_nand_read): Likewise.
7357 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
7358 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
7359 macros are used to compare values in arg/ret block of the call.
7360 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
7361 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
7362 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
7363 grub_ieee1275_instance_to_path, grub_ieee1275_write,
7364 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
7365 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7366 grub_ieee1275_close, grub_ieee1275_set_property,
7367 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7368 grub_ieee1275_cell_t.
7369 * kern/ieee1275/openfw.c (grub_map): Likewise.
7370 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7371 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7372
450e2238 7373 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7374 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7375 (grub_devalias_iterate): Likewise.
7376
7dd4a573 73772009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7378
7379 UFS improvements
7380
7381 * fs/ufs.c (INODE_NBLOCKS): new definition
7382 (struct grub_ufs_dirent): added fields for non-BSD dirents
7383 (grub_ufs_get_file_block): fixed double indirect handling
7384 (grub_ufs_lookup_symlink): use more robust way to determine whether
7385 symlink is inline
7386 (grub_ufs_find_file): support for non-BSD dirents
7387 (grub_ufs_dir): support for non-BSD dirents
7388
e7e6862a 73892009-04-10 Bean <bean123ch@gnail.com>
7390
7391 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7392 attribute, otherwise the size would be wrong for i386 platform.
7393
7394 * include/grub/pci.h (grub_pci_read_word): New inline function.
7395 (grub_pci_read_byte): Likewise.
7396 (grub_pci_write): Likewise.
7397 (grub_pci_write_word): Likewise.
7398 (grub_pci_write_byte): Likewise.
7399
7400 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7401
7402 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7403 (find_framebuf): Scan pci to locate the frame buffer address.
7404
7405 * commands/efi/fixvideo.c: New file.
7406
7407 * commands/efi/loadbios.c: Likewise.
7408
7409 * commands/memrw.c: Likewise.
7410
7411 * util/grub-dumpbios.in: Likewise.
7412
7413 * conf/common.rmk (grub-dumpbios): New utility.
7414 (pkglib_MODULES): New module memrw.mod.
7415 (memrw_mod_SOURCE): New macro.
7416 (memrw_mod_CFLAGS): Likewise.
7417 (memrw_mod_LDFLAGS): Likewise.
7418
7dd4a573 7419 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7420 fixvideo.mod.
7421 (loadbios_mod_SOURCE): New macro.
7422 (loadbios_mod_CFLAGS): Likewise.
7423 (loadbios_mod_LDFLAGS): Likewise.
7424 (fixvideo_mod_SOURCE): Likewise.
7425 (fixvideo_mod_CFLAGS): Likewise.
7426 (fixvideo_mod_LDFLAGS): Likewise.
7427
7dd4a573 7428 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7429 fixvideo.mod.
7430 (loadbios_mod_SOURCE): New macro.
7431 (loadbios_mod_CFLAGS): Likewise.
7432 (loadbios_mod_LDFLAGS): Likewise.
7433 (fixvideo_mod_SOURCE): Likewise.
7434 (fixvideo_mod_CFLAGS): Likewise.
7435 (fixvideo_mod_LDFLAGS): Likewise.
7436
af63ada2 74372009-04-08 Felix Zielcke <fzielcke@z-51.de>
7438
7439 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
7440
c2cdde70 74412009-04-07 David S. Miller <davem@davemloft.net>
7442
7443 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
7444 support for R_SPARC_OLO10 relocations. Fix compile warning for
7445 R_SPARC_WDISP30 case.
ea3f72cf 7446 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 7447
761319cf 74482009-04-06 Pavel Roskin <proski@gnu.org>
7449
1007d1f5 7450 * include/grub/misc.h (ARRAY_SIZE): New macro.
7451 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
7452 New macro.
7453 * loader/i386/linux.c (allocate_pages): Use free_pages().
7454 (grub_linux_unload): Don't use free_pages().
7455 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
7456 wrong index. Treat all other modes as text modes.
7457 (grub_cmd_linux): Initialize vid_mode unconditionally to
7458 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
7459
761319cf 7460 * commands/help.c (print_command_help): Use cmd->prio, not
7461 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
7462
ea761d40 74632009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 7464
ea761d40 7465 Parttool
7466
7467 * parttool/pcpart.c: new file
7468 * commands/parttool.c: likewise
7469 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
7470 (parttool_mod_SOURCES): new variable
7471 (parttool_mod_CFLAGS): likewise
7472 (parttool_mod_LDFLAGS): likewise
7473 (pcpart_mod_SOURCES): likewise
7474 (pcpart_mod_CFLAGS): likewise
7475 (pcpart_mod_LDFLAGS): likewise
7dd4a573 7476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 7477 and parttool/pcpart.c
7478 * conf/i386-efi.rmk: likewise
7479 * conf/i386-ieee1275.rmk: likewise
7480 * conf/i386-pc.rmk: likewise
7481 * conf/powerpc-ieee1275.rmk: likewise
7482 * conf/sparc64-ieee1275.rmk: likewise
7483 * conf/x86_64-ieee1275.rmk: likewise
7484
05aaebfb 74852009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 Support for mtime and further expandability of dir command
7488
7489 * include/grub/lib/datetime.h: moved to ...
7dd4a573 7490 * include/grub/datetime.h: ... moved here and added
05aaebfb 7491 declaration of grub_unixtime2datetime. All users updated
7dd4a573 7492 * include/grub/fs.h: new syntax for dir and mtime functions in
7493 struct grub_fs
05aaebfb 7494 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
7495 and GRUB_FSHELP_FLAGS_MASK
7496 * commands/ls.c (grub_ls_list_files): Write mtime in long format
7497 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
7498 (grub_ext2_mtime): new function
7499 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
7500 (grub_hfsplus_mtime): new function
7501 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
7502 (GRUB_UFS_ATTR_FILE): likewise
7503 (GRUB_UFS_ATTR_LNK): likewise
7504 (struct grub_ufs_sblock): new fields mtime
7505 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
7506 all users updated
7507 (grub_ufs_dir): mtime support
7508 (grub_ufs_mtime): new function
7509 * fs/affs.c (grub_affs_dir): use new dir syntax
7510 * fs/afs.c (grub_afs_dir): likewise
7511 * fs/cpio.c (grub_cpio_dir): likewise
7512 * fs/fat.c (grub_fat_find_dir): likewise
7513 * fs/hfs.c (grub_hfs_dir): likewise
7514 * fs/iso9660.c (grub_iso9660_dir): likewise
7515 * fs/jfs.c (grub_jfs_dir): likewise
7516 * fs/minix.c (grub_minix_dir): likewise
7517 * fs/ntfs.c (grub_ntfs_dir): likewise
7518 * fs/reiserfs.c (grub_reiserfs_dir): likewise
7519 * fs/sfs.c (grub_sfs_dir): likewise
7520 * fs/xfs.c (grub_xfs_dir): likewise
7521 * util/hostfs.c (grub_hostfs_dir): likewise
7522 * lib/datetime.c: moved to ...
7523 * normal/datetime.c: ... moved here
7524 (grub_unixtime2datetime): new function
7525 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 7526 * normal/completion.c (iterate_dir): use new dir syntax
7527 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 7528 last modification time of a volume
7dd4a573 7529 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 7530 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 7531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 7532 (normal_mod_SOURCES): likewise
7533 (datetime_mod_SOURCES): Removed lib/datetime.c
7534 * conf/i386-efi.rmk: likewise
7dd4a573 7535 * conf/i386-ieee1275.rmk: likewise
05aaebfb 7536 * conf/i386-pc.rmk: likewise
7537 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7538 * conf/sparc64-ieee1275.rmk: likewise
7539 * conf/x86_64-efi.rmk: likewise
05aaebfb 7540
8a7e1a14 75412009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 7544
7545 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 7546 on grub_fat_find_dir
7547 (grub_fat_find_dir): use grub_fat_iterate_dir
7548 (grub_fat_label): likewise
7549
04186a9c 75502009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7551
7dd4a573 7552 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 7553 and command.h
7554 remove extraneous kernel_elf_HEADERS
7555
da4c0bb6 75562009-04-04 Bean <bean123ch@gnail.com>
7557
7558 * include/grub/util/misc.h: Add dummy function fsync for mingw.
7559
7560 * util/misc.c: Likewise.
7561
54ad9555 75622009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
7563
7564 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
7565 instead of grub_printf.
7566
7a6bf9f2 75672009-04-03 Robert Millan <rmh@aybabtu.com>
7568
7569 * loader/i386/linux.c (grub_linux_setup_video): Fill
7570 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
7571 values from `mode info' structure instead of hardcoded
7572 values.
7573
3fcc2083 75742009-04-01 Pavel Roskin <proski@gnu.org>
7575
7576 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
7577 unused now.
7578 * genmk.rb: Likewise.
7579 * configure.ac: Likewise.
7580
5ec9740b 75812009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
7582
7583 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
7584 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
7585
5270cec8 75862009-04-01 David S. Miller <davem@davemloft.net>
7587
7588 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 7589 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 7590 (grub_setjmp): Mark with 'returns_twice' attribute.
7591 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
7592 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
7593 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
7594
9c3dd854 75952009-04-01 Robert Millan <rmh@aybabtu.com>
7596
7597 Reapply fix from 2008-07-28 which was accidentally reverted; also
7598 perform the same fix to a similar check in same function.
7599
7600 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
7601 with the same number are found, just use issue a warning with
7602 grub_dprintf(), as this error has been reported to be non-fatal.
7603
0d818b7e 76042009-03-31 Pavel Roskin <proski@gnu.org>
7605
7606 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
7607 for cross-compilation.
7608
95646d92 76092009-03-30 Robert Millan <rmh@aybabtu.com>
7610
7611 Fix i386-ieee1275 build.
7612
7613 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
7614 Remove declaration.
7615
6a003ed1 76162009-03-30 Pavel Roskin <proski@gnu.org>
7617
7618 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
7619 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
7620 zero-terminated, rely only on the strlen value. Fix comparison
7621 of strings differing in length.
7622
92f33540 76232009-03-30 Robert Millan <rmh@aybabtu.com>
7624
7625 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
7626 checking for abi version. Improve error messages on BIOS to notify
7627 user about `linux16' command.
7628
a8c48fd5 76292009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7630
f968172e 7631 Leak fixes
a8c48fd5 7632
f968172e 7633 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
7634 in case of collision
7635 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 7636
9c323f09 76372009-03-29 Robert Millan <rmh@aybabtu.com>
7638
7639 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
7640 set `vid_mode' accordingly.
7641 (grub_linux_boot): Process `vid_mode' and set video mode.
7642
ae68f423 76432009-03-29 Robert Millan <rmh@aybabtu.com>
7644
7645 * util/grub.d/10_linux.in (linux_entry): New function.
7646 Factorize generation of Linux boot entries.
7647
5709cfc4 76482009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
7649
7650 Make the format of Environment Block plain text. The boot loader
7651 part is not tested well yet.
7dd4a573 7652
5709cfc4 7653 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
7654 (buffer): Removed.
7655 (envblk): Likewise.
7656 (usage): Remove "info" and "clear". Add "unset". Update the
7657 description of "set", as this does not delete variables any
7658 longer.
7659 (create_envblk_file): Complete rewrite.
7660 (open_envblk_file): Likewise.
7661 (cmd_info): Removed.
7662 (cmd_list): Likewise.
7663 (cmd_set): Likewise.
7664 (cmd_clear): Likewise.
7665 (list_variables): New function.
7666 (write_envblk): Likewise.
7667 (set_variables): Likewise.
7668 (unset_variables): Likewise.
7669 (main): Complete rewrite.
7670
7671 * commands/loadenv.c (buffer): Removed.
7672 (envblk): Likewise.
7673 (open_envblk_file): New function.
7674 (read_envblk_file): Complete rewrite.
7675 (grub_cmd_load_env): Likewise.
7676 (grub_cmd_list_env): Likewise.
7677 (struct blocklist): New struct.
7678 (free_blocklists): New function.
7679 (check_blocklists): Likewise.
7680 (write_blocklists): Likewise.
7681 (grub_cmd_save_env): Complete rewrite.
7682
7683 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
7684 a plain text signature.
7685 (GRUB_ENVBLK_MAXLEN): Removed.
7686 (struct grub_envblk): Complete rewrite.
7687 (grub_envblk_find): Removed.
7688 (grub_envblk_insert): Likewise.
7689 (grub_envblk_open): New prototype.
7690 (grub_envblk_set): Likewise.
7691 (grub_envblk_delete): Put const to VALUE.
7692 (grub_envblk_iterate): Put const to NAME and VALUE.
7693 (grub_envblk_close): New prototype.
7694 (grub_envblk_buffer): New inline function.
7695 (grub_envblk_size): Likewise.
7696
7697 * lib/envblk.c: Include grub/mm.h.
7698 (grub_env_find): Removed.
7699 (grub_envblk_open): New function.
7700 (grub_envblk_close): Likewise.
7701 (escaped_value_len): Likewise.
7702 (find_next_line): Likewise.
7703 (grub_envblk_insert): Removed.
7704 (grub_envblk_set): New function.
7705 (grub_envblk_delete): Complete rewrite.
7706 (grub_envblk_iterate): Likewise.
7707
a9368fd3 77082009-03-28 Robert Millan <rmh@aybabtu.com>
7709
7710 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
7711 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
7712 variables. Use 16-bit loader.
7713 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
7714 loader.
7715 * kern/i386/loader.S (grub_linux_boot): Rename to ...
7716 (grub_linux16_boot): ... this. Update all users.
7717 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
7718 (grub_linux_boot): ... this. Update all users.
7719
7720 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
7721 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
7722 commands to `linux16' and `initrd16'.
7723 (GRUB_MOD_FINI(linux)): Rename to ...
7724 (GRUB_MOD_FINI(linux16)): ... this.
7725
e4dd5a7e 77262009-03-24 Pavel Roskin <proski@gnu.org>
7727
7728 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
7729 not just for compilation.
7730
c04d6e05 77312009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 Move multiboot helper out of kernel
7734
7735 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
7736 `loader/i386/multiboot_helper.S'.
7737 * conf/i386-coreboot.rmk: Likewise
7738 * conf/i386-ieee1275.rmk: Likewise
7739
7740 * kern/i386/loader.S: Move multiboot helpers from here...
7741 * loader/i386/multiboot_helper.S: ...moved here
7742 * include/grub/i386/loader.h: Move declarations of multiboot
7743 helpers from here...
7744 * include/grub/i386/multiboot.h: ...moved here
7745 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
7746
42a5b3fc 77472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7748
7749 * kern/env.c (grub_env_context_open): Added an argument to specify
7750 whether a new context inherits exported variables from current
7751 one. This is useful when making a sandbox to interpret a config
7752 file.
7753 All callers updated.
7754
7755 * include/grub/env.h (grub_env_context_open): Updated the prototype.
7756
b28bbc4e 77572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7758
7759 * kern/env.c (grub_env_context_close): Fix memory leaks.
7760
f04f02e4 77612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7762
7763 * normal/main.c (grub_normal_execute): Added an argument
7764 BATCH to specify if an interactive interface should be provided
7765 after reading a config file.
7766 All callers updated.
7767 (read_command_list): Prevent being executed twice.
7768 (read_fs_list): Likewise.
7769
42a5b3fc 7770 * include/grub/normal.h (grub_normal_execute): Updated the
7771 prototype.
f04f02e4 7772
41473ac2 77732009-03-22 Pavel Roskin <proski@gno.org>
7774
fbc00b0c 7775 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
7776 _start.
7777 * kern/i386/pc/startup.S: Likewise.
7778 * kern/i386/efi/startup.S: Likewise.
7779 * kern/i386/ieee1275/startup.S: Likewise.
7780 * kern/i386/coreboot/startup.S: Likewise.
7781 * kern/x86_64/efi/startup.S: Likewise.
7782
41473ac2 7783 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
7784 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
7785 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
7786
2274cc8f 77872009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 Bugfixes in multiboot for bugs uncovered by solaris kernel.
7790
7791 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
7792 limit detection.
7793 Use vaddr of correct segment for entry_point.
7794
b1b797cb 77952009-03-21 Bean <bean123ch@gmail.com>
7796
7797 * commands/blocklist.c: Add include file <grub/command.h>, remove
7798 <grub/normal.h> and <grub/arg.h>.
7799 (grub_cmd_blocklist): Use the new command interface.
7800 (GRUB_MOD_INIT): Likewise.
7801 (GRUB_MOD_FINI): Likewise.
7802 * commands/boot.c: Likewise.
7803 * commands/cat.c: Likewise.
7804 * commands/cmp.c: Likewise.
7805 * commands/configfile.c: Likewise.
7806 * commands/crc.c: Likewise.
7807 * commands/echo.c: Likewise.
7808 * commands/halt.c: Likewise.
7809 * commands/handler.c: Likewise.
7810 * commands/hdparm.c: Likewise.
7811 * commands/help.c: Likewise.
7812 * commands/hexdump.c: Likewise.
7813 * commands/loadenv.c: Likewise.
7814 * commands/ls.c: Likewise.
7815 * commands/lsmmap.c: Likewise.
7816 * commands/lspci.c: Likewise.
7817 * commands/loadenv.c: Likewise.
7818 * commands/read.c: Likewise.
7819 * commands/reboot.c: Likewise.
7820 * commands/search.c: Likewise.
7821 * commands/sleep.c: Likewise.
7822 * commands/test.c: Likewise.
7823 * commands/usbtest.c: Likewise.
7824 * commands/videotest.c: Likewise.
7825 * commands/i386/cpuid.c: Likewise.
7826 * commands/i386/pc/halt.c: Likewise.
7827 * commands/i386/pc/play.c: Likewise.
7828 * commands/i386/pc/pxecmd.c: Likewise.
7829 * commands/i386/pc/vbeinfo.c: Likewise.
7830 * commands/i386/pc/vbetest.c: Likewise.
7831 * commands/ieee1275/suspend.c: Likewise.
7832 * disk/loopback.c: Likewise.
7833 * font/font_cmd.c: Likewise.
7834 * hello/hello.c: Likewise.
7835 * loader/efi/appleloader.c: Likewise.
7836 * loader/efi/chainloader.c: Likewise.
7837 * loader/i386/bsd.c: Likewise.
7838 * loader/i386/efi/linux.c: Likewise.
7839 * loader/i386/ieee1275/linux.c: Likewise.
7840 * loader/i386/linux.c: Likewise.
7841 * loader/i386/pc/chainloader.c: Likewise.
7842 * loader/i386/pc/linux.c: Likewise.
7843 * loader/powerpc/ieee1275/linux.c: Likewise.
7844 * loader/multiboot_loader.c: Likewise.
7845 * term/gfxterm.c: Likewise.
7846 * term/i386/pc/serial.c: Likewise.
7847 * term/terminfo.c: Likewise.
7848
7849 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
7850 * term/i386/pc/vga.c: Likewise.
7851 * video/readers/jpeg.c: Likewise.
7852 * video/readers/png.c: Likewise.
7853 * video/readers/tga.c: Likewise.
7854
7855 * util/grub-fstest (cmd_loopback): Removed.
7856 (cmd_blocklist): Likewise.
7857 (cmd_ls): Likewise.
7858 (grub_register_command): Likewise.
7859 (grub_unregister_command): Likewise.
7860 (execute_command): Use grub_command_find to locate command and execute
7861 it.
7862
7863 * include/grub/efi/chainloader.h: Removed.
7864 * loader/efi/chainloader_normal.c: Likewise.
7865 * loader/i386/bsd_normal.c: Likewise.
7866 * loader/i386/pc/chainloader_normal.c: Likewise.
7867 * loader/i386/pc/multiboot_normal.c: Likewise.
7868 * loader/linux_normal.c: Likewise.
7869 * loader/multiboot_loader_normal.c: Likewise.
7870 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
7871
7872 * gencmdlist.sh: Scan new registration command grub_register_extcmd
7873 and grub_register_command_p1.
7874
7875 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
7876 kern/command.c, lib/arg.c and commands/extcmd.c.
7877 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
7878 (minicmd_mod_SOURCES): New variable.
7879 (minicmd_mod_CFLAGS): Likewise.
7880 (minicmd_mod_LDFLAGS): Likewise.
7881 (extcmd_mod_SOURCES): Likewise.
7882 (extcmd_mod_CFLAGS): Likewise.
7883 (extcmd_mod_LDFLAGS): Likewise.
7884 (boot_mod_SOURCES): Removed.
7885 (boot_mod_CFLAGS): Likewise.
7886 (boot_mod_LDFLAGS): Likewise.
7887
7888 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
7889 kern/corecmd.c.
7890 (kernel_img_HEADERS): Add command.h.
7891 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
7892 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
7893 and lib/arg.c.
7894 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
7895 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
7896 remove the corresponding normal mode command.
7897 (normal_mod_SOURCES): Remove normal/arg.c.
7898 * conf/i386-coreboot.rmk: Likewise.
7899 * conf/i386-efi.rmk: Likewise.
7900 * conf/i386-ieee1275.rmk: Likewise.
7901 * conf/powerpc-ieee1275.rmk: Likewise.
7902 * conf/x86_64-efi.rmk: Likewise.
7903
7904 * include/grub/arg.h: Move from here ...
7905 * include/grub/lib/arg.h: ... to here.
7906
7907 * normal/arg.c: Move from here ...
7908 * lib/arg.c: ... to here.
7909
7910 * commands/extcmd.c: New file.
7911 * commands/minicmd.c: Likewise.
7912 * include/grub/command.h: Likewise.
7913 * include/grub/extcmd.h: Likewise.
7914 * kern/command.c: Likewise.
7915 * kern/corecmd.c: Likewise.
7916
7917 * kern/list.c (grub_list_iterate): Return int instead of void.
7918 (grub_list_insert): New function.
7919 (grub_prio_list_insert): Likewise.
7920
7921 * kern/rescue.c (grub_rescue_command): Removed.
7922 (grub_rescue_command_list): Likewise.
7923 (grub_rescue_register_command): Likewise.
7924 (grub_rescue_unregister_command): Likewise.
7925 (grub_rescue_cmd_boot): Move to minicmd.c
7926 (grub_rescue_cmd_help): Likewise.
7927 (grub_rescue_cmd_info): Likewise.
7928 (grub_rescue_cmd_boot): Likewise.
7929 (grub_rescue_cmd_testload): Likewise.
7930 (grub_rescue_cmd_dump): Likewise.
7931 (grub_rescue_cmd_rmmod): Likewise.
7932 (grub_rescue_cmd_lsmod): Likewise.
7933 (grub_rescue_cmd_exit): Likewise.
7934 (grub_rescue_print_devices): Moved to corecmd.c.
7935 (grub_rescue_print_files): Likewise.
7936 (grub_rescue_cmd_ls): Likewise.
7937 (grub_rescue_cmd_insmod): Likewise.
7938 (grub_rescue_cmd_set): Likewise.
7939 (grub_rescue_cmd_unset): Likewise.
7d074e3c 7940 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 7941 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 7942 commands, remove grub_rescue_register_command calls.
b1b797cb 7943
7d074e3c 7944 * normal/command.c (grub_register_command): Removed.
b1b797cb 7945 (grub_unregister_command): Likewise.
7946 (grub_command_find): Likewise.
7947 (grub_iterate_commands): Likewise.
7948 (rescue_command): Likewise.
7949 (export_command): Moved to corecmd.c.
7950 (set_command): Removed.
7951 (unset_command): Likewise.
7952 (insmod_command): Likewise.
7953 (rmmod_command): Likewise.
7954 (lsmod_command): Likewise.
7955 (grub_command_init): Likewise.
7956
7957 * normal/completion.c (iterate_command): Use cmd->prio to check for
7958 active command.
7959 (complete_arguments): Use grub_extcmd_t structure to find options.
7960 (grub_normal_do_completion): Change function grub_iterate_commands to
7961 grub_command_iterate.
7962
7963 * normal/execute.c (grub_script_execute_cmd): No need to parse
7964 argument here.
7965
7966 * normal/main.c (grub_dyncmd_dispatcher): New function.
7967 (read_command_list): Register unload commands as dyncmd.
7968 (grub_cmd_normal): Use new command interface, register rescue,
7969 unregister normal at entry, register normal, unregister rescue at exit.
7970
7971 * include/grub/list.h (grub_list_test_t): New type.
7972 (grub_list_iterate): Return int instead of void.
7973 (grub_list_insert): New function.
7974 (GRUB_AS_NAMED_LIST_P): New macro.
7975 (GRUB_AS_PRIO_LIST): Likewise.
7976 (GRUB_AS_PRIO_LIST_P): Likewise.
7977 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
7978 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
7979 (grub_prio_list): New structure.
7980 (grub_prio_list_insert): New function.
7981 (grub_prio_list_remove): New inline function.
7982
7983 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
7984 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
7985 (GRUB_COMMAND_FLAG_MENU): Likewise.
7986 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7987 (GRUB_COMMAND_FLAG_TITLE): Likewise.
7988 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7989 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
7990 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
7991 (grub_command): Likewise.
7992 (grub_register_command): Likewise.
7993 (grub_command_find): Likewise.
7994 (grub_iterate_commands): Likewise.
7995 (grub_command_init): Likewise.
7996 (grub_arg_parse): Likewise.
7997 (grub_arg_show_help): Likewise.
7998
7999 * include/grub/rescue.h (grub_rescue_register_command): Removed.
8000 (grub_rescue_unregister_command): Likewise.
8001
8002 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
8003 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
8004 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
8005
8006 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
8007 grub_rescue_cmd_initrd.
8008 * include/grub/i386/loader.h: Likewise.
8009 * include/grub/x86_64/loader.h: Likewise.
8010
8011 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
8012
1f4147aa 80132009-03-21 Bean <bean123ch@gmail.com>
8014
8015 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
8016 instead of stat in mingw environment.
8017
8018 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
8019
8020 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
8021
8022 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
8023 AC_CONFIG_LINKS.
8024
2156d5ba 80252009-03-21 Bean <bean123ch@gmail.com>
8026
8027 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
8028 out of range error.
8029
177b82ca 80302009-03-18 Michel Dänzer <michel@daenzer.net>
8031
8032 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
8033 checking inode flags for EXT4_EXTENTS_FLAG.
8034
14aad807 80352009-03-18 Robert Millan <rmh@aybabtu.com>
8036
8037 * loader/i386/linux.c: Include `<grub/video.h>' and
8038 `<grub/i386/pc/vbe.h>'..
8039 (grub_linux_setup_video): New function. Loosely based on the EFI one.
8040 (grub_linux32_boot): Attempt to configure video settings with
8041 grub_linux_setup_video().
8042 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
8043 to avoid grub_console_fini() which would step out of graphical mode
8044 unconditionally.
8045
8cf83a27 80462009-03-14 Robert Millan <rmh@aybabtu.com>
8047
8048 Fix build on powerpc.
8049 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
8050
40164e75 80512009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
8054 background image command.
8055
c58bc32a 80562009-03-12 Colin D Bennett <colin@gibibit.com>
8057
8058 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
8059 (grub_gfxterm_putchar): Extract pairs of identical calls to
8060 draw_cursor out of conditional blocks.
8061
5415144a 80622009-03-11 Pavel Roskin <proski@gnu.org>
8063
8064 * fs/hfs.c (grub_hfs_strncasecmp): New function.
8065 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
8066
6394042e 80672009-03-11 Robert Millan <rmh@aybabtu.com>
8068
8069 * loader/i386/multiboot_elfxx.c
8070 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
8071
b7b50e5f 80722009-03-11 Felix Zielcke <fzielcke@z-51.de>
8073
8074 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
8075 `kern/handler.c'.
8076
1ca7fc96 80772009-03-11 Robert Millan <rmh@aybabtu.com>
8078
8079 * loader/i386/multiboot.c (code_size): New variable.
8080 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 8081 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 8082 4-byte alignment to MBI and others by increasing
7d074e3c 8083 `boot_loader_name_length' appropriately.
1ca7fc96 8084
8085 * loader/i386/multiboot_elfxx.c
8086 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
8087
a83ea1d2 80882009-03-09 Felix Zielcke <fzielcke@z-51.de>
8089
8090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
8091 `fs/ext2.c'.
8092
aa9f3bff 80932009-03-08 Robert Millan <rmh@aybabtu.com>
8094
8095 Make loader/i386/linux.c usable on i386-pc again.
8096
8097 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
8098 memory to heap.
8099 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
8100 `#error' stanza.
8101
d8b3b60e 81022009-03-07 Bean <bean123ch@gmail.com>
8103
8104 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
8105 allocation.
8106
b362c9e9 81072009-03-06 Robert Millan <rmh@aybabtu.com>
8108
8109 Fix display issue on terminals with screen size other than 80x25
8110 (e.g. gfxterm with resolution higher than 640x480).
8111
8112 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 8113 position relative to the center of the terminal instead of relying
b362c9e9 8114 on a hardcoded offset.
8115
9304eef1 81162009-03-04 Robert Millan <rmh@aybabtu.com>
8117
8118 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
8119 installed.
8120
8121 * Makefile.in (host_kernel): New variable.
8122 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
8123 scripts instead of just the windows one.
8124 * configure.ac: Initialize and AC_SUBST `host_kernel'.
8125
eabc95fb 81262009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 8127
8128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
8129 `kern/handler.c'.
8130 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8131 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8132 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8134 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8136
ceb1223c 81372009-03-04 Felix Zielcke <fzielcke@z-51.de>
8138
8139 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
8140 or if there's no space for the disk label and print the partition number on a
8141 invalid magic.
8142
4910684a 81432009-03-04 Felix Zielcke <fzielcke@z-51.de>
8144
8145 * util/misc.c: Include <time.h>.
8146 (grub_millisleep): New function.
8147
7e9ca17a 81482009-03-04 Bean <bean123ch@gmail.com>
8149
8150 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
8151 another option -mno-red-zone.
8152
8153 * commands/handler.c: Change module description.
8154
8155 * kern/handler.c: Add missing space at the end of description line.
8156
8157 * kern/list.c: Likewise.
8158
f501677c 81592009-03-03 Robert Millan <rmh@aybabtu.com>
8160
8161 Move more components to the relocation area, and fix mbi pointer
8162 handling to use the destination rather than the origin (thanks to
8163 Vladimir Serbinenko for spotting).
8164
8165 * loader/i386/multiboot.c (mbi_dest): New variable.
8166 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
8167 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
8168 relocation area.
8169
9902d047 81702009-03-01 Bean <bean123ch@gmail.com>
8171
50fb7002 8172 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 8173 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
8174 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
8175 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
8176
8177 * loader/i386/efi/linux.c (acpi_guid): New variable.
8178 (acpi_guid): Likewise.
8179 (EBDA_SEG_ADDR): New constant.
8180 (LOW_MEM_ADDR): Likewise.
8181 (FAKE_EBDA_SEG): Likewise.
8182 (fake_bios_data): New function.
8183 (grub_linux_boot): Call fake_bios_data.
8184
71b9f361 81852009-03-01 Bean <bean123ch@gmail.com>
8186
8187 * commands/terminal.c: Removed.
8188
8189 * commands/handler.c: New file.
8190
8191 * include/grub/list.h: Likewise.
8192
8193 * include/grub/handler.h: Likewise.
8194
8195 * kern/list.c: Likewise.
8196
8197 * kern/handler.c: Likewise.
8198
8199 * kern/term.h: Include header file <grub/handler.h>.
8200 (grub_term_input): Move next field to the beginning.
8201 (grub_term_output): Likewise.
8202 (grub_term_input_class): New variable.
8203 (grub_term_output_class): Likewise.
8204 (grub_term_register_input): Changed to inline function.
8205 (grub_term_register_output): Likewise.
8206 (grub_term_unregister_input): Likewise.
8207 (grub_term_unregister_output): Likewise.
8208 (grub_term_set_current_input): Likewise.
8209 (grub_term_set_current_output): Likewise.
8210 (grub_term_get_current_input): Likewise.
8211 (grub_term_get_current_output): Likewise.
8212 (grub_term_iterate_input): Removed.
8213 (grub_term_iterate_output): Likewise.
8214
8215 * kern/term.c (grub_term_list_input): Removed.
8216 (grub_term_list_output): Likewise.
8217 (grub_term_input_class): New variable.
8218 (grub_term_output_class): Likewise.
50fb7002 8219 (grub_cur_term_input): Change variable as macro.
71b9f361 8220 (grub_cur_term_output): Likewise.
8221 (grub_term_register_input): Removed.
8222 (grub_term_register_output): Likewise.
8223 (grub_term_unregister_input): Likewise.
8224 (grub_term_unregister_output): Likewise.
8225 (grub_term_set_current_input): Likewise.
8226 (grub_term_set_current_output): Likewise.
8227 (grub_term_iterate_input): Likewise.
8228 (grub_term_iterate_output): Likewise.
8229 (grub_term_get_current_input): Likewise.
8230 (grub_term_get_current_output): Likewise.
8231
8232 * util/grub-editenv.c: Include header file <grub/handler.h>.
8233 (grub_term_get_current_input): Removed.
8234 (grub_term_get_current_output): Likewise.
8235 (grub_term_input_class): New variable.
50fb7002 8236 (grub_term_output_class): Likewise.
71b9f361 8237
8238 * util/grub-fstest.c (grub_term_get_current_input): Removed.
8239 (grub_term_get_current_output): Likewise.
8240 (grub_term_input_class): New variable.
50fb7002 8241 (grub_term_output_class): Likewise.
71b9f361 8242
8243 * util/grub-probe.c (grub_term_get_current_input): Removed.
8244 (grub_term_get_current_output): Likewise.
8245 (grub_term_input_class): New variable.
50fb7002 8246 (grub_term_output_class): Likewise.
71b9f361 8247
8248 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
8249 (grub_term_get_current_output): Likewise.
8250 (grub_term_input_class): New variable.
50fb7002 8251 (grub_term_output_class): Likewise.
71b9f361 8252
8253 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
8254 (terminal_mod_SOURCES): Likewise.
8255 (terminal_mod_CFLAGS): Likewise.
8256 (terminal_mod_LDFLAGS): Likewise.
8257
8258 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
8259 handler.c.
8260 (kernel_img_SOURCES): Add list.c and handler.c.
8261 (kernel_img_HEADERS): Add list.h and handler.h.
8262
8263 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8264 handler.c.
8265 (kernel_mod_SOURCES): Add list.c and handler.c.
8266 (kernel_mod_HEADERS): Add list.h and handler.h.
8267
8268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
8269 handler.c.
8270 (kernel_elf_SOURCES): Add list.c and handler.c.
8271 (kernel_elf_HEADERS): Add list.h and handler.h.
8272
8273 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8274 handler.c.
8275 (kernel_elf_SOURCES): Add list.c and handler.c.
8276 (kernel_elf_HEADERS): Add list.h and handler.h.
8277
8278 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8279 handler.c.
8280 (kernel_mod_SOURCES): Add list.c and handler.c.
8281 (kernel_mod_HEADERS): Add list.h and handler.h.
8282
8283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8284 handler.c.
8285 (kernel_elf_SOURCES): Add list.c and handler.c.
8286 (kernel_elf_HEADERS): Add list.h and handler.h.
8287
8a31787f 82882009-02-27 Robert Millan <rmh@aybabtu.com>
8289
8290 Factorize elf32 / elf64 code in Multiboot loader. This will
8291 prevent it from getting out of sync again.
8292
8293 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
8294 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
8295 grub_multiboot_load_elf64): Move from here ...
8296 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
8297 grub_multiboot_load_elf): ... to here (new file).
8298
51cd3dfc 82992009-02-27 Robert Millan <rmh@aybabtu.com>
8300
8301 * util/grub.d/10_linux.in: Rename "single-user mode" to
8302 "recovery mode".
8303
6e8c9c3a 83042009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 Don't leak in SCSI code.
8307 * disk/scsi.c (grub_scsi_close): free `scsi'.
8308
4b6bf4f9 83092009-02-27 Robert Millan <rmh@aybabtu.com>
8310
8311 * loader/i386/pc/multiboot.c: Move from here ...
8312 * loader/i386/multiboot.c: ... to here. Update all users.
8313
b9413424 83142009-02-27 Robert Millan <rmh@aybabtu.com>
8315
8316 Patch from Alexandre Bique <bique.alexandre@gmail.com>
8317 * util/i386/pc/grub-setup.c (setup): Fix directory path.
8318
50fb7002 83192009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 8320
8321 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
8322 b-tree.
8323
8cc50345 83242009-02-27 Robert Millan <rmh@aybabtu.com>
8325
8326 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
8327 `0x' qualifier as 0 when base is specified as parameter).
8328
6e09b8b7 83292009-02-24 Bean <bean123ch@gmail.com>
8330
8331 * configure.ac: Check for -mcmodel=large in x86_64 target.
8332
8333 * include/grub/efi/api.h (efi_call_10): New macro.
8334 (efi_wrap_10): New function.
8335
8336 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
8337 (GRUB_PE32_REL_BASED_HIGH): Likewise.
8338 (GRUB_PE32_REL_BASED_LOW): Likewise.
8339 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
8340 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
8341 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
8342 (GRUB_PE32_REL_BASED_SECTION): Likewise.
8343 (GRUB_PE32_REL_BASED_REL): Likewise.
8344 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
8345 (GRUB_PE32_REL_BASED_DIR64): Likewise.
8346 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
8347
8348 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
8349 issue.
8350
8351 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
8352 (efi_wrap_10): New function.
8353
8354 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
8355
8356 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
8357 MB/MBP model (NV chipset).
8358 (devdata_devs): Add devpath_5 to the list.
8359
8360 * load/i386/efi/linux.c (video_base): Remove variable.
8361 (RGB_MASK): New macro.
8362 (RGB_MAGIC): Likewise.
8363 (LINE_MIN): Likewise.
8364 (LINE_MAX): Likewise.
8365 (FBTEST_STEP): Likewise.
8366 (FBTEST_COUNT): Likewise.
8367 (fb_list): New variable.
8368 (grub_find_video_card): Remove function.
8369 (find_framebuf): New function.
8370 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8371 line length.
8372
8373 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8374 problem for x86_64.
8375
74b21bee 83762009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8377
8378 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8379
8380 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8381 coding tool name.
8382
a455f472 83832009-02-22 Robert Millan <rmh@aybabtu.com>
8384
8385 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8386 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8387 in our relocation, instead of using it directly from heap. Also
8388 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8389
6374daf3 83902009-02-21 Robert Millan <rmh@aybabtu.com>
8391
8392 Implement USB keyboard support (based on patch by Marco Gerards)
8393
8394 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8395 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8396 (usb_keyboard_mod_LDFLAGS): New variables.
8397
8398 * term/usb_keyboard.c: New file.
8399
8fa4ea70 84002009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 Corrected wrong declaration
8403
8404 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8405
353976ac 84062009-02-14 Christian Franke <franke@computer.org>
8407
8408 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8409 (grub_lspci_iter): Print class code and programming interface byte.
8410
6aa1169b 84112009-02-14 Christian Franke <franke@computer.org>
8412
8413 * gendistlist.sh: Ignore `.svn' directories.
8414
265372ca 84152009-02-14 Felix Zielcke <fzielcke@z-51.de>
8416
8417 * fs/fat.c: Add 2009 to Copyright line.
8418
9ff516f3 84192009-02-14 Christian Franke <franke@computer.org>
8420
8421 * commands/hdparm.c: New file. Provides `hdparm' command
8422 which sends ATA commands via grub_disk_ata_pass_through ().
8423
8424 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
8425
8426 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
8427 and <grub/cpu/io.h> to include/grub/ata.h.
8428 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
8429 (GRUB_CDROM_SECTOR_SIZE): Remove.
8430 (GRUB_ATA_*): Move to include/grub/ata.h.
8431 (GRUB_ATAPI_*): Likewise.
8432 (enum grub_ata_commands): Likewise.
8433 (enum grub_ata_timeout_milliseconds): Likewise.
8434 (struct grub_ata_device): Likewise.
8435 (grub_ata_regset): Likewise.
8436 (grub_ata_regget): Likewise.
8437 (grub_ata_regset2): Likewise.
8438 (grub_ata_regget2): Likewise.
8439 (grub_ata_check_ready): Likewise.
8440 (grub_ata_wait_not_busy): Remove static, exported in
8441 include/grub/ata.h.
8442 (grub_ata_wait_drq): Likewise.
8443 (grub_ata_pio_read): Likewise.
8444
8445 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
8446 function for hdparm.mod.
8447
8448 * include/grub/ata.h: New file, contains declarations from
8449 disk/ata.c.
8450 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
8451
8452 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
8453 (grub_disk_ata_pass_through): New exported variable.
8454
8455 * kern/disk.c (grub_disk_ata_pass_through): New variable.
8456
772e23da 84572009-02-13 Colin D Bennett <colin@gibibit.com>
8458
8459 Support multiple fallback entries, and provide an API to support
8460 executing default+fallback menu entries. Renamed the `terminal' menu
8461 viewer to `text'.
8462
8463 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
8464 variable declaration.
8465 (grub_menu_execute_callback): New structure declaration.
8466 (grub_menu_execute_callback_t): New typedef.
8467 (grub_menu_execute_with_fallback): New function declaration.
8468 (grub_menu_get_entry): Likewise.
8469 (grub_menu_get_timeout): Likewise.
8470 (grub_menu_set_timeout): Likewise.
8471
8472 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
8473
8474 * normal/menu.c (grub_wait_after_message): Moved to
8475 `normal/menu_text.c'.
8476 (draw_border): Likewise.
8477 (print_message): Likewise.
8478 (print_entry): Likewise.
8479 (print_entries): Likewise.
8480 (grub_menu_init_page): Likewise.
8481 (get_entry_number): Likewise.
8482 (print_timeout): Likewise.
8483 (run_menu): Likewise.
8484 (grub_menu_execute_entry): Likewise.
8485 (show_text_menu): Likewise.
8486 (get_and_remove_first_entry_number): New function.
8487 (grub_menu_execute_with_fallback): Likewise.
8488 (get_entry): Renamed to ...
8489 (grub_menu_get_entry): .. this and made it global.
8490 (get_timeout): Renamed to ...
8491 (grub_menu_get_timeout): ... this and made it global.
8492 (set_timeout): Renamed to ...
8493 (grub_menu_set_timeout): ... this and made it global.
8494 (grub_normal_terminal_menu_viewer): Renamed to ...
8495 (grub_normal_text_menu_viewer): ... this.
8496
8497 * normal/menu_text.c: New file. Extracted text-menu-specific code
8498 from normal/menu.c.
8499
8500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
8501 (normal_mod_SOURCES): Likewise.
8502
8503 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8504 (normal_mod_SOURCES): Likewise.
8505
8506 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8507 (normal_mod_SOURCES): Likewise.
8508
8509 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
8510 (normal_mod_SOURCES): Likewise.
8511
8512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8513 (normal_mod_SOURCES): Likewise.
8514
8515 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8516 (normal_mod_SOURCES): Likewise.
8517
8518 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8519 (normal_mod_SOURCES): Likewise.
8520
16ac430e 85212009-02-11 Robert Millan <rmh@aybabtu.com>
8522
8523 * util/grub.d/00_header.in: Update old reference to `font' command.
8524
06ff20fc 85252009-02-10 Felix Zielcke <fzielcke@z-51.de>
8526
8527 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
8528
8529 Based on patch from Javier Martín.
8530
96da9407 85312009-02-09 Felix Zielcke <fzielcke@z-51.de>
8532
8533 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 8534 to avoid false positives with FAT.
96da9407 8535 (grub_fstest_SOURCES): Likewise.
8536 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8537 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8540 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8542
6dca6fe4 85432009-02-09 Felix Zielcke <fzielcke@z-51.de>
8544
06ff20fc 8545 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 8546 bpb.version_specific.fat12_or_fat16.fstype and
8547 bpb.version_specific.fat32.fstype.
8548
2550c62f 85492009-02-08 Robert Millan <rmh@aybabtu.com>
8550
be110b30 8551 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 8552
56978920 85532009-02-08 Robert Millan <rmh@aybabtu.com>
8554
8555 * Makefile.in (host_os, host_cpu): New variables.
8556 (target_os): Remove. Update all users.
8557
d64399b5 85582009-02-08 Marco Gerards <marco@gnu.org>
8559
8560 * Makefile.in (enable_grub_emu_usb): New variable.
8561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
8562 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
8563 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
8564 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
8565 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
8566 `usbtest.mod' and `usbms.mod'.
8567 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
8568 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
8569 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
8570 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
8571 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
8572 variables.
8573
8574 * disk/usbms.c: New file.
8575
8576 * include/grub/usb.h: Likewise.
8577
8578 * include/grub/usbtrans.h: Likewise.
8579
8580 * include/grub/usbdesc.h: Likewise.
8581
8582 * bus/usb/usbtrans.c: Likewise.
8583
8584 * bus/usb/ohci.c: Likewise.
8585
8586 * bus/usb/uhci.c: Likewise.
8587
8588 * bus/usb/usbhub.c: Likewise.
8589
8590 * bus/usb/usb.c: Likewise.
8591
8592 * commands/usbtest.c: Likewise.
8593
8594 * util/usb.c: Likewise.
50fb7002 8595
d64399b5 8596 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
8597
8598 * configure.ac: Test for libusb presence.
50fb7002 8599
d64399b5 8600 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
8601
2b40d6bb 86022009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
8603
8604 * kern/mm.c: Add more comments.
8605
73a4ce81 86062009-02-08 Robert Millan <rmh@aybabtu.com>
8607
8608 Patch from Javier Martín.
8609 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
8610 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
8611
f821ce59 86122009-02-08 Robert Millan <rmh@aybabtu.com>
8613
8614 * fs/cpio.c: Split tar functionality to ...
8615 * fs/tar.c: ... here (new file). Update all users.
8616
aebfc4b0 86172009-02-07 Robert Millan <rmh@aybabtu.com>
8618
8619 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
8620 backward-incompatible features.
8621
8622 Based on patch from Javier Martín, with some adjustments.
8623
50fb7002 86242009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 8625
8626 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
8627
0bb5115e 86282009-02-07 Robert Millan <rmh@aybabtu.com>
8629
8630 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
8631 position of `disk/lvm.c' to ensure grub_init_all() always picks it
8632 after the RAID stuff.
8633
38a0f8e7 86342009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
8635
50fb7002 8636 Fixes problem when running vbetest command as reported by
38a0f8e7 8637 Vladimir Serbinenko <phcoder@gmail.com>.
8638
8639 * (grub_vbe_set_video_mode): Fixed problem with text modes.
8640
3143cc1c 86412009-02-04 Felix Zielcke <fzielcke@z-51.de>
8642
8643 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
8644 /dev/md/NpN style mdraid devices.
8645
9cba6fce 86462009-02-03 Felix Zielcke <fzielcke@z-51.de>
8647
8648 * util/unifont2pff.rb: Remove.
8649
e507a2c1 86502009-02-03 Felix Zielcke <fzielcke@z-51.de>
8651
8652 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
8653 `#'.
8654
d2c2b4cd 86552009-02-03 Felix Zielcke <fzielcke@z-51.de>
8656
8657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
8658 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8664
b4315fb0 86652009-02-02 Christian Franke <franke@computer.org>
8666
8667 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
8668
de3aa260 86692009-02-01 Felix Zielcke <fzielcke@z-51.de>
8670
7c3ff286 8671 * INSTALL: Note that we now require at least autoconf 2.59 and
8672 that LZO is optional.
de3aa260 8673
825a182b 86742009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8675
8676 Base on patch on bug #24154 created by Tomas Tintera
8677 <trosos@seznam.cz>.
8678
8679 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
8680
a69ef770 86812009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8682
7c3ff286 8683 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 8684 <bero@arklinux.org>.
8685
8686 * normal/parser.y (script_init): Add missing semicolon.
8687
6fa42fa6 86882009-01-31 Colin D Bennett <colin@gibibit.com>
8689
7c3ff286 8690 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 8691 (free_menu_entry_classes): Added.
8692 (grub_normal_menu_addentry): Added class property handling.
8693 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
8694 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
8695
8696 * normal/menu_viewer.c: New file.
8697
8698 * normal/menu.c (run_menu_entry): Renamed to ...
8699 (grub_menu_execute_entry): ... this and made it as global.
8700 (grub_menu_run): Renamed to ...
8701 (show_text_menu): ... this and made it local.
8702 (show_text_menu): Adapt to new function names.
8703 (grub_normal_terminal_menu_viewer): New global variable.
8704
8705 * include/grub/menu.h: New file.
8706
8707 * include/grub/menu_viewer.h: New file.
8708
8709 * include/grub/normal.h: Added include to grub/menu.h.
8710 (grub_menu_entry): Moved to include/grub/menu.h.
8711 (grub_menu_entry_t): Likewise.
8712 (grub_menu): Likewise.
8713 (grub_menu_t): Likewise.
8714 (grub_normal_terminal_menu_viewer): Added.
8715 (grub_menu_execute_entry): Likewise.
8716 (grub_menu_run): Removed.
8717
8718 * DISTLIST: Added include/grub/menu.h.
8719 Added include/grub/menu_viewer.h.
8720 Added normal/menu_viewer.c.
8721
87222009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
8723
8724 * normal/execute.c (grub_script_execute_menuentry): Changed to use
8725 arglist for menutitle arguments.
8726
8727 * normal/main.c (grub_normal_menu_addentry): Likewise.
8728
8729 * normal/parser.y (menuentry): Likewise.
8730
8731 * normal/script.c (grub_script_create_cmdmenu): Likewise.
8732
8733 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
8734 (grub_script_create_cmdmenu): Likewise.
8735
8736 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
8737
8738 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
8739 changes.
8740
8741 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
8742
8743 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
8744
8745 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
8746
8747 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8748
8749 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8750
8751 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8752
56192c23 87532009-01-30 Christian Franke <franke@computer.org>
8754
8755 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
8756 in option help text.
8757
d72521b3 87582009-01-27 Pavel Roskin <proski@gnu.org>
8759
8760 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
8761
994b5e84 87622009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8763
8764 * commands/lsmmap.c: Add include to grub/machine/memory.h.
8765
8766 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
8767
8768 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
8769 unregister function.
8770
6a7eab2c 87712009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8772
8773 * disk/scsi.c (grub_scsi_read): Fix sign problem.
8774
8775 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
8776
8777 * util/grub-mkfont.c (usage): Fix typo.
8778
8779 * util/elf/grub-mkimage.c (load_modules): Fix warning.
8780
1806b56e 87812009-01-26 Daniel Mierswa <impulze@impulze.org>
8782
3fb18f09 8783 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
8784
336e1fb9 8785 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
8786
1806b56e 8787 * kern/misc.c (grub_strcasecmp): New function.
8788 (grub_strcasecmp): Use grub_size_t instead of int for length.
8789 Fix return value.
8790 * include/grub/misc.h: Update function prototypes.
8791
580b2a0f 87922009-01-26 Robert Millan <rmh@aybabtu.com>
8793
8794 * configure.ac: Fix cross-compilation check.
ef257b36 8795
d31c24f1 87962009-01-22 Christian Franke <franke@computer.org>
8797
8798 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
8799 (precision) digit string. Allow `.format2' without `format1' (width).
8800 Limit input chars for `%s' output to `format2' if specified. This is
8801 compatible with standard printf ().
8802
3138b44c 88032009-01-22 Christian Franke <franke@computer.org>
8804
8805 * disk/ata.c (grub_ata_wait_status): Replace by ...
8806 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
8807 other status bits may be invalid while BSY is asserted.
8808 (grub_ata_check_ready): New function.
8809 (grub_ata_cmd): Removed.
8810 (grub_ata_wait_drq): New function.
8811 (grub_ata_strncpy): Remove inline.
8812 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
8813 and error check now done by grub_ata_wait_drq ().
8814 (grub_ata_pio_write): Likewise.
8815 (grub_atapi_identify): Set DEV before check for !BSY. Use
8816 grub_ata_wait_drq () to wait for data.
8817 (grub_ata_device_initialize): Add status register check to
8818 detect missing SATA slave devices. Add debug messages.
8819 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
8820 (grub_atapi_packet): Set DEV before check for !BSY. Replace
8821 transfer loop by grub_ata_pio_write ().
8822 (grub_ata_identify): Set DEV before check for !BSY. Use
8823 grub_ata_wait_drq () to wait for data.
ef257b36 8824 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 8825 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
8826 read/write in one loop. Fix invalid command on write. Fix incomplete
8827 command on (size % batch) == 0. Add missing error check after write of
8828 last block. Add debug messages.
8829 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
8830
59a64ef6 88312009-01-19 Christian Franke <franke@computer.org>
8832
8833 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
8834 (GRUB_ATAPI_IREASON_*): Likewise.
8835 (grub_ata_pio_write): Fix timeout error return.
8836 (grub_atapi_identify): Add grub_ata_wait () after cmd.
8837 (grub_atapi_wait_drq): New function.
8838 (grub_atapi_packet): New parameter `size'.
8839 Use grub_atapi_wait_drq () and direct write instead of
8840 grub_ata_pio_write ().
8841 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
8842 reads the number of bytes requested by the device for each DRQ
8843 assertion.
8844 (grub_atapi_write): Remove old implementation, return not
8845 implemented instead.
8846
1cfe20b3 88472009-01-19 Christian Franke <franke@computer.org>
8848
8849 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
8850 of 512 to calculate data size.
8851 (grub_scsi_read12): Likewise.
8852 (grub_scsi_write10): Likewise.
8853 (grub_scsi_write12): Likewise.
8854 (grub_scsi_read): Adjust size according to blocksize.
8855 Add checks for invalid blocksize and unaligned transfer.
8856
bee5fe5d 88572009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
8858
8859 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
8860
ef257b36 8861 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 8862 width glyphs.
8863
3e643f8c 88642009-01-19 Robert Millan <rmh@aybabtu.com>
8865
8866 * config.guess: Update to latest version from config git.
8867 * config.sub: Likewise.
8868
4fa80998 88692009-01-17 Felix Zielcke <fzielcke@z-51.de>
8870
8871 * Makefile.in: Change font compilation to use new grub-mkfont instead
8872 of java version.
8873
8874 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
8875 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
8876 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8877 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8878 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
8879 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
8880 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
8881 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
8882 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
8883
7086085b 88842009-01-16 Christian Franke <franke@computer.org>
8885
8886 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
8887 (enum grub_ata_timeout_milliseconds): New enum.
8888 (grub_ata_wait_status): Add parameter milliseconds.
8889 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
8890 recovery from timed-out commands.
8891 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
8892 return grub_errno instead of REG_ERROR.
8893 (grub_ata_pio_write): Add parameter milliseconds.
8894 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
8895 Pass milliseconds to grub_ata_wait_status () and
8896 grub_ata_pio_read ().
8897 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
8898 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
8899 grub_ata_wait_status (). Fix IDENTIFY timeout check.
8900 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
8901 It is not suitable for device detection, because DEV bit is ignored,
8902 the command may run too long, and not all devices set the signature
8903 properly.
8904 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
8905 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
8906 Fix device selection, DEV bit must be set first to address the registers
8907 of the correct device.
8908 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
8909 grub_ata_pio_read/write ().
8910 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
8911 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
8912
4a412913 89132009-01-13 Carles Pina i Estany <carles@pina.cat>
8914
8915 * util/grub-editenv.c (main): Use fseeko(), not fseek().
8916
7795c55e 89172009-01-13 Bean <bean123ch@gmail.com>
d913988c 8918
8919 * util/grub-mkfont.c (write_font): forget to remove some debug code.
8920
7795c55e 89212009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 8922
8923 * Makefile.in: (enable_grub_mkfont): New variable.
8924 (freetype_cflags): Likewise.
8925 (freetype_libs): Likewise.
8926
8927 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
8928 (grub_mkfont_SOURCES): New variable.
8929 (grub_mkfont_CFLAGS): Likewise.
8930 (grub_mkfont_LDFLAGS): Likewise.
8931
8932 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
8933 library if `--enable-grub-mkfont' is requested.
8934 (enable_grub_mkfont): New variable.
8935 (freetype_cflags): Likewise.
8936 (freetype_libs): Likewise.
8937
8938 * util/grub-mkfont.c: New file.
8939
093af1fe 89402009-01-12 Christian Franke <franke@computer.org>
8941
8942 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
8943 mode check. Fix setting of compat_use[].
8944
f36cc108 89452009-01-10 Robert Millan <rmh@aybabtu.com>
8946
8947 Update a few copyright years which we forgot to do in 2008 (only for
8948 files whose changes made in 2008 were copyright-significant)
8949
8950 * Makefile.in: Add 2008 to Copyright line.
8951 * disk/ieee1275/ofdisk.c: Likewise.
8952 * disk/efi/efidisk.c: Likewise.
8953 * kern/dl.c: Likewise.
8954 * kern/sparc64/ieee1275/init.c: Likewise.
8955 * kern/mm.c: Likewise.
8956 * kern/efi/mm.c: Likewise.
8957 * boot/i386/pc/boot.S: Likewise.
8958 * genfslist.sh: Likewise.
8959 * fs/iso9660.c: Likewise.
8960 * fs/hfs.c: Likewise.
8961 * fs/jfs.c: Likewise.
8962 * fs/minix.c: Likewise.
8963 * fs/ufs.c: Likewise.
8964 * gensymlist.sh.in: Likewise.
8965 * genkernsyms.sh.in: Likewise.
8966 * include/grub/misc.h: Likewise.
8967 * include/grub/types.h: Likewise.
8968 * include/grub/symbol.h: Likewise.
8969 * include/grub/elf.h: Likewise.
8970 * include/grub/kernel.h: Likewise.
8971 * include/grub/disk.h: Likewise.
8972 * include/grub/dl.h: Likewise.
8973 * include/grub/i386/linux.h: Likewise.
8974 * include/grub/i386/pc/biosdisk.h: Likewise.
8975 * include/grub/efi/api.h: Likewise.
8976 * include/grub/efi/pe32.h: Likewise.
8977 * include/grub/util/misc.h: Likewise.
8978 * normal/execute.c: Likewise.
8979 * normal/arg.c: Likewise.
8980 * normal/completion.c: Likewise.
8981 * normal/lexer.c: Likewise.
8982 * normal/parser.y: Likewise.
8983 * normal/misc.c: Likewise.
8984 * commands/i386/pc/vbeinfo.c: Likewise.
8985 * commands/hexdump.c: Likewise.
8986 * commands/terminal.c: Likewise.
8987 * commands/ls.c: Likewise.
8988 * commands/help.c: Likewise.
8989 * partmap/pc.c: Likewise.
8990 * loader/efi/chainloader.c: Likewise.
8991 * loader/multiboot_loader.c: Likewise.
8992 * loader/i386/pc/multiboot2.c: Likewise.
8993 * term/efi/console.c: Likewise.
8994 * term/i386/pc/serial.c: Likewise.
8995 * util/lvm.c: Likewise.
8996 * util/console.c: Likewise.
8997 * util/i386/efi/grub-mkimage.c: Likewise.
8998 * util/raid.c: Likewise.
8999
7f02114b 90002009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
9001
9002 * commands/videotest.c: Removed include to grub/machine/memory.h.
9003
9004 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
9005 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
9006 (video_mod_SOURCES): Removed.
9007 (video_mod_CFLAGS): Likewise.
9008 (video_mod_LDFLAGS): Likewise.
9009 (gfxterm_mod_SOURCES): Likewise.
9010 (gfxterm_mod_CFLAGS): Likewise.
9011 (gfxterm_mod_LDFLAGS): Likewise.
9012 (videotest_mod_SOURCES): Likewise.
9013 (videotest_mod_CFLAGS): Likewise.
9014 (videotest_mod_LDFLAGS): Likewise.
9015 (bitmap_mod_SOURCES): Likewise.
9016 (bitmap_mod_CFLAGS): Likewise.
9017 (bitmap_mod_LDFLAGS): Likewise.
9018 (tga_mod_SOURCES): Likewise.
9019 (tga_mod_CFLAGS): Likewise.
9020 (tga_mod_LDFLAGS): Likewise.
9021 (jpeg_mod_SOURCES): Likewise.
9022 (jpeg_mod_CFLAGS): Likewise.
9023 (jpeg_mod_LDFLAGS): Likewise.
9024 (png_mod_SOURCES): Likewise.
9025 (png_mod_CFLAGS): Likewise.
9026 (png_mod_LDFLAGS): Likewise.
9027
9028 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
9029 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
9030 (video_mod_SOURCES): Added.
9031 (video_mod_CFLAGS): Likewise.
9032 (video_mod_LDFLAGS): Likewise.
9033 (videotest_mod_SOURCES): Likewise.
9034 (videotest_mod_CFLAGS): Likewise.
9035 (videotest_mod_LDFLAGS): Likewise.
9036 (bitmap_mod_SOURCES): Likewise.
9037 (bitmap_mod_CFLAGS): Likewise.
9038 (bitmap_mod_LDFLAGS): Likewise.
9039 (tga_mod_SOURCES): Likewise.
9040 (tga_mod_CFLAGS): Likewise.
9041 (tga_mod_LDFLAGS): Likewise.
9042 (jpeg_mod_SOURCES): Likewise.
9043 (jpeg_mod_CFLAGS): Likewise.
9044 (jpeg_mod_LDFLAGS): Likewise.
9045 (png_mod_SOURCES): Likewise.
9046 (png_mod_CFLAGS): Likewise.
9047 (png_mod_LDFLAGS): Likewise.
9048 (gfxterm_mod_SOURCES): Likewise.
9049 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 9050 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 9051
9052 * term/gfxterm.c: Removed include to grub/machine/memory.h,
9053 grub/machine/console.h.
9054
644fff97 90552009-01-04 Jerone Young <jerone@gmail.com>
9056
9057 Make on screen instructions clearer
9058
9059 Based on patch created by Jidanni <jidanni@jidanni.org>
9060
9061 * normal/menu.c: print clearer instructions on the screen
9062
1e901a75 90632009-01-02 Colin D Bennett <colin@gibibit.com>
9064
9065 New font engine.
34c44600 9066
1e901a75 9067 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
9068 build system and fixed gfxterm.c to work with different sized fonts.
9069
9070 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 9071
1e901a75 9072 * configure: Re-generated.
34c44600 9073
1e901a75 9074 * DISTLIST: Removed font/manager.c.
9075 Added font/font.c.
9076 Added font/font_cmd.c.
34c44600 9077
1e901a75 9078 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
9079 compilation.
34c44600 9080
1e901a75 9081 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 9082
9083 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 9084
9085 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 9086
1e901a75 9087 * normal/menu.c: Likewise.
34c44600 9088
1e901a75 9089 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
9090 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 9091
1e901a75 9092 * include/grub/font.h: Replaced with new file.
34c44600 9093
1e901a75 9094 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
9095 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
9096 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
9097 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
9098 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 9099 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 9100 fg_red, fg_green, fg_blue, fg_alpha.
9101 (grub_video_adapter): Removed blit_glyph.
34c44600 9102 (grub_video_blit_glyph): Removed.
9103
1e901a75 9104 * font/manager.c: Removed file.
34c44600 9105
9106 * font/font.c: New file.
9107
1e901a75 9108 * font/font_cmd.c: Likewise.
34c44600 9109
1e901a75 9110 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 9111
1e901a75 9112 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
9113 (grub_video_vbe_map_rgba): Likewise.
9114 (grub_video_vbe_unmap_color_int): Likewise.
9115 (grub_video_vbe_blit_glyph): Removed.
9116 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 9117
1e901a75 9118 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
9119 (get_pixel): Likewise.
34c44600 9120 (set_pixel): Likewise.
9121
1e901a75 9122 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 9123
1e901a75 9124 * term/gfxterm.c: Adapted to new font engine.
34c44600 9125
1e901a75 9126 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 9127
1e901a75 9128 * term/i386/pc/vga.c: Likewise.
34c44600 9129
1e901a75 9130 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 9131
1e901a75 9132 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 9133
1e901a75 9134 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9135
1e901a75 9136 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 9137
1e901a75 9138 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 9139
1e901a75 9140 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 9141
1e901a75 9142 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 9143
1e901a75 9144 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 9145
1e901a75 9146 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9147
9148 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 9149
1e901a75 9150 * util/grub-mkconfig_lib.in: Changed font extension.
9151
278922e8 91522008-12-28 Felix Zielcke <fzielcke@z-51.de>
9153
9154 * util/getroot.c (grub_util_get_grub_dev): Add support for
9155 /dev/md/dNNpNN style partitionable mdraid devices.
9156
3ced05cf 91572008-12-12 Alex Smith <alex@alex-smith.me.uk>
9158
9159 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
9160 at a time limit of the PXE TFTP API correctly.
9161 (grub_pxefs_close): Likewise.
9162
7fd0ee30 91632008-11-29 Robert Millan <rmh@aybabtu.com>
9164
34c44600 9165 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 9166 grub_ata_device_initialize() calls.
9167
34c44600 91682008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 9169
9170 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
9171 iteration failed.
9172 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
9173
89313780 91742008-11-28 Robert Millan <rmh@aybabtu.com>
9175
9176 Fix build on powerpc-ieee1275. Based on patch created by
9177 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
9178 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9179 `kern/ieee1275/mmap.c'.
9180 * include/grub/powerpc/ieee1275/memory.h: New file.
9181
15257703 9182 Provide grub-install on coreboot.
9183 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
9184 (grub_install_SOURCES): New variable.
9185 * util/i386/pc/grub-install.in: Add a few condition checks to make it
9186 usable on coreboot.
9187
9fc5388a 91882008-11-25 Felix Zielcke <fzielcke@z-51.de>
9189
9190 * util/grub-fstest.c (grub_term_get_current_input): Change return type
9191 to `grub_term_input_t'.
9192 (grub_term_get_current_output): Change return type to
9193 `grub_term_output_t'.
9194
bc3a2f31 91952008-11-22 Robert Millan <rmh@aybabtu.com>
9196
34c44600 9197 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 9198 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
9199 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
9200 grub_vga_text_cls().
9201
80fc88f2 9202 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 9203 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 9204
cbf36fd3 9205 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
9206 to 0x200000 (avoids trouble with some OFW implementations, and matches
9207 with the one in Yaboot).
9208 Reported by Manoel Abranches
9209
73e8e268 92102008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 9211
9212 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
9213 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
9214
73e8e268 9215 * util/grub-mkconfig_lib.in (grub_warn): New function.
9216 (convert_system_path_to_grub_path): Use grub_warn() when issuing
9217 warnings, to obtain consistent formatting.
9218 * util/grub.d/00_header.in: Likewise.
9219 * util/update-grub_lib.in: Likewise.
9220
e94045a1 9221 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 9222 Move comment text to `#error' stanza.
e94045a1 9223
79d29fd7 9224 Harmonize ieee1275's grub_available_iterate() with the generic
9225 grub_machine_mmap_iterate() interface (fixes a recently-introduced
9226 build problem on i386-ieee1275):
9227 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
9228 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
9229 parameter `type'. Update all users of this function.
9230 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
9231 `kern/ieee1275/mmap.c'.
9232 * kern/ieee1275/init.c
9233 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
9234 with ...
9235 (grub_machine_mmap_iterate): ... this.
9236 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
9237 return type to `grub_err_t'. Update all implementations of this
9238 function prototype.
9239 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
9240 Likewise.
9241
60d6b16e 9242 Add `lsmmap' command (lists firmware-provided memory map):
9243 * commands/lsmmap.c: New file.
9244 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
9245 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
9246 variables.
9247 * conf/powerpc-ieee1275.rmk: Likewise.
9248 * conf/i386-coreboot.rmk: Likewise.
9249 * conf/i386-ieee1275.rmk: Likewise.
9250
ebaaf49b 92512008-11-19 Robert Millan <rmh@aybabtu.com>
9252
9253 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 9254 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
9255 constraints to initrd allocation (based on code from
9256 loader/i386/pc/linux.c). Without them, initrd was allocated too high
9257 for Linux to find it.
ebaaf49b 9258
dfab719f 92592008-11-14 Robert Millan <rmh@aybabtu.com>
9260
9261 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
9262 order to cope with duplicate slashes.
9263
10fc3eb9 92642008-11-14 Robert Millan <rmh@aybabtu.com>
9265
9266 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
9267 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
9268 don't want to mess with lower memory, because it is used in the Linux
9269 loader.
9270
9271 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 9272 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 9273 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
9274 is in our heap (probably as a result of it being corrupted during
2f2a3442 9275 decompression). Add #error instance with comment to explain why this
9276 loader isn't currently usable on PC/BIOS.
10fc3eb9 9277
e2e07847 92782008-11-14 Robert Millan <rmh@aybabtu.com>
9279
9280 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 9281 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 9282
fe8e8d69 92832008-11-12 Robert Millan <rmh@aybabtu.com>
9284
9285 Make loader/i386/linux.c buildable on i386-pc (although disabled).
9286
9287 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
9288 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
9289 from here ...
9290 * include/grub/i386/pc/memory.h: ... to here.
9291
976b07d0 92922008-11-12 Robert Millan <rmh@aybabtu.com>
9293
9294 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
9295 split).
9296
9297 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
9298 (grub_console_cur_color, grub_console_real_putchar)
9299 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9300 (grub_console_setcolorstate, grub_console_setcolor)
9301 (grub_console_getcolor): Move from here ...
9302 * include/grub/i386/vga_common.h: ... to here (new file).
9303
9304 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
9305 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
9306 `<grub/i386/io.h>'.
9307 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
9308 `<grub/i386/vga_common.h>'.
9309
76679cd3 93102008-11-12 Robert Millan <rmh@aybabtu.com>
9311
9312 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
9313 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
9314 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
9315 variables.
9316 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9317 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
9318
9319 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
9320 grub_console_init() with call to grub_vga_text_init().
9321 (grub_machine_fini): Replace call to
9322 grub_console_fini() with call to grub_vga_text_fini() and
9323 grub_at_keyboard_fini().
9324
9325 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
9326 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9327 (grub_console_setcolorstate, grub_console_setcolor)
9328 (grub_console_getcolor): New function prototypes.
9329
9330 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
9331 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
9332 (grub_vga_text_setcursor): Static-ize.
9333 (grub_vga_text_term): New structure.
9334 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
9335
9336 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
9337 (grub_console_cur_color, grub_console_standard_color)
9338 (grub_console_normal_color, grub_console_highlight_color)
9339 (map_char, grub_console_putchar, grub_console_getcharwidth)
9340 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
9341 (grub_console_getcolor): Move from here ...
9342 * term/i386/vga_common.c: ... to here (same function names).
9343
95b841d3 93442008-11-12 Robert Millan <rmh@aybabtu.com>
9345
9346 Use newly-added Multiboot support in coreboot.
9347
9348 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9349 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
9350
9351 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
9352 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
9353 (codestart): Store the MBI in `startup_multiboot_info' when we're
9354 being loaded using Multiboot.
9355
9356 * kern/i386/coreboot/init.c (grub_machine_init): Move
9357 grub_at_keyboard_init() call to beginning of function (useful for
9358 debugging). Call grub_machine_mmap_init() before attempting to use
9359 grub_machine_mmap_iterate().
9360 (grub_lower_mem, grub_upper_mem): Move from here ...
9361 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
9362 here (new file).
9363
9364 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
9365 function prototype.
9366
761ca975 93672008-11-12 Robert Millan <rmh@aybabtu.com>
9368
9369 Fix a regression introduced by the at_keyboard.mod split. Because
9370 some terminals are default on some platforms and non-default on
9371 others, the first terminal being registered determines which is
9372 going to be default.
9373
9374 * kern/term.c (grub_term_register_input): If this is the first
9375 terminal being registered, set it as the current one.
9376 (grub_term_register_output): Likewise.
9377
9378 * term/efi/console.c (grub_console_init): Do not call
9379 grub_term_set_current_output() or grub_term_set_current_input().
9380 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9381 * term/i386/pc/console.c (grub_console_init): Likewise.
9382 (grub_console_fini): Do not call grub_term_set_current_input()
9383 (but leave grub_term_set_current_output() to restore text mode).
9384
6c529df7 93852008-11-10 Robert Millan <rmh@aybabtu.com>
9386
9387 * util/grub.d/00_header.in: Add backward compatibility check for
9388 versions of terminal.mod that don't understand `terminal_input' or
9389 `terminal_output'.
9390
132e4113 93912008-11-09 Robert Millan <rmh@aybabtu.com>
9392
9393 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9394 `terminal_input' / `terminal_output', not `terminal'.
9395
ac293d50 93962008-11-08 Robert Millan <rmh@aybabtu.com>
9397
9398 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9399 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9400
0025933a 94012008-11-08 Robert Millan <rmh@aybabtu.com>
9402
9403 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9404 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9405 members. Update all users.
9406 * util/console.c (grub_ncurses_term): Split in ...
9407 (grub_ncurses_term_input): ... this, and ...
9408 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9409 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9410
37c86336 94112008-11-08 Robert Millan <rmh@aybabtu.com>
9412
9413 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9414 (PKGDATA): Add $(pkgdata_SRCDIR).
9415 (pkglib_BUILDDIR): New variable.
9416 (pkgdata_SRCDIR): New variable.
9417 (build_env.mk): New target.
9418 (include_DATA): New variable.
9419 (install-local): Install $(include_DATA) files in $(includedir).
9420
b6c15a2d 94212008-11-07 Pavel Roskin <proski@gnu.org>
9422
d99d46f1 9423 * gendistlist.sh: Use C locale for sorting to ensure consistent
9424 output on all systems.
9425
b6c15a2d 9426 * util/grub.d/00_header.in: Remove incorrect space before
9427 "serial".
9428
c32ee8c9 94292008-11-07 Robert Millan <rmh@aybabtu.com>
9430
9431 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
9432 per specification.
9433 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
9434 * loader/multiboot_loader.c (find_multi_boot2_header): New function
9435 (based on find_multi_boot1_header).
9436 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
9437 using find_multi_boot2_header(), and abort if neither Multiboot or
9438 Multiboot headers were found.
9439
651c29b7 94402008-11-07 Robert Millan <rmh@aybabtu.com>
9441
9442 Modularize at_keyboard.mod:
9443
9444 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
9445 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9446 (at_keyboard_mod_LDFLAGS): New variables.
9447
9448 Actual terminal split:
9449
9450 * include/grub/term.h (struct grub_term): Split in ...
9451 (struct grub_term_input): ... this, and ...
9452 (struct grub_term_output): ... this. Update all users.
9453 (grub_term_set_current): Split in ...
9454 (grub_term_set_current_input): ... this, and ...
9455 (grub_term_set_current_output): ... this.
9456 (grub_term_get_current): Split in ...
9457 (grub_term_get_current_input): ... this, and ...
9458 (grub_term_get_current_output): ... this.
9459 (grub_term_register): Split in ...
9460 (grub_term_register_input): ... this, and ...
9461 (grub_term_register_output): ... this.
9462 (grub_term_unregister): Split in ...
9463 (grub_term_unregister_input): ... this, and ...
9464 (grub_term_unregister_output): ... this.
9465 (grub_term_iterate): Split in ...
9466 (grub_term_iterate_input): ... this, and ...
9467 (grub_term_iterate_output): ... this.
9468
9469 * kern/term.c (grub_term_list): Split in ...
9470 (grub_term_list_input): ... this, and ...
9471 (grub_term_list_output): ... this. Update all users.
9472 (grub_cur_term): Split in ...
9473 (grub_cur_term_input): ... this, and ...
9474 (grub_cur_term_output): ... this. Update all users.
9475 (grub_term_set_current): Split in ...
9476 (grub_term_set_current_input): ... this, and ...
9477 (grub_term_set_current_output): ... this.
9478 (grub_term_get_current): Split in ...
9479 (grub_term_get_current_input): ... this, and ...
9480 (grub_term_get_current_output): ... this.
9481 (grub_term_register): Split in ...
9482 (grub_term_register_input): ... this, and ...
9483 (grub_term_register_output): ... this.
9484 (grub_term_unregister): Split in ...
9485 (grub_term_unregister_input): ... this, and ...
9486 (grub_term_unregister_output): ... this.
9487 (grub_term_iterate): Split in ...
9488 (grub_term_iterate_input): ... this, and ...
9489 (grub_term_iterate_output): ... this.
9490
9491 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
9492 a check for input and one for output (and only attempt to get keys
9493 from user when input works).
9494
9495 * util/grub-probe.c (grub_term_get_current): Split in ...
9496 (grub_term_get_current_input): ... this, and ...
9497 (grub_term_get_current_output): ... this.
9498 * util/grub-fstest.c: Likewise.
9499 * util/i386/pc/grub-setup.c: Likewise.
9500 * util/grub-editenv.c: Likewise.
9501
9502 Portability adjustments:
9503
9504 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
9505 `term/i386/pc/at_keyboard.c'.
9506 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
9507 grub_keyboard_controller_init() (now handled by terminal .init).
9508 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
9509 grub_at_keyboard_init().
9510 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
9511 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
9512 at_keyboard.mod via input terminal interface).
9513 * include/grub/i386/coreboot/console.h: Convert into a stub for
9514 `<grub/i386/pc/console.h>'.
9515
9516 Migrate full terminals to new API:
9517
9518 * term/efi/console.c (grub_console_term): Split into ...
9519 (grub_console_term_input): ... this, and ...
9520 (grub_console_term_output): ... this. Update all users.
9521 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
9522 (grub_ofconsole_init): Split into ...
9523 (grub_ofconsole_init_input): ... this, and ...
9524 (grub_ofconsole_init_output): ... this.
9525 (grub_ofconsole_term): Split into ...
9526 (grub_ofconsole_term_input): ... this, and ...
9527 (grub_ofconsole_term_output): ... this. Update all users.
9528 * term/i386/pc/serial.c (grub_serial_term): Split into ...
9529 (grub_serial_term_input): ... this, and ...
9530 (grub_serial_term_output): ... this. Update all users.
9531 * term/i386/pc/console.c (grub_console_term): Split into ...
9532 (grub_console_term_input): ... this, and ...
9533 (grub_console_term_output): ... this. Update all users.
9534 (grub_console_term_input): Only enable it on PC/BIOS platform.
9535 (grub_console_init): Remove grub_keyboard_controller_init() call.
9536
9537 Migrate input terminals to new API:
9538
9539 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
9540 `i386' and `i386/pc' to enable build on x86_64 (this driver is
9541 i386-specific anyway).
9542 (grub_console_checkkey): Rename to ...
9543 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
9544 users.
9545 (grub_keyboard_controller_orig): New variable.
9546 (grub_console_getkey): Rename to ...
9547 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
9548 users.
9549 (grub_keyboard_controller_init): Static-ize. Save original
9550 controller value so that it can be restored ...
9551 (grub_keyboard_controller_fini): ... here (new function).
9552 (grub_at_keyboard_term): New structure.
9553 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
9554 functions.
9555
9556 Migrate output terminals to new API:
9557
9558 * term/i386/pc/vga.c (grub_vga_term): Change type to
9559 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9560 members. Update all users.
9561 * term/gfxterm.c (grub_video_term): Change type to
9562 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9563 members. Update all users.
9564 * include/grub/i386/pc/console.h (grub_console_checkkey)
9565 (grub_console_getkey): Do not export (no longer needed by gfxterm,
9566 etc).
9567
9568 Migrate `terminal' command and userland tools to new API:
9569
9570 * commands/terminal.c (grub_cmd_terminal): Split into ...
9571 (grub_cmd_terminal_input): ... this, and ...
9572 (grub_cmd_terminal_output): ... this.
9573 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
9574 `terminal_input' and `terminal_output'.
9575 * util/grub.d/00_header.in: Adjust `terminal' calls to new
9576 `terminal_input' / `terminal_output' API.
9577 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
9578 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
9579 provided ${GRUB_TERMINAL}, convert it).
9580
96e5d876 95812008-11-04 Robert Millan <rmh@aybabtu.com>
9582
9583 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
9584 for FreeBSD.
9585 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
9586
556f3775 95872008-11-03 Bean <bean123ch@gmail.com>
9588
9589 * kern/elf.c (grub_elf32_load): Revert to previous code.
9590 (grub_elf64_load): Likewise.
9591
9592 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
9593
926b9823 95942008-11-01 Robert Millan <rmh@aybabtu.com>
9595
9596 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
9597 (TARGET_CPPFLAGS): Likewise.
9598 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
9599
1432e958 96002008-11-01 Carles Pina i Estany <carles@pina.cat>
9601
9602 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
9603
dba3f844 96042008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 9605
9606 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
9607 addition of objects until the code is not going to be able to fail.
9608
dba3f844 96092008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 9610
9611 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
9612 (add a missing NULL check, and correct them by moving the pointer
9613 operations after the actual check).
9614
7ab28c21 96152008-10-29 Robert Millan <rmh@aybabtu.com>
9616
9617 * util/i386/pc/grub-install.in: Handle empty string as output from
9618 make_system_path_relative_to_its_root().
9619
1b7748eb 96202008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
9621
9622 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
9623 circular metadata worst case scenario. If the metadata is circular
9624 then copy the wrap in place.
9625 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
9626 project lib/format_text/layout.h
9627 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
9628
c9618ab2 96292008-10-03 Felix Zielcke <fzielcke@z-51.de>
9630
7a36edca 9631 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 9632
bf981c62 96332008-10-03 Felix Zielcke <fzielcke@z-51.de>
9634
9635 * util/update-grub_lib.in: Mention filename in warning message.
9636
6d994591 96372008-09-29 Felix Zielcke <fzielcke@z-51.de>
9638
9639 * NEWS: Update for rename of update-grub to grub-mkconfig.
9640
18ade780 96412008-09-29 Felix Zielcke <fzielcke@z-51.de>
9642
9643 * util/update-grub_lib.in: Copy to ...
9644 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 9645 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 9646 * util/update-grub.in: Rename to ...
9647 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
9648 option. Add `--output' option to allow users to specify the generated
9649 configuration file. Default to stdout.
9650 (update_grub_dir): Rename to ...
9651 (grub_mkconfig_dir): ... this.
9652 (grub_cfg): Default to an empty string.
9653 * conf/common.rmk (update-grub): Rename to ...
9654 (grub-mkconfig): ... this.
9655 (update-grub_lib): Copy to ...
9656 (grub-mkconfig_lib): ... this.
9657 (update-grub_SCRIPTS): Copy to ...
9658 (grub-mkconfig_SCRIPTS): ... this. Update all users.
9659 (update-grub_DATA): Rename to ...
9660 (grub-mkconfig_DATA): ... this.
9661
556ce6ac 96622008-09-28 Robert Millan <rmh@aybabtu.com>
9663
9664 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
9665 to `modified'. Add the real `created' field.
9666 (grub_iso9660_uuid): Use `modified' rather than `created' for
9667 constructing the UUID.
9668
96692008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 9670
9671 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
9672 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
9673
92274e85 96742008-09-28 Bean <bean123ch@gmail.com>
9675
9676 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
9677 Thanks to Christian Franke for finding this bug.
9678
add6f17a 96792008-09-25 Robert Millan <rmh@aybabtu.com>
9680
9681 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
9682 instances of grub_util_get_disk_name() (see previous commit).
9683
d2a367b8 96842008-09-25 Robert Millan <rmh@aybabtu.com>
9685
9686 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
9687 `util/i386/get_disk_name.c'.
9688 * conf/i386-efi.rmk: Likewise.
9689 * conf/x86_64-efi.rmk: Likewise.
9690 * conf/i386-coreboot.rmk: Likewise.
9691 * conf/i386-ieee1275.rmk: Likewise.
9692 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
9693 `util/ieee1275/get_disk_name.c'.
9694 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
9695 * util/ieee1275/get_disk_name.c: Remove file.
9696 * util/i386/get_disk_name.c: Remove file.
9697 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
9698 "hd%d" for device.map entries, rather than using
9699 grub_util_get_disk_name().
9700
81a06771 97012008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 9702
9703 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
9704 warning.
9705 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
9706
5a004279 97072008-09-24 Carles Pina i Estany <carles@pina.cat>
9708
9709 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
9710 Changed to 0x5100.
9711 (GRUB_TERM_PPAGE): Changed to 0x4900.
9712
397093d3 97132008-09-24 Robert Millan <rmh@aybabtu.com>
9714
9715 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
9716 macros (they were i386-pc specific).
9717 * include/grub/sparc64/ieee1275/console.h: Likewise.
9718 * include/grub/efi/console.h: Likewise.
9719
a91b6c7c 97202008-09-22 Bean <bean123ch@gmail.com>
9721
9722 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
9723 resident and in attribute list.
9724
9725 * include/grub/ntfs.h (BMP_LEN): Removed.
9726
c40fd116 97272008-09-22 Bean <bean123ch@gmail.com>
9728
81a06771 9729 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 9730 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
9731
9732 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
9733 error occurs, as grub_disk_open will call grub_disk_close, which will
9734 call p->close (scsi).
9735
81a06771 97362008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 9737
9738 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
9739 (AC_PREREQ): Bumped to 2.59.
9740 (AC_TRY_COMPILE): Replace obsolete macro with ...
9741 (AC_COMPILE_IFELSE): ... this.
9742 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
9743 (AC_LINK_IFELSE): ... this.
9744
5dc43410 97452008-09-21 Felix Zielcke <fzielcke@z-51.de>
9746
9747 * autogen.sh: Add a call to `gendistlist.sh'.
9748
9035dce4 97492008-09-19 Christian Franke <franke@computer.org>
9750
9751 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
9752 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
9753 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
9754 Export __enable_execute_stack() to modules.
9755 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
9756 New function.
9757
7fd75377 97582008-09-09 Felix Zielcke <fzielcke@z-51.de>
9759
040030b3 9760 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
9761 Sort the list.
9762
97632008-09-09 Felix Zielcke <fzielcke@z-51.de>
9764
9765 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 9766 #include <grub/util/hostdisk.h>.
9767
89d5ffcf 97682008-09-08 Robert Millan <rmh@aybabtu.com>
9769
9770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
9771 segments when their filesz is zero (grub_file_read() interprets
81a06771 9772 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 9773 Use `lowest_segment' rather than 0 for calculating the current
9774 segment load address.
9775
40da438f 97762008-09-08 Robert Millan <rmh@aybabtu.com>
9777
9778 * util/hostdisk.c (open_device): Replace a grub_util_info() call
9779 with grub_dprintf("hostdisk", ...), as it was so verbose that it
9780 clobbered useful information.
9781
ddbf5556 97822008-09-08 Robert Millan <rmh@aybabtu.com>
9783
9784 * include/grub/util/biosdisk.h: Move to ...
9785 * include/grub/util/hostdisk.h: ... here. Update all users.
9786 * util/biosdisk.c: Move to ...
9787 * util/hostdisk.c: ... here. Update all users.
9788
783d0f48 97892008-09-07 Robert Millan <rmh@aybabtu.com>
9790
9791 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
9792 variables.
9793 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
9794 and length can be stored directly in the `mbi->mmap_addr' and
9795 `mbi->mmap_length' struct fields.
9796
548e2ea5 97972008-09-07 Robert Millan <rmh@aybabtu.com>
9798
9799 * conf/i386.rmk: New file. Provides declaration for building
9800 `cpuid.mod'.
9801 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
9802 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
9803 variables.
9804 Include `conf/i386.mk'.
9805 * conf/i386-efi.rmk: Likewise.
9806 * conf/x86_64-efi.rmk: Likewise.
9807 * conf/i386-coreboot.rmk: Likewise.
9808 * conf/i386-ieee1275.rmk: Likewise.
9809
0ea85a37 98102008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
9811
9812 Based on patch created by Colin D Bennett <colin@gibibit.com>.
9813 Adds optimization support for BGR based modes.
9814
9815 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
9816 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9817 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9818 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9819 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9820 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9821 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9822 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9823 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9824 (grub_video_i386_vbeblit_index_index): Likewise.
9825 (grub_video_i386_vbeblit_replace_directN): Added.
9826 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9827 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9828 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9829 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9830 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9831 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 9832 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 9833 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9834 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9835 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9836 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9837 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9838 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
9839
9840 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
9841 (grub_video_i386_vbefill_R8G8B8): Likewise.
9842 (grub_video_i386_vbefill_index): Likewise.
9843 (grub_video_i386_vbefill_direct32): Added.
9844 (grub_video_i386_vbefill_direct24): Likewise.
9845 (grub_video_i386_vbefill_direct16): Likewise.
9846 (grub_video_i386_vbefill_direct8): Likewise.
9847
81a06771 9848 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 9849 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
9850 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
9851 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
9852 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
9853 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 9854
0ea85a37 9855 * video/video.c (grub_video_get_blit_format): Updated to use new
9856 blit formats. Added handling for 16 bit color modes.
81a06771 9857
9858 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 9859 fillers.
9860 (common_blitter): Updated to use new blitters.
9861
9862 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
9863 Removed.
9864 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9865 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9866 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9867 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9868 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9869 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9870 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9871 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9872 (grub_video_i386_vbeblit_index_index): Likewise.
9873 (grub_video_i386_vbeblit_replace_directN): Added.
9874 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9875 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9876 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9877 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9878 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9879 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
9880 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
9881 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9882 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9883 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9884 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9885 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9886 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 9887
0ea85a37 9888 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
9889 (grub_video_i386_vbefill_R8G8B8): Likewise.
9890 (grub_video_i386_vbefill_index): Likewise.
9891 (grub_video_i386_vbefill_direct32): Added.
9892 (grub_video_i386_vbefill_direct24): Likewise.
9893 (grub_video_i386_vbefill_direct16): Likewise.
9894 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 9895
0ea85a37 9896 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
9897 types.
81a06771 9898
0ea85a37 9899 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
9900 types.
81a06771 9901
0ea85a37 9902 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
9903 blitter types.
81a06771 9904
0ea85a37 9905 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
9906 types.
9907
e8a83df6 99082008-09-06 Felix Zielcke <fzielcke@z-51.de>
9909
9910 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
9911 RAID level 1.
9912
6bcd8ee5 99132008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 9914
6bcd8ee5 9915 * fs/iso9660.c (grub_iso9660_date): New structure.
9916 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
9917 (grub_iso9660_uuid): New function.
c375ae58 9918
59261157 99192008-09-05 Bean <bean123ch@gmail.com>
9920
9921 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
9922
9923 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
9924 insensitive bit for names in Win32 and Win32 & DOS namespace.
9925
9926 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
9927
9928 * include/grub/types.h (LONG_MAX): Likewise.
9929
58b6645a 99302008-09-04 Felix Zielcke <fzielcke@z-51.de>
9931
4ee55921 9932 * util/getroot.c: Include <config.h>.
9933 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
9934 add support for /dev/md/N devices and handle LVM double dash escaping.
9935
99362008-09-04 Felix Zielcke <fzielcke@z-51.de>
9937
9938 * config.guess: Update to latest version from config git.
9939 * config.sub: Likewise.
58b6645a 9940
9124f65d 99412008-09-03 Robert Millan <rmh@aybabtu.com>
9942
9943 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
9944 `disk->total_sectors'.
9945
81a06771 99462008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 9947
9948 * include/grub/normal.h: Fixed incorrect comment for
9949 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
9950
81a06771 99512008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 9952
9953 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
9954 values with defines.
9955
9956 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
9957 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
9958 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
9959 (GRUB_VBE_MODEATTR_COLOR): Likewise.
9960 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
9961 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
9962 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
9963 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
9964 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
9965 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
9966 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
9967 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
9968 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
9969 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
9970 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
9971 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
9972 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
9973 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
9974 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
9975
93d5cbf8 99762008-08-31 Robert Millan <rmh@aybabtu.com>
9977
9978 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
9979 declaration.
9980 (grub_multiboot): Fix a few warnings.
9981
21751d50 99822008-08-31 Robert Millan <rmh@aybabtu.com>
9983
9984 * loader/i386/pc/multiboot.c: Update comment not to say that
9985 boot_device support is unimplemented.
9986
e27a75c5 99872008-08-31 Robert Millan <rmh@aybabtu.com>
9988
9989 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
9990 or memory map support are unimplemented.
9991
81a06771 99922008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 9993
9994 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
9995
81a06771 99962008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 9997
9998 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
9999 total video memory in 'vbeinfo' output; show color format details for
10000 each video mode.
10001
7c5d8d95 100022008-08-30 Pavel Roskin <proski@gnu.org>
10003
10004 * util/genmoddep.c: Remove for real this time.
10005 * DISTLIST: Remove util/genmoddep.c.
10006
4cebd25a 100072008-08-30 Robert Millan <rmh@aybabtu.com>
10008
10009 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
10010 as required by Multiboot spec (it was already 4-byte aligned, but
10011 only by chance).
10012
b497a269 100132008-08-29 Pavel Roskin <proski@gnu.org>
10014
e3925185 10015 * kern/powerpc/ieee1275/crt0.S: Rename to ...
10016 * kern/powerpc/ieee1275/startup.S: ... this.
10017 * conf/powerpc-ieee1275.rmk: Adjust for the above.
10018 * DISTLIST: Likewise.
10019
b497a269 10020 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
10021 grub/cpu/kernel.h. Add start label for consistency with other
10022 platforms. Add grub_prefix immediately after start. Add jump
10023 to the code after grub_prefix.
10024 * include/grub/powerpc/kernel.h: Provide valid values for
10025 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
10026
6e5a42fe 100272008-08-29 Bean <bean123ch@gmail.com>
10028
10029 * configure.ac: Change host_os to cygwin for mingw.
10030 (asprintf): New check for function.
10031
10032 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
10033 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
10034
10035 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 10036 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 10037 sync, sleep and grub_util_get_disk_size for mingw.
10038
10039 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
10040 to get size in mingw.
10041 (open_device): Use flag O_BINARY if it's defined.
10042 (find_root_device): Add dummy code for mingw.
10043
10044 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
10045 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
10046 (get_scsi_disk_name): Return 0 for mingw.
10047
10048 * util/hostfs.c: #include <grub/util/misc.h>.
10049 (grub_hostfs_open): Use "rb" flag to open file, use
10050 grub_util_get_disk_size to get disk size for mingw.
10051
10052 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
10053 (asprintf): New function if HAVE_ASPRINTF is not set.
10054 (sync): New function for mingw.
10055 (sleep): Likewise.
10056 (grub_util_get_disk_size): Likewise.
10057
ab3f2673 100582008-08-28 Pavel Roskin <proski@gnu.org>
10059
10060 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10061 kern/time.c.
10062
1c282483 100632008-08-28 Robert Millan <rmh@aybabtu.com>
10064
10065 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
10066
678e849c 100672008-08-28 Robert Millan <rmh@aybabtu.com>
10068
10069 Change find_grub_drive() syntax so it doesn't prevent it from
10070 detecting NULL names as errors.
10071
10072 * util/biosdisk.c (find_grub_drive): Move free slot search code
10073 from here ...
10074 (find_free_slot): ... to here.
10075 (read_device_map): Use find_free_slot() to search for free slots.
10076
965c75ca 100772008-08-27 Marco Gerards <marco@gnu.org>
10078
10079 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
10080 (scsi_mod_SOURCES): New variable.
10081 (scsi_mod_CFLAGS): Likewise
10082 (scsi_mod_LDFLAGS): Likewise.
10083
10084 * disk/scsi.c: New file.
10085
10086 * include/grub/scsi.h: Likewise.
10087
10088 * include/grub/scsicmd.h: Likewise.
10089
10090 * disk/ata.c: Include <grub/scsi.h>.
10091 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
10092 instead.
10093 (grub_ata_iterate): Skip ATAPI devices.
10094 (grub_ata_open): Only handle ATAPI devices.
10095 (struct grub_atapi_read): Removed.
10096 (grub_atapi_readsector): Likewise.
10097 (grub_ata_read): No longer handle ATAPI devices.
10098 (grub_ata_write): Likewise.
10099 (grub_atapi_iterate): New function.
10100 (grub_atapi_read): Likewise.
10101 (grub_atapi_write): Likewise.
10102 (grub_atapi_open): Likewise.
10103 (grub_atapi_close): Likewise.
10104 (grub_atapi_dev): New variable.
10105 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
10106 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
10107
10108 * include/grub/disk.h (enum grub_disk_dev_id): Add
10109 `GRUB_DISK_DEVICE_SCSI_ID'.
10110
c07ae501 101112008-08-26 Robert Millan <rmh@aybabtu.com>
10112
10113 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
10114 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
10115 descriptive.
10116
5ed20adc 101172008-08-23 Bean <bean123ch@gmail.com>
10118
10119 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
10120 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10121 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
10122 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
10123 dm_nv.mod.
10124 (raid5rec_mod_SOURCES): New macro.
10125 (raid5rec_mod_CFLAGS): Likewise.
10126 (raid5rec_mod_LDFLAGS): Likewise.
10127 (raid6rec_mod_SOURCES): Likewise.
10128 (raid6rec_mod_CFLAGS): Likewise.
10129 (raid6rec_mod_LDFLAGS): Likewise.
10130 (mdraid_mod_SOURCES): Likewise.
10131 (mdraid_mod_CFLAGS): Likewise.
10132 (mdraid_mod_LDFLAGS): Likewise.
10133 (dm_nv_mod_SOURCES): Likewise.
10134 (dm_nv_mod_CFLAGS): Likewise.
10135 (dm_nv_mod_LDFLAGS): Likewise.
10136
10137 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
10138 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
10139 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10140
10141 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
10142 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
10143
10144 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10145
10146 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10147
10148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10149
10150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10151
10152 * disk/raid5_recover.c: New file.
10153
10154 * disk/raid6_recover.c: Likewise.
10155
10156 * disk/mdraid_linux.c: Likewise.
10157
10158 * disk/dmraid_nvidia.c: Likewise.
10159
10160 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
10161 ULONG_MAX.
10162
10163 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
10164 calculate the size of raid device.
10165 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
10166 different layout of raid5.
10167 (grub_raid_scan_device): Remove code specific to mdraid.
10168 (grub_raid_list): New variable.
10169 (free_array): New function.
10170 (grub_raid_register): Likewise.
10171 (grub_raid_unregister): Likewise.
10172 (grub_raid_rescan): Likewise.
10173 (GRUB_MOD_INIT): Don't iterate device here.
10174 (GRUB_MOD_FINI): Use free_array to release resource.
10175
10176 * include/grub/raid.h: Remove macro and structure specific to mdraid.
10177 (grub_raid5_recover_func_t): New function variable type.
10178 (grub_raid6_recover_func_t): Likewise.
10179 (grub_raid5_recover_func): New variable.
10180 (grub_raid6_recover_func): Likewise.
10181 (grub_raid_register): New function.
10182 (grub_raid_unregister): Likewise.
10183 (grub_raid_rescan): Likewise.
10184 (grub_raid_block_xor): Likewise.
10185
10186 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
10187 (CMD_CRC): New macro.
10188 (part): Removed.
10189 (read_file): Handle device as well as file.
10190 (cmd_crc): New function.
10191 (fstest): Handle multiple disks.
10192 (options): Remove part, raw and long, add root and diskcount.
10193 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 10194 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 10195 add handling for the new options, support multiple disks.
10196
10197 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
10198
29c18915 101992008-08-23 Bean <bean123ch@gmail.com>
10200
10201 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
10202
10203 * genfslist.sh: Ignore kernel.mod.
10204
10205 * genpartmaplist.sh: Likewise.
10206
8415f261 102072008-08-23 Robert Millan <rmh@aybabtu.com>
10208
10209 * util/getroot.c (find_root_device): Skip anything that starts with
10210 a dot, not just directories. This avoids things like /dev/.tmp.md0.
10211
d5a7dc5b 102122008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 10213
d5a7dc5b 10214 * util/update-grub.in (GRUB_GFXMODE): Export variable.
10215 * util/grub.d/00_header.in: Allow the administrator to change default
10216 gfxmode via ${GRUB_GFXMODE}.
10217
380cfbb4 102182008-08-21 Felix Zielcke <fzielcke@z-51.de>
10219
10220 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
10221
c9baafe7 102222008-08-21 Robert Millan <rmh@aybabtu.com>
10223
10224 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
10225 loader.
10226 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
10227 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
10228
e290bef2 102292008-08-20 Carles Pina i Estany <carles@pina.cat>
10230
10231 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
10232 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
10233
f9dbfc96 102342008-08-19 Robert Millan <rmh@aybabtu.com>
10235
10236 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
10237 (struct grub_virtual_screen): Remove `cursor_color'.
10238 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
10239 initialization.
10240 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
10241
dd6bd6ab 102422008-08-18 Robert Millan <rmh@aybabtu.com>
10243
10244 Unify (identical) linux_normal.c files.
10245 * loader/i386/efi/linux_normal.c: Move from here ...
10246 * loader/linux_normal.c: ... to here. Update all users.
10247 * loader/i386/pc/linux_normal.c: Delete. Update all users.
10248 * loader/i386/ieee1275/linux_normal.c: Likewise.
10249
7f42f83e 102502008-08-18 Robert Millan <rmh@aybabtu.com>
10251
10252 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
10253 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
10254 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
10255 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
10256 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
10257 New macros.
10258 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
10259 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
10260 (GRUB_LINUX_CL_END_OFFSET): ... to here.
10261 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
10262 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
10263 (GRUB_EFI_CL_END_OFFSET): Rename to ...
10264 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
10265 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
10266 Initialize `params->video_cursor_x' and `params->video_cursor_y'
10267 portably using grub_getxy().
10268 Replace `-EFI' with `-bzImage' in boot message.
10269
38487ddb 102702008-08-17 Robert Millan <rmh@aybabtu.com>
10271
10272 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
10273
deceb3ec 102742008-08-17 Robert Millan <rmh@aybabtu.com>
10275
10276 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
10277
10278 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
10279 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
10280 (grub_machine_mmap_iterate): New function declaration.
10281 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
10282 structure.
10283 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
10284 macros.
10285
10286 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
10287 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
10288 Move e820 parsing from here ...
10289 * kern/i386/pc/mmap.c: New file.
10290 (grub_machine_mmap_iterate): ... to here.
10291
10292 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
10293 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
10294 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
10295 (grub_available_iterate): Redeclare to return `void', and redeclare
10296 its hook to use grub_uint64_t as addr and size parameters, and rename
10297 to ...
10298 (grub_machine_mmap_iterate): ... this. Update all users.
10299
10300 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
10301 to make it more readable. Rename to ...
10302 (grub_machine_mmap_iterate): ... this.
10303
10304 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
10305 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
10306 (grub_multiboot): Allocate an extra region after the payload, and fill
10307 it with a Multiboot memory map. Adjust a.out loader to calculate size
10308 with the extra space.
10309 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
10310 with the extra space.
10311
f8aa0f43 103122008-08-17 Carles Pina i Estany <carles@pina.cat>
10313
9807deb9 10314 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 10315
605f5bb6 103162008-08-17 Felix Zielcke <fzielcke@z-51.de>
10317
10318 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
10319 mdate-sh to the list `find' searches for.
10320 * DISTLIST: Regenerated.
10321
210db6c6 103222008-08-16 Felix Zielcke <fzielcke@z-51.de>
10323
10324 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
10325 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 10326 genmoddep.awk, gensymlist.sh.in.
10327 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 10328 * DISTLIST: Regenerated.
48cdbfd4 10329 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 10330
1082b929 103312008-08-16 Robert Millan <rmh@aybabtu.com>
10332
10333 * disk/raid.c (grub_raid_init): Handle/report errors set by
10334 grub_device_iterate().
10335 * disk/lvm.c (grub_lvm_init): Likewise.
10336
42ce5170 103372008-08-15 Bean <bean123ch@gmail.com>
10338
10339 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10340 and datehook.mod.
10341 (datetime_mod_SOURCES): New macro.
10342 (datetime_mod_CFLAGS): Likewise.
10343 (datetime_mod_LDFLAGS): Likewise.
10344 (date_mod_SOURCES): Likewise.
10345 (date_mod_CFLAGS): Likewise.
10346 (date_mod_LDFLAGS): Likewise.
10347 (datehook_mod_SOURCES): Likewise.
10348 (datehook_mod_CFLAGS): Likewise.
10349 (datehook_mod_LDFLAGS): Likewise.
10350
10351 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10352 and datehook.mod.
10353 (datetime_mod_SOURCES): New macro.
10354 (datetime_mod_CFLAGS): Likewise.
10355 (datetime_mod_LDFLAGS): Likewise.
10356 (date_mod_SOURCES): Likewise.
10357 (date_mod_CFLAGS): Likewise.
10358 (date_mod_LDFLAGS): Likewise.
10359 (datehook_mod_SOURCES): Likewise.
10360 (datehook_mod_CFLAGS): Likewise.
10361 (datehook_mod_LDFLAGS): Likewise.
10362
10363 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10364 and datehook.mod.
10365 (datetime_mod_SOURCES): New macro.
10366 (datetime_mod_CFLAGS): Likewise.
10367 (datetime_mod_LDFLAGS): Likewise.
10368 (date_mod_SOURCES): Likewise.
10369 (date_mod_CFLAGS): Likewise.
10370 (date_mod_LDFLAGS): Likewise.
10371 (datehook_mod_SOURCES): Likewise.
10372 (datehook_mod_CFLAGS): Likewise.
10373 (datehook_mod_LDFLAGS): Likewise.
10374
10375 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10376 and datehook.mod.
10377 (datetime_mod_SOURCES): New macro.
10378 (datetime_mod_CFLAGS): Likewise.
10379 (datetime_mod_LDFLAGS): Likewise.
10380 (date_mod_SOURCES): Likewise.
10381 (date_mod_CFLAGS): Likewise.
10382 (date_mod_LDFLAGS): Likewise.
10383 (datehook_mod_SOURCES): Likewise.
10384 (datehook_mod_CFLAGS): Likewise.
10385 (datehook_mod_LDFLAGS): Likewise.
10386
10387 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10388 and datehook.mod.
10389 (datetime_mod_SOURCES): New macro.
10390 (datetime_mod_CFLAGS): Likewise.
10391 (datetime_mod_LDFLAGS): Likewise.
10392 (date_mod_SOURCES): Likewise.
10393 (date_mod_CFLAGS): Likewise.
10394 (date_mod_LDFLAGS): Likewise.
10395 (datehook_mod_SOURCES): Likewise.
10396 (datehook_mod_CFLAGS): Likewise.
10397 (datehook_mod_LDFLAGS): Likewise.
10398
10399 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10400
10401 * commands/date.c: New file.
10402
10403 * hook/datehook.c: Likewise.
10404
10405 * include/grub/lib/datetime.h: Likewise.
10406
10407 * include/grub/i386/cmos.h: Likewise.
10408
10409 * lib/datetime.c: Likewise.
10410
10411 * lib/i386/datetime.c: Likewise.
10412
10413 * lib/efi/datetime.c: Likewise.
10414
0e9242da 104152008-08-14 Robert Millan <rmh@aybabtu.com>
10416
10417 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10418 (grub_mkelfimage_SOURCES): New variable.
10419 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10420
10421 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10422 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10423 * conf/powerpc-ieee1275.rmk: Likewise.
10424 * conf/i386-ieee1275.rmk: Likewise.
10425
10426 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
10427 * kern/i386/coreboot/init.c: Likewise.
10428
10429 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
10430 with `<grub/cpu/kernel.h>'.
10431 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
10432 to ...
10433 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
10434 * kern/i386/coreboot/startup.S: Likewise.
10435
10436 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
10437 (GRUB_MOD_GAP): Remove.
10438 * include/grub/powerpc/kernel.h: New file.
10439 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
10440 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10441 * include/grub/i386/kernel.h: New file.
10442 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
10443 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
10444 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10445
10446 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
10447 `grub-mkelfimage'.
10448 Use --directory when invoking grub_mkimage.
10449
10450 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
10451 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
10452 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
10453 and GRUB_KERNEL_CPU_PREFIX.
10454
b86408f8 104552008-08-14 Felix Zielcke <fzielcke@z-51.de>
10456
d5e619ca 10457 * include/grub/err.h (grub_err_printf): New function prototype.
10458 * util/misc.c (grub_err_printf): New function.
10459 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
10460 grub_printf.
10461 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 10462
7161f0e0 104632008-08-13 Robert Millan <rmh@aybabtu.com>
10464
10465 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
10466
a1967522 104672008-08-13 Robert Millan <rmh@aybabtu.com>
10468
10469 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
10470 boot entry.
10471
371458b5 104722008-08-12 Robert Millan <rmh@aybabtu.com>
10473
10474 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
10475 of the relocation code from here ...
10476 (grub_multiboot): ... to here.
10477 (forward_relocator, backward_relocator): Move from here ...
10478 * kern/i386/loader.S (grub_multiboot_forward_relocator)
10479 (grub_multiboot_backward_relocator): ... to here.
10480 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
10481 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
10482 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
10483 (grub_multiboot_forward_relocator_end)
10484 (grub_multiboot_backward_relocator)
10485 (grub_multiboot_backward_relocator_end): New variables.
10486
05f9452b 104872008-08-12 Bean <bean123ch@gmail.com>
10488
10489 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
10490
20024ab0 104912008-08-11 Robert Millan <rmh@aybabtu.com>
10492
10493 * kern/i386/linuxbios/startup.S: Move from here ...
10494 * kern/i386/coreboot/startup.S: ... to here.
10495
10496 * kern/i386/linuxbios/init.c: Move from here ...
10497 * kern/i386/coreboot/init.c: ... to here.
10498
10499 * kern/i386/linuxbios/table.c: Move from here ...
10500 * kern/i386/coreboot/mmap.c: ... to here.
10501
10502 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
10503
e352e9cd 105042008-08-11 Robert Millan <rmh@aybabtu.com>
10505
10506 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
10507 errors. Leave it to the upper layer to handle them.
10508
2d05bc6a 105092008-08-09 Christian Franke <franke@computer.org>
10510
10511 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
10512 * conf/common.rmk: Install `grub-pe2elf' only if requested.
10513 Install `grub.d/10_windows' only on Cygwin.
10514 * configure.ac: Add subst of `target_os'.
10515 Check `target_os' also before setting TARGET_OBJ2ELF.
10516 Add `--enable-grub-pe2elf'.
10517
042bd419 105182008-08-08 Robert Millan <rmh@aybabtu.com>
10519
10520 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10521 (grub_last_time): Change type to grub_uint64_t.
10522 (grub_disk_open): Migrate code from to using grub_get_time_ms().
10523 (grub_disk_close): Likewise.
10524
10525 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10526 (run_menu): Migrate code from to using grub_get_time_ms().
10527
10528 * util/misc.c (grub_get_time_ms): New function.
10529
7f280db5 105302008-08-08 Marco Gerards <marco@gnu.org>
10531
10532 * disk/ata.c (grub_ata_regget): Change return type to
10533 `grub_uint8_t'.
10534 (grub_ata_regget2): Likewise.
10535 (grub_ata_wait_status): New function.
10536 (grub_ata_wait_busy): Removed function, updated all users to use
10537 `grub_ata_wait_status'.
10538 (grub_ata_wait_drq): Likewise.
10539 (grub_ata_cmd): New function.
10540 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
10541 error handling.
10542 (grub_ata_pio_write): Add error handling.
10543 (grub_atapi_identify): Likewise.
10544 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
10545 handling.
10546 (grub_ata_identify): Use `grub_ata_cmd' and improve error
10547 handling. Actually use the detected registers. Reorder the
10548 detection logic such that it is easier to read.
10549 (grub_ata_pciinit): Do not assign the same ID to each controller.
10550 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
10551 handling.
10552 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
10553
10554 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
10555
1fbc5e66 105562008-08-08 Marco Gerards <marco@gnu.org>
10557
10558 * NEWS: Update.
10559
819ce6c0 105602008-08-07 Bean <bean123ch@gmail.com>
10561
10562 * include/grub/x86_64/pci.h: New file.
10563
5c41d44d 105642008-08-07 Christian Franke <franke@computer.org>
10565
10566 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
10567 (TIMER2_GATE): Likewise.
10568 (grub_pit_wait): Add enable/disable of the timer2 gate
10569 bit of port 0x61. This fixes a possible infinite loop.
10570
5ebc275d 105712008-08-07 Bean <bean123ch@gmail.com>
10572
10573 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
10574 kern/i386/tsc.c and kern/i386/pit.c.
10575
10576 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
10577 x86_64 platform.
10578
10579 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
10580 <grub/i386/tsc.h>.
10581
10582 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
10583
e383b3d0 105842008-08-07 Bean <bean123ch@gmail.com>
10585
10586 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
10587
10588 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
10589
10590 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
10591 multiple inclusion. Add #include <grub/types.h>.
10592
1cbb58ac 105932008-08-06 Christian Franke <franke@computer.org>
10594
10595 * conf/common.rmk: Build and install `10_windows'.
10596 * util/grub.d/10_windows.in: New script.
10597
337f5a1e 105982008-08-06 Pavel Roskin <proski@gnu.org>
10599
10600 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
10601
057bc4ac 106022008-08-06 Robert Millan <rmh@aybabtu.com>
10603
10604 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
10605 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
10606
2b99f123 106072008-08-06 Bean <bean123ch@gmail.com>
10608
10609 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
10610 (grub_pxefs_fs_int): Remove dummy definition.
10611 (grub_pxefs_open): Use data->block_size to store the current block
10612 size setting.
10613 (grub_pxefs_read): Use block size stored in data->block_size. As the
10614 value of grub_pxe_blksize can be changed after the file is opened.
10615
9f0234cb 106162008-08-06 Bean <bean123ch@gmail.com>
10617
10618 * fs/i386/pc/pxe.c (curr_file): new variable.
10619 (grub_pxefs_open): Simply the handling of pxe file system. Don't
10620 require the dummy internal file system anymore.
10621 (grub_pxefs_read): Removed.
10622 (grub_pxefs_close): Likewise.
10623 (grub_pxefs_fs_int): Likewise.
10624 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
10625 connection when we switch file.
10626 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
10627
a55d42e0 106282008-08-06 Robert Millan <rmh@aybabtu.com>
10629
10630 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
10631 `halt.mod'.
10632 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
10633 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
10634
10635 * kern/i386/halt.c: New file.
10636 * kern/i386/reboot.c: Likewise.
10637 * include/grub/i386/reboot.h: Likewise.
10638 * include/grub/i386/halt.h: Likewise.
10639
10640 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
10641 Include `<grub/cpu/halt.h>'.
10642 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
10643 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
10644
10645 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
10646 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
10647 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
10648 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
10649 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
10650 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
10651 from here ...
10652 * include/grub/i386/at_keyboard.h: ... to here.
10653
24371d26 106542008-08-05 Robert Millan <rmh@aybabtu.com>
10655
10656 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
10657 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
10658 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
10659 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10660 `kern/generic/millisleep.c'.
10661
10662 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
10663 instead of grub_get_rtc().
10664 (grub_tsc_init): Initialize `tsc_boot_time'.
10665
10666 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
10667 (grub_machine_init): Use grub_tsc_init() rather than
10668 installing an RTC-based handler via grub_install_get_time_ms().
10669
10670 * kern/i386/pit.c: New file.
10671 * include/grub/i386/pit.h: Likewise.
10672
9e7007b3 106732008-08-05 Bean <bean123ch@gmail.com>
10674
10675 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
10676
10677 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
10678 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
10679 (pxe_mod_SOURCES): New macro.
10680 (pxe_mod_CFLAGS): Likewise.
10681 (pxe_mod_LDFLAGS): Likewise.
10682 (pxecmd_mod_SOURCES): Likewise.
10683 (pxecmd_mod_CFLAGS): Likewise.
10684 (pxecmd_mod_LDFLAGS): Likewise.
10685
10686 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
10687 (grub_pxe_call): Likewise.
10688
10689 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
10690
10691 * commands/i386/pc/pxecmd.c: New file.
10692
9f0234cb 10693 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 10694
10695 * include/grub/i386/pc/pxe.h: Likewise.
10696
6977d49f 106972008-08-05 Bean <bean123ch@gmail.com>
10698
10699 * util/console.c (grub_console_cur_color): New variable.
10700 (grub_console_standard_color): Likewise.
10701 (grub_console_normal_color): Likewise.
10702 (grub_console_highlight_color): Likewise.
10703 (color_map): Likewise.
10704 (use_color): Likewise.
10705 (NUM_COLORS): New macro.
10706 (grub_ncurses_setcolorstate): Handle color properly.
10707 (grub_ncurses_setcolor): Don't change color here, just remember the
10708 settings, color will be set in grub_ncurses_setcolorstate.
10709 (grub_ncurses_getcolor): New function.
10710 (grub_ncurses_init): Initialize color pairs.
10711 (grub_ncurses_term): New member grub_ncurses_getcolor.
10712
9c2ff3ee 107132008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 10714
9c2ff3ee 10715 High resolution timer support. Implemented for x86 CPUs using TSC.
10716 Extracted generic grub_millisleep() so it's linked in only as needed.
10717 This requires a Pentium compatible CPU; if the RDTSC instruction is
10718 not supported, then it falls back on the generic grub_get_time_ms()
10719 implementation that uses the machine's RTC.
10720
10721 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
10722 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10723 `kern/generic/millisleep.c'.
10724
10725 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
10726 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
10727
10728 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
10729 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
10730
10731 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10732
10733 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10734 `kern/generic/millisleep.c'.
10735
10736 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10737
10738 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
10739
10740 * kern/generic/rtc_get_time_ms.c: New file.
10741
10742 * kern/generic/millisleep.c: New file.
337f5a1e 10743
9c2ff3ee 10744 * kern/misc.c: Don't include
10745 <kern/time.h> anymore.
10746 (grub_millisleep_generic): Removed.
10747
10748 * commands/sleep.c (grub_interruptible_millisleep): Uses
10749 grub_get_time_ms() instead of grub_get_rtc().
10750
10751 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
10752 function.
10753 (grub_cpu_is_cpuid_supported): New inline function.
10754 (grub_cpu_is_tsc_supported): New inline function.
10755 (grub_tsc_init): New function prototype.
10756 (grub_tsc_get_time_ms): New function prototype.
10757
10758 * kern/i386/tsc.c (grub_get_time_ms): New file.
10759
10760 * include/grub/time.h: Include <grub/types.h.
10761 (grub_millisleep_generic): Removed.
10762 (grub_get_time_ms): New prototype.
10763 (grub_install_get_time_ms): New prototype.
10764 (grub_rtc_get_time_ms): New prototype.
10765
10766 * kern/time.c (grub_get_time_ms): New function.
10767 (grub_install_get_time_ms): New function.
10768
10769 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
10770 <grub/time.h> anymore.
10771 (grub_millisleep): Removed.
10772 (grub_machine_init): Call grub_tsc_init.
10773
10774 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
10775 get_time_ms() implementation.
10776
10777 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
10778 (ieee1275_get_time_ms): New function.
10779 (grub_machine_init): Install get_time_ms() implementation.
10780
10781 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
10782 (grub_machine_init): Call grub_tsc_init().
10783 (grub_millisleep): Removed.
bf06a93f 10784
9c2ff3ee 10785 * kern/ieee1275/init.c (grub_millisleep): Removed.
10786 (grub_machine_init): Install ieee1275_get_time_ms()
10787 implementation.
10788 (ieee1275_get_time_ms): New function.
10789 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
10790 real work.
10791
9ec92aaf 107922008-08-05 Marco Gerards <marco@gnu.org>
10793
10794 * disk/ata.c: Include <grub/pci.h>.
10795 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
10796 (grub_ata_initialize): Rewritten.
10797 (grub_ata_device_initialize): New function.
10798
8d23f507 107992008-08-04 Pavel Roskin <proski@gnu.org>
10800
10801 * kern/main.c: Include grub/mm.h.
10802
5e15ee3d 108032008-08-04 Robert Millan <rmh@aybabtu.com>
10804
10805 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
10806 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
10807 corruption problem).
10808
a9053f8f 108092008-08-04 Robert Millan <rmh@aybabtu.com>
10810
10811 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
10812 warnings introduced in my last commit.
10813
dd19c7d7 108142008-08-03 Robert Millan <rmh@aybabtu.com>
10815
10816 Make PCI available on all i386 architectures.
10817
10818 * include/grub/i386/pc/pci.h: Move from here ...
10819 * include/grub/i386/pci.h: ... to here.
10820
10821 * include/grub/i386/pc/pci.h: Remove.
10822 * include/grub/i386/efi/pci.h: Remove.
10823 * include/grub/x86_64/efi/pci.h: Remove.
10824
10825 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
10826 `<grub/cpu/pci.h>'.
10827
10828 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
10829 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
10830 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
10831
10832 * conf/i386-ieee1275.rmk: Likewise.
10833
e14a6184 108342008-08-03 Robert Millan <rmh@aybabtu.com>
10835
10836 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
10837 (grub_console_setcursor): Make it possible to set cursor off.
10838
52768e37 108392008-08-03 Robert Millan <rmh@aybabtu.com>
10840
10841 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
10842 of modules instead of assuming which platform provides what.
10843 * util/update-grub.in: Likewise.
10844
2d52f57f 108452008-08-03 Robert Millan <rmh@aybabtu.com>
10846
10847 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
10848 instead of `grub_install_dos_part' to determine whether a drive needs
10849 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 10850 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 10851
2a5cd121 108522008-08-02 Robert Millan <rmh@aybabtu.com>
10853
10854 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
10855
93808428 108562008-08-02 Robert Millan <rmh@aybabtu.com>
10857
10858 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
10859 of informational grub_dprintf() calls.
10860
3bd0a12a 108612008-08-02 Robert Millan <rmh@aybabtu.com>
10862
10863 * disk/memdisk.c (memdisk_size): Don't initialize.
10864 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
10865
10866 * include/grub/i386/pc/kernel.h
10867 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
10868 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
10869 (grub_memdisk_image_size, grub_arch_memdisk_addr)
10870 (grub_arch_memdisk_size): Remove.
10871
10872 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
10873 field (was only used to transfer a constant). Add `type' field to
10874 support multiple module types.
10875 (grub_module_iterate): New function.
10876
10877 * kern/device.c (grub_device_open): Do not hide error messages
10878 when grub_disk_open() fails. Use grub_print_error() instead.
10879
10880 * kern/i386/pc/init.c (grub_arch_modules_addr)
10881 (grub_arch_memdisk_size): Remove functions.
10882 (grub_arch_modules_addr): Return the module address in high memory
10883 (now that it isn't copied anymore).
10884
10885 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
10886 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
10887 decompression routine (grub_total_module_size already includes that
10888 now). Don't copy modules back to low memory.
10889
10890 * kern/main.c: Include `<grub/mm.h>'.
10891 (grub_load_modules): Split out (and use) ...
10892 (grub_module_iterate): ... this function, which iterates through
10893 module objects and runs a hook.
10894 Comment out grub_mm_init_region() call, as it would cause non-ELF
10895 modules to be overwritten.
10896
10897 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
10898 the memdisk image in its own region, make it part of the module list.
10899 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
10900 (main): Parse --memdisk|-m option, and pass user-provided path as
10901 parameter to generate_image().
10902 (add_segments): Pass `memdisk_path' down to load_modules().
10903 (load_modules): Embed memdisk image in module section when requested.
10904 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
10905 `header.type' instead of `header.offset'.
10906
10907 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
10908 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
10909 (memdisk_mod_LDFLAGS): New variables.
10910 * conf/i386-coreboot.rmk: Likewise.
10911 * conf/i386-ieee1275.rmk: Likewise.
10912
a927cc73 109132008-08-02 Robert Millan <rmh@aybabtu.com>
10914
10915 * loader/i386/pc/multiboot.c (playground, forward_relocator)
10916 (backward_relocator): New variables. Used to allocate and relocate
10917 the payload, respectively.
10918 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 10919 address, install the appropriate relocator code in each bound of
a927cc73 10920 the payload, and set the entry point such that
10921 grub_multiboot_real_boot() will jump to one of them.
10922
10923 * kern/i386/loader.S (grub_multiboot_payload_size)
10924 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10925 (grub_multiboot_payload_entry_offset): New variables.
10926 (grub_multiboot_real_boot): Set cpu context to what the relocator
10927 expects, and jump to the relocator instead of the payload.
10928
10929 * include/grub/i386/loader.h (grub_multiboot_payload_size)
10930 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10931 (grub_multiboot_payload_entry_offset): Export.
10932
b15d8a0c 109332008-08-01 Bean <bean123ch@gmail.com>
10934
10935 * normal/menu_entry.c (editor_getline): Don't return the original
10936 string as result, as it will be released by lexer once it has done
10937 using it.
10938
cdfb3d22 109392008-08-01 Robert Millan <rmh@aybabtu.com>
10940
10941 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
10942 within menuentries, not before them.
10943 util/grub.d/10_hurd.in: Likewise.
10944
9175e93d 109452008-08-01 Bean <bean123ch@gmail.com>
10946
10947 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
10948 (bufio_mod_SOURCES): New macro.
10949 (bufio_mod_CFLAGS): Likewise.
10950 (bufio_mod_LDFLAGS): Likewise.
10951
10952 * include/grub/bufio.h: New file.
10953
10954 * io/bufio.c: Likewise.
10955
10956 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
10957 (grub_video_reader_png): Use grub_buffile_open to open file.
10958
10959 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
10960 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
10961
10962 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
10963 (grub_video_reader_tga): Use grub_buffile_open to open file.
10964
10965 * font/manager.c: Include <grub/bufio.h>.
10966 (add_font): Use grub_buffile_open to open file.
10967
3d8383e7 109682008-07-31 Robert Millan <rmh@aybabtu.com>
10969
10970 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
10971 ELF segments, use a macro for arbitrarily accessing any of them instead
10972 of preparing a pointer that allows access to one at a time.
10973 (grub_multiboot_load_elf64): Likewise.
10974
16e641b6 109752008-07-31 Bean <bean123ch@gmail.com>
10976
10977 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
10978 GRUB_KERNEL_MACHINE_DATA_END.
10979
59198b72 109802008-07-30 Robert Millan <rmh@aybabtu.com>
10981
10982 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
10983 Increase from 0x50 to 0x60.
10984 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
10985 use UUIDs to identify the root drive for them. If that's not
10986 possible, abort.
10987 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
10988 check, for cross-disk installs.
10989
ae88bca3 109902008-07-30 Robert Millan <rmh@aybabtu.com>
10991
10992 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
10993 is non-empty, use it to set the `prefix' environment variable instead
10994 of the usual approach.
10995 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
10996 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
10997 environment variable instead of dummy make_install_device().
10998
10999 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
11000 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 11001 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 11002
11003 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
11004 New variable reference.
11005 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
11006 New macro. Defines offset of `grub_prefix' within startup.S (relative
11007 to `start').
11008 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
11009 section within startup.S (relative to `start').
11010 * include/grub/i386/coreboot/kernel.h: Likewise.
11011
11012 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
11013 Overwrite grub_prefix with its contents, at the beginning of the
11014 first segment.
11015 (main): Understand -p|--prefix.
11016
14f41dd1 110172008-07-30 Robert Millan <rmh@aybabtu.com>
11018
11019 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
11020
4ca049a3 110212008-07-30 Robert Millan <rmh@aybabtu.com>
11022
11023 * term/i386/pc/vga_text.c (grub_console_cls): Use
11024 grub_console_gotoxy() to go back to beginning of the screen.
11025 Found by Patrick Georgi <patrick.georgi@coresystems.de>
11026
2921d337 110272008-07-29 Christian Franke <franke@computer.org>
11028
11029 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11030 Add conversion of emulated mount points on Cygwin.
11031
b609876d 110322008-07-29 Christian Franke <franke@computer.org>
11033
11034 * util/update-grub.in: Add a check for admin
11035 group on Cygwin.
11036 Remove old `grub.cfg.new' before creation.
11037 Add `-f' to `mv' to handle the different filesystem
11038 semantics of Windows.
11039
e93e4679 110402008-07-29 Bean <bean123ch@gmail.com>
11041
11042 * normal/main.c (get_line): Fix buffer overflow bug.
11043
41694fd0 110442008-07-28 Robert Millan <rmh@aybabtu.com>
11045
11046 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
11047 (struct grub_apple_header): New struct. Describes the layout of
11048 the partmap header.
11049 (apple_partition_map_iterate): Check the header magic as well as the
11050 partition magic (which was already being checked).
11051
cfd0b4e6 110522008-07-28 Pavel Roskin <proski@gnu.org>
11053
11054 * genmk.rb: Add a warning to the beginning of the output that
11055 it's a generated file and should not be edited.
11056
93cce016 110572008-07-28 Robert Millan <rmh@aybabtu.com>
11058
11059 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11060 with the same number are found, just use issue a warning with
11061 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 11062
cd1df915 110632008-07-27 Robert Millan <rmh@aybabtu.com>
11064
11065 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
11066 information.
11067
b70a8427 110682008-07-27 Bean <bean123ch@gmail.com>
11069
11070 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
11071 (grub_fat_find_dir): Ignore case when comparing filename.
11072
8f5e379f 110732008-07-27 Bean <bean123ch@gmail.com>
11074
11075 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
11076 smallino, as it's more descriptive, and i8count can be confused with
11077 the other field count.
11078 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
11079 inode type.
11080
a85cd5a0 110812008-07-27 Bean <bean123ch@gmail.com>
11082
11083 * commands/crc.c: New file.
11084
11085 * lib/crc.c: Likewise.
11086
11087 * include/grub/lib/crc.h: Likewise.
11088
11089 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
11090
11091 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
11092 (hexdump): Move this function to ...
11093
11094 * lib/hexdump.c: ... here.
11095
11096 * include/grub/hexdump.h: Renamed to ...
11097
11098 * include/grub/lib/hexdump.h: ... this.
11099
11100 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
11101
11102 * util/grub-editenv.c: Likewise.
11103
11104 * include/envblk.h: Renamed to ...
11105
11106 * include/lib/envblk.h: ... this.
11107
11108 * util/envblk.c: Renamed to ...
11109
11110 * lib/envblk.c: ... this.
11111
11112 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
11113 lib/hexdump.c.
11114 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
11115 (pkglib_MODULES): Add crc.mod.
11116 (hexdump_mod_SOURCES): Add lib/hexdump.c.
11117 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
11118 (crc_mod_SOURCES): New macro.
11119 (crc_mod_CFLAGS): Likewise.
11120 (crc_mod_LDFLAGS): Likewise.
11121
11122 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
11123
11124 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11125
11126 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11127
11128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11129
11130 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11131
c298def0 111322008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 11133
11134 * commands/help.c: Include <grub/term.h>.
11135 (TERM_WIDTH): Removed. Updated all users.
11136
cc349fb3 111372008-07-27 Pavel Roskin <proski@gnu.org>
11138
11139 * util/getroot.c (find_root_device): Rephrase a comment to avoid
11140 spurious warnings about a comment within a comment.
11141
9051607e 111422008-07-25 Robert Millan <rmh@aybabtu.com>
11143
11144 * util/getroot.c (find_root_device): Skip devices that match
11145 /dev/dm-[0-9]. This lets the real device be found for any type of
11146 abstraction (LVM, EVMS, RAID..).
11147 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
11148 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
11149 device is found first, find_root_device() will now skip it.
11150
01453bfc 111512008-07-24 Pavel Roskin <proski@gnu.org>
11152
11153 * include/grub/types.h: Use __builtin_bswap32() and
11154 __builtin_bswap64() with gcc 4.3 and newer.
11155
6af9849f 111562008-07-24 Christian Franke <franke@computer.org>
11157
3a0fa256 11158 * util/i386/pc/grub-install.in: If `--debug' is specified,
11159 pass `--verbose' to grub-setup.
11160 Abort script if make_system_path_relative_to_its_root() fails.
11161
7810e747 111622008-07-24 Bean <bean123ch@gmail.com>
11163
11164 * configure.ac: Fixed a bug caused by the previous cygwin patch,
11165 variable `target_platform' should be `platform'.
11166
42290e17 111672008-07-24 Bean <bean123ch@gmail.com>
11168
51cc5193 11169 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 11170 (grub_png_init_fixed_block): New function.
11171 (grub_png_decode_image_data): Handle fixed huffman code compression.
11172
2a8a80e4 111732008-07-24 Bean <bean123ch@gmail.com>
11174
11175 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
11176 (grub_pe2elf_SOURCES): New macro.
11177 (CLEANFILES): Add grub-pe2elf.
11178
11179 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
11180 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
11181 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
11182 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
11183 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
11184 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
11185 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
11186 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
11187 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
11188 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
11189 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
11190 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
11191 (GRUB_PE32_DT_FUNCTION): Likewise.
11192 (GRUB_PE32_REL_I386_DIR32): Likewise.
11193 (GRUB_PE32_REL_I386_REL32): Likewise.
11194 (grub_pe32_symbol): New structure.
11195 (grub_pe32_reloc): Likewise.
11196
11197 * util/grub-pe2elf.c: New file.
11198
11199 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
11200 start symbol in non pc platform.
11201
11202 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
11203
11204 The following patches are from Christian Franke.
11205
11206 * include/grub/dl.h: Remove .previous, gas supports this only
11207 for ELF format.
11208
11209 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
11210 Remove .type, gas supports this only for ELF format.
11211
11212 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
11213 nullbytes in symbol table. This fixes an infinite loop if table is
11214 zero filled.
11215
11216 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
11217 TARGET_IMG_LDFLAGS and EXEEXT.
11218
11219 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
11220 TARGET_IMG_LDFLAGS_AC.
11221 (grub_CHECK_STACK_ARG_PROBE): New function.
11222
11223 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
11224
11225 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
11226
11227 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
11228 to set TARGET_IMG_LD* accordingly.
11229 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
11230 Add call to grub_CHECK_STACK_ARG_PROBE.
11231 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
11232
11233 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
11234
11235 * genmk.rb: Add EXEEXT to CLEANFILES.
11236
12ccdb75 112372008-07-23 Robert Millan <rmh@aybabtu.com>
11238
11239 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
11240 define the codes for arrows and lines used for the menu).
11241 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
11242 as well.
11243
11244 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
11245 fonts, because the latter are too slow.
11246
18eeaf04 112472008-07-21 Bean <bean123ch@gmail.com>
11248
11249 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
11250 a20. Run keyboard test last, as it will cause macbook to halt.
11251
b095e2ad 112522008-07-18 Pavel Roskin <proski@gnu.org>
11253
11254 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
11255 load foreign architecture modules correctly anyway. Keep
11256 support for loading host architecture modules, whether we
11257 compile them or not.
11258
737feb35 112592008-07-17 Pavel Roskin <proski@gnu.org>
11260
3f4ce737 11261 * configure.ac: Use -m32 or -m64 regardless of whether we had to
11262 change target_cpu. The compiler default can mismatch target_cpu
11263 in any case.
11264
4ad2d049 11265 * disk/efi/efidisk.c: Fix format warnings on x86_64.
11266 * kern/efi/efi.c: Likewise.
11267
f6130a12 11268 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
11269 target compiler is functional.
11270 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
11271 are set up.
11272
58393a2d 11273 * configure.ac: Default to efi platform for x86_64-apple. Allow
11274 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
11275 adjustments from the rest, only do them if target is not
11276 explicitly given. Merge other adjustments with the final sanity
11277 check. Remove an extraneous check for supported CPU. Be
11278 specific which CPU and which platform is not supported.
11279
737feb35 11280 * configure.ac: Default to pc platform for x86_64.
11281
546f966a 112822008-07-17 Robert Millan <rmh@aybabtu.com>
11283
11284 Partial LinuxBIOS -> Coreboot rename.
11285
11286 * conf/i386-linuxbios.rmk: Renamed to ...
11287 * conf/i386-coreboot.rmk: ... this.
11288 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
11289 * configure.ac: Accept "coreboot" as input platform (but maintain
11290 compatibility with "linuxbios").
11291 * include/grub/i386/linuxbios: Renamed to ...
11292 * include/grub/i386/coreboot: ... this.
11293
20011694 112942008-07-17 Bean <bean123ch@gmail.com>
11295
11296 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 11297 (appleldr_mod_SOURCE): New variable.
20011694 11298 (appleldr_mod_CFLAGS): Likewise.
11299 (appleldr_mod_LDFLAGS): Likewise.
11300 (pci_mod_SOURCES): Likewise.
11301 (pci_mod_CFLAGS): Likewise.
11302 (pci_mod_LDFLAGS): Likewise.
11303 (lspci_mod_SOURCES): Likewise.
11304 (lspci_mod_CFLAGS): Likewise.
11305 (lspci_mod_LDFLAGS): Likewise.
11306
11307 * conf/x86_64-efi.rmk: New file.
11308
11309 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
11310 macro.
11311 (grub_efidisk_write): Likewise.
11312
11313 * include/efi/api.h (efi_call_0): New macro.
11314 (efi_call_1): Likewise.
11315 (efi_call_2): Likewise.
11316 (efi_call_3): Likewise.
11317 (efi_call_4): Likewise.
11318 (efi_call_5): Likewise.
11319 (efi_call_6): Likewise.
11320
11321 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
11322 grub_rescue_cmd_chainloader.
11323
11324 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
11325 (grub_pe32_optional_header): Change some fields based on i386 or
11326 x86_64 platform.
11327 (GRUB_PE32_PE32_MAGIC): Likewise.
11328
11329 * include/grub/efi/uga_draw.h: New file.
11330
11331 * include/grub/elf.h (STN_ABS): New constant.
11332 (R_X86_64_NONE): Relocation constant for x86_64.
11333 (R_X86_64_64): Likewise.
11334 (R_X86_64_PC32): Likewise.
11335 (R_X86_64_GOT32): Likewise.
11336 (R_X86_64_PLT32): Likewise.
11337 (R_X86_64_COPY): Likewise.
11338 (R_X86_64_GLOB_DAT): Likewise.
11339 (R_X86_64_JUMP_SLOT): Likewise.
11340 (R_X86_64_RELATIVE): Likewise.
11341 (R_X86_64_GOTPCREL): Likewise.
11342 (R_X86_64_32): Likewise.
11343 (R_X86_64_32S): Likewise.
11344 (R_X86_64_16): Likewise.
11345 (R_X86_64_PC16): Likewise.
11346 (R_X86_64_8): Likewise.
11347 (R_X86_64_PC8): Likewise.
11348
11349 * include/grub/i386/efi/pci.h: New file.
11350
11351 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
11352 Change it value based on platform.
11353 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
11354 (GRUB_E820_RAM): Likewise.
11355 (GRUB_E820_RESERVED): Likewise.
11356 (GRUB_E820_ACPI): Likewise.
11357 (GRUB_E820_NVS): Likewise.
11358 (GRUB_E820_EXEC_CODE): Likewise.
11359 (GRUB_E820_MAX_ENTRY): Likewise.
11360 (grub_e820_mmap): New structure.
11361 (linux_kernel_header): Change the efi field according to different
11362 kernel version, also field from linux_kernel_header.
11363
11364 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
11365
11366 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11367 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11368 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11369 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11370 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11371 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11372 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11373 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11374 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11375 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11376
11377 * include/grub/x86_64/efi/kernel.h: New file.
11378
11379 * include/grub/x86_64/efi/loader.h: Likewise.
11380
11381 * include/grub/x86_64/efi/machine.h: Likewise.
11382
11383 * include/grub/x86_64/efi/pci.h: Likewise.
11384
11385 * include/grub/x86_64/efi/time.h: Likewise.
11386
11387 * include/grub/x86_64/linux.h: Likewise.
11388
11389 * include/grub/x86_64/setjmp.h: Likewise.
11390
11391 * include/grub/x86_64/time.h: Likewise.
11392
11393 * include/grub/x86_64/types.h: Likewise.
11394
11395 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11396 GRUB_TARGET_SIZEOF_VOID_P.
11397
11398 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11399 (grub_efi_locate_handle): Likewise.
11400 (grub_efi_open_protocol): Likewise.
11401 (grub_efi_set_text_mode): Likewise.
11402 (grub_efi_stall): Likewise.
11403 (grub_exit): Likewise.
11404 (grub_reboot): Likewise.
11405 (grub_halt): Likewise.
11406 (grub_efi_exit_boot_services): Likewise.
11407 (grub_get_rtc): Likewise.
11408
11409 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11410 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11411 (grub_efi_allocate_pages): Wrap efi calls.
11412 (grub_efi_free_pages): Wrap efi calls.
11413 (grub_efi_get_memory_map): Wrap efi calls.
11414
11415 * kern/x86_64/dl.c: New file.
11416
11417 * kern/x86_64/efi/callwrap.S: Likewise.
11418
11419 * kern/x86_64/efi/startup.S: Likewise.
11420
11421 * loader/efi/appleloader.c: Likewise.
11422
11423 * loader/efi/chainloader.c (cmdline): New variable.
11424 (grub_chainloader_unload): Wrap efi calls.
11425 (grub_chainloader_boot): Likewise.
11426 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
11427 command line.
11428
11429 * loader/efi/chainloader_normal.c (chainloader_command):
11430 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
11431 command line.
11432
11433 * loader/i386/efi/linux.c (allocate_pages): Change allocation
11434 method.
11435 (grub_e820_add_region): New function.
11436 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
11437 booting.
11438 (grub_find_video_card): New function.
11439 (grub_linux_setup_video): New function.
11440 (grub_rescue_cmd_linux): Probe for video information.
11441
11442 * normal/x86_64/setjmp.S: New file.
11443
11444 * term/efi/console.c (map_char): New function.
11445 (grub_console_putchar): Map unicode char.
11446 (grub_console_checkkey): Wrap efi calls.
11447 (grub_console_getkey): Likewise.
11448 (grub_console_getwh): Likewise.
11449 (grub_console_gotoxy): Likewise.
11450 (grub_console_cls): Likewise.
11451 (grub_console_setcolorstate): Likewise.
11452 (grub_console_setcursor): Likewise.
11453
11454 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
11455
59652a20 114562008-07-16 Pavel Roskin <proski@gnu.org>
11457
ef294055 11458 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
11459 format strings.
11460
59652a20 11461 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
11462 pointer, not an integer. This fixes a warning and prevents
11463 precision loss on 64-bit systems.
11464 (relocate_addresses): Remove unneeded cast.
11465
afc3b5d7 114662008-07-15 Pavel Roskin <proski@gnu.org>
11467
506b2b3e 11468 * kern/i386/ieee1275/init.c: Include grub/cache.h.
11469
62ead89c 11470 * term/ieee1275/ofconsole.c: Disable code unused on i386.
11471
c4cd51d7 11472 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
11473 Fix comparison between signed and unsigned.
11474
0d3d8f28 11475 * include/grub/i386/ieee1275/console.h: Declare
11476 grub_console_init() and grub_console_fini().
11477
8804b286 11478 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
11479 It's empty and unused.
11480
ee01cf35 11481 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
11482 beginning to avoid warnings with some compilers.
11483
afc3b5d7 11484 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
11485 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
11486
e4e8eaa5 114872008-07-14 Pavel Roskin <proski@gnu.org>
11488
407aceb4 11489 * kern/env.c (grub_register_variable_hook): Don't copy empty
11490 string, it leaks memory. Pass "" to grub_env_set(), it should
11491 handle constant strings.
11492
e4e8eaa5 11493 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
11494 * commands/cmp.c (grub_cmd_cmp): Likewise.
11495 * kern/dl.c (grub_dl_flush_cache): Likewise.
11496 (grub_dl_load_core): Likewise.
11497 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
11498 (grub_elf64_load_phdrs): Likewise.
11499
d4e2dad3 115002008-07-13 Pavel Roskin <proski@gnu.org>
11501
11502 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
11503 between signed and unsigned.
11504 (LzmaEnc_Finish): Fix warning about an unused parameter.
11505
aa24b516 115062008-07-13 Bean <bean123ch@gmail.com>
11507
11508 * Makefile.in (enable_lzo): New rule.
11509
11510 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
11511
11512 * configure.ac (ENABLE_LZO): New option --enable-lzo.
11513
11514 * boot/i386/pc/lnxboot.S: #include <config.h>.
11515
11516 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 11517 its value according to the compression algorithm used, lzo or lzma.
aa24b516 11518
11519 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
11520 compression algorithm according to configure macro.
11521
11522 * kern/i386/pc/startup.S (codestart): Likewise.
11523
11524 * kern/i386/pc/lzma_decode.S: New file.
11525
11526 * include/grub/lib/LzFind.h: Likewise.
11527
11528 * include/grub/lib/LzHash.h: Likewise.
11529
11530 * include/grub/lib/LzmaDec.h: Likewise.
11531
11532 * include/grub/lib/LzmaEnc.h: Likewise.
11533
11534 * include/grub/lib/LzmaTypes.h: Likewise.
11535
11536 * lib/LzFind.c: Likewise.
11537
11538 * lib/LzmaDec.c: Likewise.
11539
11540 * lib/LzmaEnc.c: Likewise.
11541
4ae821ac 115422008-07-13 Bean <bean123ch@gmail.com>
11543
11544 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
11545 (grub_ext4_extent_header): New structure.
11546 (grub_ext4_extent): Likewise.
11547 (grub_ext4_extent_idx): Likewise.
11548 (grub_ext4_find_leaf): New function.
11549 (grub_ext2_read_block): Handle extents.
11550
9a745147 115512008-07-12 Robert Millan <rmh@aybabtu.com>
11552
11553 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
11554
d49a4cf6 115552008-07-11 Robert Millan <rmh@aybabtu.com>
11556
11557 * util/grub.d/40_custom.in: New file. Example on how to add custom
11558 entries to /etc/grub.d.
11559 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
11560 40_custom (implicitly, by merging all the grub.d rules).
11561
947414b4 115622008-07-11 Pavel Roskin <proski@gnu.org>
11563
0059cf6f 11564 * commands/read.c (grub_getline): Fix invalid memory access.
11565 Don't add newline to the variable value.
11566
947414b4 11567 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
11568 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
11569 (serial_hw_get_port): Check validity of the port number.
11570 (grub_cmd_serial): Check return value of serial_hw_get_port().
11571
62a02d00 115722008-07-07 Pavel Roskin <proski@gnu.org>
11573
11574 * boot/i386/pc/diskboot.S (notification_string): Replace
11575 "Loading kernel" with just "loading". This is shorter, less
11576 confusing and saves a few bytes for possible future changes.
11577
3e5581b0 115782008-07-05 Pavel Roskin <proski@gnu.org>
11579
ea387a48 11580 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
11581 size for ATAPI devices, they are undefined. Output sector
11582 number in decimal form.
11583
3e5581b0 11584 * disk/ata.c: Use named constants for status bits.
11585
fdecb8fd 115862008-07-04 Pavel Roskin <proski@gnu.org>
11587
bcd35b90 11588 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
11589 grub_addr_t before casting it to the void pointer to fix a
11590 warning. Non-addressable regions are discarded earlier.
11591 (grub_arch_modules_addr): Cast _end to grub_addr_t.
11592 * kern/i386/linuxbios/table.c: Include grub/misc.h.
11593 (check_signature): Don't shadow table_header.
11594 (grub_linuxbios_table_iterate): Cast numeric constants to
11595 grub_linuxbios_table_header_t.
11596 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
11597 grub_stop().
11598
af58ab3d 11599 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
11600 prevent warnings.
11601
1759aa57 11602 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
11603 pointer, which can cause warnings. Support 64-bit addresses.
11604
fdecb8fd 11605 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
11606 of sizeof(long). This fixes PowerPC image generation on x86_64.
11607
8516d2a8 116082008-07-04 Robert Millan <rmh@aybabtu.com>
11609
11610 This fixes a performance issue when pc & gpt partmap iterators
11611 didn't abort iteration even after our hook found what it was
fe987087 11612 looking for (often causing expensive probes of non-existent drives).
8516d2a8 11613
11614 Some callers relied on previous buggy behaviour, since they would
34c44600 11615 raise an error when their own hooks caused early abortion of its
8516d2a8 11616 iteration.
11617
11618 * kern/device.c (grub_device_open): Improve error message.
11619 * disk/lvm.c (grub_lvm_open): Likewise.
11620 * disk/raid.c (grub_raid_open): Likewise.
11621
11622 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
11623 when hook requests it, independently of grub_errno.
11624 (pc_partition_map_probe): Do not fail when find_func() caused
11625 early abortion of pc_partition_map_iterate().
11626
11627 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
11628 when hook requests it, independently of grub_errno.
11629 (gpt_partition_map_probe): Do not fail when find_func() caused
11630 early abortion of gpt_partition_map_iterate().
11631
11632 * kern/partition.c (grub_partition_iterate): Abort parent iteration
11633 when hook requests it, independently of grub_errno. Do not fail when
11634 part_map_iterate_hook() caused early abortion of p->iterate().
11635
11636 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
11637 when grub_partition_iterate() returned with non-zero.
11638
277d0de9 116392008-07-03 Pavel Roskin <proski@gnu.org>
11640
11641 * disk/ata.c (grub_ata_pio_write): Check status before writing,
11642 like we do in grub_ata_pio_read().
11643 (grub_ata_readwrite): Always write individual sectors. Fix the
11644 sector count for the remainder.
11645 (grub_ata_write): Enable writing to ATA devices. Correctly
11646 report error for ATAPI devices.
11647
d4c9b428 116482008-07-02 Pavel Roskin <proski@gnu.org>
11649
e43fc690 11650 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
11651 warning.
11652
f707af42 11653 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
11654 for every read sector, we already increment it for the whole
11655 batch. This fixes reading more than 256 sectors at once.
11656
11e16b15 11657 * util/grub-editenv.c (cmd_info): Cast argument to long
11658 explicitly. ptrdiff_t reduces to int on i386.
11659
cbabfdd4 11660 * util/grub-editenv.c (main): Be specific which parameter is
11661 missing.
11662
b8fbce0a 11663 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
11664 (memdisk): Make memdisk_orig_addr a pointer.
11665
c9c8e606 11666 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
11667 for file offsets, use grub_off_t instead. Fix printf format
11668 warnings.
11669
ca62e598 11670 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
11671 there. Real unexpected warnings should not drown in the noise
11672 about known problems.
11673
ce8d1766 11674 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
11675 grub_disk_addr_t for memory addresses.
11676
00c7a56a 11677 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
11678 explicitly to fix a warning.
11679
08d3ef09 11680 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
11681
cb71ba20 11682 * Makefile.in (MODULE_LDFLAGS): New variable.
11683 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
11684 the linker accepts --build-id=none.
11685 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
11686 MODULE_LDFLAGS.
11687 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
11688
d4c9b428 11689 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
11690 those in Linux XFS code. Provide a way to access 64-bit parent
11691 inode.
11692 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
11693 the end of struct grub_xfs_dir_header.
11694
d4156eee 116952008-07-02 Bean <bean123ch@gmail.com>
11696
11697 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
11698 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11699 and GRUB_IEEE1275_FLAG_NO_ANSI.
11700
11701 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
11702 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11703 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
11704
11705 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
11706 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
11707
11708 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
11709 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
11710
11711 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
11712 esc sequence on non ANSI terminal.
11713 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
11714
11715 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
11716 beginning of file.
11717
2270f77b 117182008-07-02 Bean <bean123ch@gmail.com>
11719
11720 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
11721 (grub_editenv_SOURCES): New variable.
11722 (pkglib_MODULES): Add loadenv.mod.
11723 (loadenv_mod_SOURCES): New variable.
11724 (loadenv_mod_CFLAGS): Likewise.
11725 (loadenv_mod_LDFLAGS): Likewise.
11726
11727 * include/grub/envblk.h: New file.
11728
11729 * util/envblk.c: New file.
11730
11731 * util/grub-editenv.c: New file.
11732
11733 * commands/loadenv.c: New file.
11734
0e9e51ec 117352008-07-01 Pavel Roskin <proski@gnu.org>
11736
d89b7634 11737 * include/multiboot2.h (struct multiboot_tag_module): Use char,
11738 not unsigned char. This fixes warnings and is consistent with
11739 other tags.
11740
bf1835b1 11741 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
11742
8222a04b 11743 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
11744
6a42d99d 11745 * term/tparm.c (analyze): Always set *popcount.
11746
10b159d1 11747 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
11748 cast to fix a warning.
11749
b8789f6c 11750 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
11751 cast to suppress a warning.
11752
29d7e38a 11753 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
11754 grub_fshelp_read_file() expects.
11755
f341f669 11756 * fs/fat.c: Fix UUID calculation on big-endian systems. We
11757 write uuid as a 32-bit value in CPU byte order, so declare and
11758 use it as such.
11759
0e9e51ec 11760 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
11761 long if the format specifier expects it.
11762 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
11763 * partmap/pc.c (pc_partition_map_iterate): Likewise.
11764 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
11765 long to fix a warning.
11766 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
11767 grub_dprintf() arguments to fix warnings.
11768
3aefa857 117692008-06-30 Pavel Roskin <proski@gnu.org>
11770
56c7668b 11771 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
11772 install_bsd_part immediately before core.img is embedded or
11773 modified on disk. This fixes core.img verification if core.img
11774 cannot be embedded.
11775
3aefa857 11776 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
11777 core_path to calculate the blocklist.
11778 Patch from Javier Martín <lordhabbit@gmail.com>
11779
5444088d 117802008-06-29 Robert Millan <rmh@aybabtu.com>
11781
11782 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
11783 block to disk block.
11784 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
11785 Patch from Niels Böhm <bitbucket@arcor.de>
11786
674835c8 117872008-06-29 Robert Millan <rmh@aybabtu.com>
11788
11789 * util/update-grub_lib.in (font_path): Search for fonts in
11790 /boot/grub first, which is more likely to be readable (we aren't
11791 deciding where fonts live, just looking for them).
11792
f527dbc8 117932008-06-26 Pavel Roskin <proski@gnu.org>
11794
6c2d8df6 11795 * util/biosdisk.c (read_device_map): Don't leave dead map
11796 entries for devices failing stat() check.
11797
f527dbc8 11798 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
11799 core_path_dev for the core.img path on the target device.
11800
aebe3d13 118012008-06-26 Robert Millan <rmh@aybabtu.com>
11802
11803 * disk/fs_uuid.c: New file.
11804 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
11805 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
11806 (fs_uuid_mod_LDFLAGS): New variables.
11807 * include/grub/disk.h (grub_disk_dev_id): Add
11808 `GRUB_DISK_DEVICE_UUID_ID'.
11809 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
11810 implement iterate().
11811
37aaf354 118122008-06-26 Robert Millan <rmh@aybabtu.com>
11813
11814 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
11815 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
11816 Linux image includes no initrd.
11817
25ff262a 118182008-06-21 Javier Martín <lordhabbit@gmail.com>
11819
11820 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
11821 call to resolve the core image location that effectively appended the
11822 name twice.
11823
76a2bd44 118242008-06-21 Robert Millan <rmh@aybabtu.com>
11825
11826 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
11827 call from here ...
11828
11829 * util/grub.d/10_hurd.in: ... to here ...
11830 * util/grub.d/10_linux.in: ... and here.
11831
650e1c79 118322008-06-19 Robert Millan <rmh@aybabtu.com>
11833
fe987087 11834 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 11835 after it has been set by grub_machine_set_prefix().
11836
6ce63911 118372008-06-19 Robert Millan <rmh@aybabtu.com>
11838
11839 * commands/search.c (search_label, search_fs_uuid, search_file): Print
11840 search result when not saving to variable, not the other way around.
11841 When saving to variable, abort iteration as soon as a match is found.
11842
73940cec 118432008-06-19 Robert Millan <rmh@aybabtu.com>
11844
11845 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
11846 check for partition that provides /boot/grub. Its logic is flawed,
11847 as it prevents prepare_grub_to_access_device() from being called
11848 multiple times.
11849
3c62a39d 118502008-06-19 Robert Millan <rmh@aybabtu.com>
11851
11852 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
11853 "insmod" command directly when abstraction modules are needed,
fe987087 11854 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 11855 since it had already been processed).
11856
47395a42 118572008-06-19 Pavel Roskin <proski@gnu.org>
11858
11859 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
11860 changed. This is needed in case GRUB_LIBDIR changes.
11861 * conf/i386-ieee1275.rmk: Likewise.
11862 * conf/i386-linuxbios.rmk: Likewise.
11863 * conf/i386-pc.rmk: Likewise.
11864 * conf/powerpc-ieee1275.rmk: Likewise.
11865
a145ac2d 118662008-06-18 Pavel Roskin <proski@gnu.org>
11867
11868 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
11869 kernel_elf_symlist.c to symlist.c for consistency with other
11870 architectures. Update all users.
11871 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11872
7847c51e 118732008-06-18 Robert Millan <rmh@aybabtu.com>
11874
11875 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
11876 it in prefix.
11877
11878 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
11879 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
11880 a RAID device, run setup() for all members independently on whether
11881 LVM abstraction is being used.
11882 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
11883 If grub-mkimage has set `*install_dos_part == -2', don't override this
11884 value.
11885 Perform *install_dos_part adjustments independently on whether
11886 we're embedding or not.
11887 Clarify error message when image is too big for embedding.
11888 Remove duplicate *install_dos_part stanza.
11889
b23e5644 118902008-06-17 Robert Millan <rmh@aybabtu.com>
11891
11892 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
11893 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
11894 variables.
11895 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
11896 values in grub_ofconsole_normal_color and
11897 grub_ofconsole_highlight_color (they're not directly related to
11898 background and foreground).
11899 (grub_ofconsole_setcolorstate): Extract background and foreground
11900 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
11901
0aac2f79 119022008-06-17 Robert Millan <rmh@aybabtu.com>
11903
11904 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
11905 /boot/grub for the check in last commit, not /boot (they could be
11906 different partitions).
11907
3cca7ef3 119082008-06-16 Robert Millan <rmh@aybabtu.com>
11909
11910 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
11911 asked to setup access for the same partition that provides /boot,
11912 don't bother using UUIDs since our root already has the value we
11913 want.
11914
347396d8 119152008-06-16 Robert Millan <rmh@aybabtu.com>
11916
11917 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
11918 I2O devices.
11919 Patch from Sven Mueller <sven@debian.org>.
11920
991477f8 119212008-06-16 Robert Millan <rmh@aybabtu.com>
11922
11923 * util/update-grub.in: Check for $EUID instead of $UID.
11924 Reported by Vincent Zweije.
11925
d31a32a1 119262008-06-16 Bean <bean123ch@gmail.com>
11927
fe987087 11928 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 11929 (grub_ext2_read_block): Likewise.
11930 (grub_ext2_read_inode): Likewise.
11931 (grub_ext2_mount): Likewise.
11932 (grub_ext2_close): Likewise.
11933 (grub_ext3_get_journal): Removed.
11934
fe987087 11935 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 11936 (grub_reiserfs_read_symlink): Likewise.
11937 (grub_reiserfs_mount): Likewise.
11938 (grub_reiserfs_open): Likewise.
11939 (grub_reiserfs_read): Likewise.
11940 (grub_reiserfs_close): Likewise.
11941 (grub_reiserfs_get_journal): Removed.
11942
11943 * fs/fshelp.c (grub_fshelp_read): Removed.
11944 (grub_fshelp_map_block): Likewise.
11945
11946 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
11947 (grub_fshelp_journal): Likewise.
11948 (grub_fshelp_read): Likewise.
11949 (grub_fshelp_map_block): Likewise.
11950
3540a760 119512008-06-16 Pavel Roskin <proski@gnu.org>
11952
11953 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
11954 floating point anymore.
11955 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
11956
95614c84 119572008-06-15 Pavel Roskin <proski@gnu.org>
11958
11959 * commands/ls.c (grub_ls_list_files): Use integer calculations
11960 for human readable format, avoid floating point use.
11961 * kern/misc.c (grub_ftoa): Remove.
11962 (grub_vsprintf): Remove floating point support.
11963
50465dd6 119642008-06-15 Robert Millan <rmh@aybabtu.com>
11965
fe6b695a 11966 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 11967 devices.
11968 Reported by Max Vozeler.
11969
a9207284 119702008-06-15 Robert Millan <rmh@aybabtu.com>
11971
11972 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
11973 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
11974 skipped later.
11975 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
11976 the beginning of the prefix.
11977
11978 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
11979 It is assumed that if we have a memdisk, grub-mkimage has set
11980 grub_prefix to include the "(memdisk)" drive in it.
11981
a7cbd45a 119822008-06-15 Robert Millan <rmh@aybabtu.com>
11983
11984 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
11985 Initialize keyboard controller after registering the terminal, so that
11986 grub_printf() can be called from grub_keyboard_controller_init().
11987
21cf716a 119882008-06-15 Robert Millan <rmh@aybabtu.com>
11989
11990 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
11991 extent-btree which is written as big endian on disk.
11992 Reported by Alain Greppin <al@chilibi.org>.
11993
23a64d8e 119942008-06-14 Robert Millan <rmh@aybabtu.com>
11995
11996 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
11997 * util/i386/pc/grub-install.in (modules): Likewise.
11998
d687651c 119992008-06-13 Pavel Roskin <proski@gnu.org>
12000
12001 * commands/ls.c (grub_ls_list_files): Fix format warnings.
12002
dfe9ddd4 120032008-06-13 Bean <bean123ch@gmail.com>
12004
12005 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
12006
12007 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
12008
12009 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
12010 to indicate sparse block.
12011
16ae7781 120122008-06-12 Pavel Roskin <proski@gnu.org>
12013
e6d1a308 12014 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
12015 number, grub_fshelp_read() does it for us.
12016
16ae7781 12017 * fs/fshelp.c (grub_fshelp_read): New function. Implement
12018 linear disk read with journal translation.
12019 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
12020 * include/grub/fshelp.h: Declare grub_fshelp_read().
12021
40fd3a2b 120222008-06-09 Pavel Roskin <proski@gnu.org>
12023
12024 * fs/minix.c (grub_minix_mount): Handle error reading
12025 superblock.
12026
f5679726 120272008-06-08 Robert Millan <rmh@aybabtu.com>
12028
12029 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
12030 don't append the RAID prefix afterwards.
12031 Reported by Clint Adams.
12032
ce525529 120332008-06-08 Robert Millan <rmh@aybabtu.com>
12034
12035 Based on description from Pavel:
12036 * kern/disk.c (grub_disk_check_range): Rename to ...
12037 (grub_disk_adjust_range): ... this. Add a comment explaining the
12038 tasks performed by this function.
12039
ad4936a0 120402008-06-08 Robert Millan <rmh@aybabtu.com>
12041
12042 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
12043 `num_serial' (for consistency with other variables).
12044 (struct grub_ntfs_data): Add `uuid' member.
12045 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
12046 (grub_ntfs_uuid): New function.
12047 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
12048
dc20b0f9 120492008-06-07 Pavel Roskin <proski@gnu.org>
12050
12051 * util/biosdisk.c (open_device): Revert last change to the
12052 function, it broke installation. The sector needs to be
12053 different dependent on which device is opened.
12054
c5e3cfba 120552008-06-06 Robert Millan <rmh@aybabtu.com>
12056
12057 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
12058 rest of GRUB, and breakage doesn't happen if its value were modified.
12059
12060 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12061 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
12062 a constant (same value).
12063 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
12064 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
12065
26a1f8c4 120662008-06-06 Robert Millan <rmh@aybabtu.com>
12067
12068 * util/biosdisk.c (open_device): Do not modify sector offset when
12069 accessing a partition. kern/disk.c already handles this for us.
12070
25d6b327 120712008-06-06 Robert Millan <rmh@aybabtu.com>
12072
12073 * util/grub-emu.c (grub_machine_init): Move code in this function from
12074 here ...
12075 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
12076 segfault in case grub_printf() is called).
12077
12078 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
12079 grub_probe. Update all users not to explicitly add it again.
12080 (grub_device): New variable; contains corresponding device for grubdir.
12081 (fs_module, partmap_module, devabstraction_module): Pass
12082 `--device ${grub_device}' to grub_probe to avoid traversing /dev
12083 every time.
12084
9ece62fb 120852008-06-05 Robert Millan <rmh@aybabtu.com>
12086
12087 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
12088 is found, print it (same layout as with labels).
12089
1ad36d37 120902008-06-04 Robert Millan <rmh@aybabtu.com>
12091
12092 * util/biosdisk.c (get_drive): Rename to ...
12093 (find_grub_drive): ... this. Update all users.
12094
12095 (get_os_disk): Rename to ...
12096 (convert_system_partition_to_system_disk): ... this. Update all users.
12097
12098 (find_drive): Rename to ...
12099 (find_system_device): ... this. Update all users.
12100
e6a30859 121012008-06-04 Robert Millan <rmh@aybabtu.com>
12102
12103 * util/biosdisk.c (get_os_disk): Handle IDA devices.
12104 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12105 (make_device_map): Likewise.
12106
00c108a4 121072008-06-01 Robert Millan <rmh@aybabtu.com>
12108
12109 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
12110 before dereferencing it.
12111
12112 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
12113 union with fat12/fat16-specific ones. Add some new fields, including
12114 `num_serial' for both versions.
12115 (struct grub_fat_data): Add `uuid' member.
12116 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
12117 names. Initialize `data->uuid' using `num_serial'.
12118 (grub_fat_uuid): New function.
12119 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
12120
12121 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
12122 (grub_reiserfs_uuid): New function.
12123 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
12124 member.
12125
12126 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
12127 (grub_xfs_uuid): New function.
12128 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
12129
1385c5bb 121302008-06-01 Robert Millan <rmh@aybabtu.com>
12131
12132 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
12133 code that is backward compatible with pre-uuid search command.
12134
c682dfd7 121352008-05-31 Robert Millan <rmh@aybabtu.com>
12136
12137 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
12138 floppies after everything else, to ensure floppy drive isn't accessed
12139 unnecessarily (patch from Bean).
12140
b7db5d47 121412008-05-31 Robert Millan <rmh@aybabtu.com>
12142
12143 * commands/search.c (search_label, search_fs_uuid, search_file): Do
12144 not print device names when we were asked to set a variable.
12145
6e037aa9 121462008-05-31 Robert Millan <rmh@aybabtu.com>
12147
12148 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
12149 using "cursor-on" and "cursor-off" commands (understood at least by
12150 the Open Firmware flavour on OLPC).
12151
41305bc8 121522008-05-31 Michael Gorven <michael@gorven.za.net>
12153
12154 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
12155 on and off sequences.
12156
69ba137e 121572008-05-31 Robert Millan <rmh@aybabtu.com>
12158
12159 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
12160 * util/update-grub.in: Likewise.
12161
520ae21b 121622008-05-30 Pavel Roskin <proski@gnu.org>
12163
12164 * util/biosdisk.c (linux_find_partition): Simplify logic and
12165 make the code more universal. Keep special processing for
12166 devfs, but use a simple rule for all other devices. If the
12167 device ends with a number, append 'p' and the partition number.
12168 Otherwise, append only the partition number.
12169
5786569b 121702008-05-30 Robert Millan <rmh@aybabtu.com>
12171
12172 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
12173 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
12174 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
12175 the `root' parameter to Linux.
12176
51500452 121772008-05-30 Robert Millan <rmh@aybabtu.com>
12178
12179 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
12180 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
12181 --fs_uuid with --fs-uuid.
12182 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
12183 all filesystems support them).
12184
811d3878 121852008-05-30 Robert Millan <rmh@aybabtu.com>
12186
12187 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 12188 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 12189
cab63c95 121902008-05-30 Robert Millan <rmh@aybabtu.com>
12191
12192 * util/grub.d/00_header.in: Remove obsolete comment referencing
12193 convert_system_path_to_grub_path().
12194 * util/update-grub.in: Likewise.
12195 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
12196 (convert_system_path_to_grub_path): Add a warning message explaining
12197 that this function is deprecated. Rely on is_path_readable_by_grub()
12198 for the readability checks.
12199 (font_path): Use is_path_readable_by_grub() for the readability
12200 check rather than convert_system_path_to_grub_path().
12201
972e2f7a 122022008-05-30 Robert Millan <rmh@aybabtu.com>
12203
12204 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
12205 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
12206 converting it first.
12207 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
12208 grub.cfg for access to font file, and afterwards call it again to set
12209 the root device.
12210
62191274 122112008-05-30 Robert Millan <rmh@aybabtu.com>
12212
12213 * commands/search.c (options): Add --fs_uuid option.
12214 (search_fs_uuid): New function.
12215 (grub_cmd_search): Fix --set argument passing.
12216 Use search_fs_uuid() when requested via --fs_uuid.
12217 (grub_search_init): Update help message.
12218 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
12219 and redeclare it as an array of 16-bit words.
12220 (grub_ext2_uuid): New function.
12221 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
12222 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
12223 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
12224 (GRUB_DEVICE_BOOT_UUID): New variables.
12225 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
12226 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
12227 whenever possible.
12228 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
12229 just assume `root' variable has the right value.
12230 * util/grub.d/10_linux.in: Likewise.
12231 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
12232 via PRINT_FS_UUID.
12233 (main): Recognise `-t fs_uuid' argument.
12234
01b73ec8 122352008-05-30 Robert Millan <rmh@aybabtu.com>
12236
12237 * util/biosdisk.c (map): Redefine structure to hold information
12238 about GRUB drive name.
fe6b695a 12239 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 12240 drive names.
12241 (call_hook): Remove.
12242 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
12243 member. Assume drive has partitions.
12244 (grub_util_biosdisk_open): Access device names via `.device' struct
12245 member.
12246 (open_device): Likewise.
12247 (find_drive): Likewise.
12248 (read_device_map): Adjust map[] usage to match the new struct
12249 definition. Don't check for duplicates (still possible, but not cheap
12250 anymore).
12251 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
12252 (make_device_name): Remove assumption of BIOS-like drive names.
12253
22f16596 122542008-05-30 Pavel Roskin <proski@gnu.org>
12255
12256 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
12257 compiling execute.c doesn't need grub_script.tab.h anymore.
12258 (normal/command.c_DEPENDENCIES): Likewise.
12259 (normal/function.c_DEPENDENCIES): Likewise.
12260 * conf/i386-ieee1275.rmk: Likewise.
12261 * conf/i386-linuxbios.rmk: Likewise.
12262 * conf/i386-pc.rmk: Likewise.
12263 * conf/powerpc-ieee1275.rmk: Likewise.
12264 * conf/sparc64-ieee1275.rmk: Likewise.
12265
528ad8f2 122662008-05-29 Pavel Roskin <proski@gnu.org>
12267
d1dff95d 12268 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
12269 when scanning metadata for volume group name.
12270
528ad8f2 12271 * include/grub/script.h: Don't include grub_script.tab.h. It's
12272 a generated file, which may only be included from the files with
12273 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
12274 use union YYSTYPE, as the later allows forward declaration.
12275 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
12276
47248e08 122772008-05-29 Robert Millan <rmh@aybabtu.com>
12278
12279 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
12280 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
12281 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
12282 (grub_console_checkkey): Add grub_dprintf() call to report unknown
12283 scan codes.
12284
ee632529 122852008-05-29 Robert Millan <rmh@aybabtu.com>
12286
12287 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
12288 control key combinations.
12289
eee96e08 122902008-05-29 Robert Millan <rmh@aybabtu.com>
12291
12292 * util/powerpc/ieee1275/grub-install.in: Move from here ...
12293 * util/ieee1275/grub-install.in: ... to here.
12294 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
12295 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
12296 (grub_install_SOURCES): Likewise.
12297
da9a6a94 122982008-05-29 Robert Millan <rmh@aybabtu.com>
12299
12300 * fs/affs.c: Update copyright year.
12301 * fs/ext2.c: Likewise.
12302 * fs/fshelp.c: Likewise.
12303 * fs/hfsplus.c: Likewise.
12304 * fs/ntfs.c: Likewise.
12305 * fs/xfs.c: Likewise.
12306 * include/grub/fshelp.h: Likewise.
12307 * util/grub-mkdevicemap.c: Likewise.
12308
12e65f3a 123092008-05-28 Robert Millan <rmh@aybabtu.com>
12310
12311 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
12312 might need to be fatfs to support some firmware implementations
12313 (e.g. OFW or EFI).
12314
23023641 123152008-05-28 Robert Millan <rmh@aybabtu.com>
12316
12317 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
12318 devices.
12319 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12320 (make_device_map): Likewise.
12321
887d2619 123222008-05-20 Bean <bean123ch@gmail.com>
12323
12324 * fs/fshelp.c (grub_fshelp_map_block): New function.
12325 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
12326 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
12327
12328 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
12329 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
12330 (grub_fshelp_journal): New structure.
12331 (grub_fshelp_map_block): New function prototype.
12332 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
12333 (grub_fshelp_map_block): Likewise.
12334
12335 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
12336 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
12337 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
12338 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
12339 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
12340 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
12341 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
12342 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
12343 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
12344 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
12345 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
12346 (grub_ext2_sblock): New members for journal support.
12347 (grub_ext3_journal_header): New structure.
12348 (grub_ext3_journal_revoke_header): Likewise.
12349 (grub_ext3_journal_block_tag): Likewise.
12350 (grub_ext3_journal_sblock): Likewise.
12351 (grub_fshelp_node): New members logfile and journal.
12352 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
12353 grub_fshelp_map_block to get real block number.
12354 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
12355 number.
12356 (grub_ext2_read_inode): Likewise.
12357 (grub_ext3_get_journal): New function.
12358 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
12359 (grub_ext2_close): Release memory used by journal.
12360
12361 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
12362 (REISERFS_MAGIC_DESC_BLOCK): New macro.
12363 (grub_reiserfs_transaction_header): Renamed to
12364 grub_reiserfs_description_block, replace field data with real_blocks.
12365 (grub_reiserfs_commit_block): New structure.
12366 (grub_reiserfs_data): New member journal.
12367 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12368 number.
12369 (grub_reiserfs_read_symlink): Likewise.
12370 (grub_reiserfs_iterate_dir): Likewise.
12371 (grub_reiserfs_open): Likewise.
12372 (grub_reiserfs_read): Likewise.
12373 (grub_reiserfs_get_journal): New function.
12374 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12375 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12376 using grub_reiserfs_get_journal.
12377 (grub_reiserfs_close): Release memory used by journal.
12378
12379 * fs/affs.c (grub_affs_read_block): Change block type to
12380 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12381
12382 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12383
12384 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12385
12386 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12387
12388 * fs/udf.c (grub_udf_read_block): Change block type to
12389 grub_disk_addr_t. Use type cast to avoid warning.
12390
12391 * fs/xfs.c (grub_xfs_read_block): Likewise.
12392
b7c6bed5 123932008-05-16 Christian Franke <franke@computer.org>
12394
12395 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12396 to ensure that break with ESC will always work.
12397 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12398 Remove ESC from keyboard queue.
12399
eedf167f 124002008-05-16 Christian Franke <franke@computer.org>
12401
12402 * util/biosdisk.c: [__CYGWIN__] Add includes.
12403 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12404 (get_os_disk): Move variable declarations to OS specific
12405 parts to avoid warning.
12406 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12407 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12408 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12409 Cygwin.
12410 * util/getroot.c: [__CYGWIN__] Add includes.
12411 (strip_extra_slashes): Fix "/" case.
12412 [__CYGWIN__] (get_win32_path): New function.
12413 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12414 [__CYGWIN__] (find_root_device): Disable.
12415 [__CYGWIN__] (get_bootsec_serial): New function.
12416 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12417 [__linux__] (grub_guess_root_device): Add early returns to simplify
12418 structure.
12419 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12420 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12421 check for Linux only.
12422
a079699e 124232008-05-15 Bean <bean123ch@gmail.com>
12424
12425 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
12426 keyboard hang problem in apple's intel mac.
12427
1cf4059a 124282008-05-09 Robert Millan <rmh@aybabtu.com>
12429
12430 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
12431 devices.
12432 * util/grub-mkdevicemap.c (get_virtio_disk_name)
12433 (make_device_map): Likewise.
12434 Reported by Aurelien Jarno <aurel32@debian.org>
12435
ed759390 124362008-05-07 Ian Campbell <ijc@hellion.org.uk>
12437
12438 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
12439 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
12440 (make_device_map): Output entries for xvd type disks.
12441
b56c4eaa 124422008-05-07 Robert Millan <rmh@aybabtu.com>
12443
12444 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
12445 devices.
12446 * util/grub-mkdevicemap.c (get_cciss_disk_name)
12447 (make_device_map): Likewise.
12448 Reported by Roland Dreier <rdreier@cisco.com>
12449
7f8866ed 124502008-05-07 Robert Millan <rmh@aybabtu.com>
12451
12452 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
12453 grub_strstr() call. Correct a few mistakes in failure path handling.
12454
b0346e0f 124552008-05-06 Robert Millan <rmh@aybabtu.com>
12456
12457 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12458 Do not print a trailing slash (therefore, the root directory is an
12459 empty string).
12460 (convert_system_path_to_grub_path): Do not remove trailing slash
12461 from make_system_path_relative_to_its_root() output.
12462
12463 * util/i386/pc/grub-install.in: Add trailing slash to output from
12464 make_system_path_relative_to_its_root().
12465
6cf12cbd 124662008-05-06 Robert Millan <rmh@aybabtu.com>
12467
12468 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
12469 ensures that output lines aren't intermangled with those sent to
12470 stderr (via grub_util_info()).
12471 * util/grub-probe.c (grub_refresh): Likewise.
12472 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
12473
0fbb3117 124742008-05-05 Christian Franke <franke@computer.org>
12475
12476 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
12477 Add Cygwin device names.
12478 (get_ide_disk_name) [__CYGWIN__]: Likewise.
12479 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
12480 (check_device): Return error instead of success on empty name.
12481 (make_device_map): Move label inside linux specific code to
12482 prevent compiler warning.
12483
8124cdb7 124842008-04-30 Robert Millan <rmh@aybabtu.com>
12485
12486 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
12487 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
12488 first boot option.
12489 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
12490
094c01d0 124912008-04-29 Robert Millan <rmh@aybabtu.com>
12492
12493 * docs/grub.cfg: New file (example GRUB configuration).
12494
f4b1fc02 124952008-04-26 Robert Millan <rmh@aybabtu.com>
12496
329ce2a5 12497 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
12498 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
12499 and `disk/ieee1275/nand.c'.
f4b1fc02 12500
25f16ec1 125012008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 12502
25f16ec1 12503 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
12504 i386-linuxbios.
12505
12506 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
12507 change the buffer size to 4096 for cdrom device.
12508
12509 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
12510 and nand.mod.
12511 (_linux_mod_SOURCES): New variable.
12512 (_linux_mod_CFLAGS): Likewise.
12513 (_linux_mod_LDFLAGS): Likewise.
12514 (linux_mod_SOURCES): Likewise.
12515 (linux_mod_CFLAGS): Likewise.
12516 (linux_mod_LDFLAGS): Likewise.
12517 (nand_mod_SOURCES): Likewise.
12518 (nand_mod_CFLAGS): Likewise.
12519 (nand_mod_LDFLAGS): Likewise.
12520
12521 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
12522 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
12523 type property. (nand device in olpc don't have this property)
12524
12525 * include/grub/disk.h (grub_disk_dev_id): New macro
12526 GRUB_DISK_DEVICE_NAND_ID.
12527
12528 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
12529 function prototype.
12530 (grub_rescue_cmd_initrd): Likewise.
12531
12532 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
12533 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
12534 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 12535
25f16ec1 12536 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
12537 GRUB_MACHINE_IEEE1275 is defined.
12538
12539 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
12540 Use NESTED_FUNC_ATTR attribute on the hook parameter.
12541
12542 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
12543 on nested function heap_init.
12544 (grub_upper_mem): New variable for i386-ieee1275.
12545 (grub_get_extended_memory): New function for i386-ieee1275.
12546 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
12547
12548 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
12549 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
12550 property.
f19dbdb7 12551
25f16ec1 12552 * loader/i386/ieee1275/linux.c: New file.
12553
12554 * loader/i386/ieee1275/linux_normal.c: New file.
12555
12556 * disk/ieee1275/nand.c: New file.
12557
e89d61e9 125582008-04-18 Thomas Schwinge <tschwinge@gnu.org>
12559
12560 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
12561 value.
12562 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
12563
602566f6 125642008-04-18 Robert Millan <rmh@aybabtu.com>
12565
12566 Restructures early code path on ieee1275 to unify grub_main() as
12567 the first C function that is executed in every platform.
12568
12569 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
12570 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
12571 cmain().
12572 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
12573 * kern/ieee1275/cmain.c (cmain): Rename to ...
12574 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
12575 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
12576 at the beginning.
12577
57490c2b 125782008-04-18 Robert Millan <rmh@aybabtu.com>
12579
12580 * util/update-grub.in: Fix syntax error when setting
12581 `GRUB_PRELOAD_MODULES'.
12582 Reported by Stephane Chazelas <stephane@artesyncp.com>
12583
1977517d 125842008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
12585
12586 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
12587 section into account, newer toolchains generate unique build ids
12588 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 12589 we want build ids to be preserved
1977517d 12590 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
12591 far from other sections don't cause the raw binary images grow
12592 size
12593
bfb1f1a2 125942008-04-15 Robert Millan <rmh@aybabtu.com>
12595
12596 * disk/lvm.c: Update copyright year.
12597 * kern/misc.c: Likewise.
12598
01979850 125992008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12600
12601 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 12602 there is no memory left for physical volume name.
01979850 12603
0a1150e2 126042008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12605
12606 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
12607 volume name mapping to support bigger than 9 character names properly.
12608
82ead3fe 126092008-04-13 Robert Millan <rmh@aybabtu.com>
12610
12611 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
12612 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
12613
e54a72f5 126142008-04-13 Christian Franke <franke@computer.org>
12615
12616 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
12617 to create a floppy emulation boot CD when non emulation mode
12618 does not work.
12619 Enable Joliet CD filesystem extension.
12620
9fe86034 126212008-04-13 Robert Millan <rmh@aybabtu.com>
12622
12623 * kern/misc.c (grub_strncat): Fix off-by-one error.
12624 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
12625
12626 * kern/env.c (grub_env_context_close): Clear current context, not
12627 previous one.
12628 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
12629
12630 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
12631
7ceeee39 126322008-04-13 Robert Millan <rmh@aybabtu.com>
12633
12634 Improve robustness when handling LVM.
12635
12636 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 12637 (and leave `*p' unmodified).
7ceeee39 12638 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
12639 through it.
12640 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
12641 iterating through it.
12642 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
12643 through it.
fe6b695a 12644 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 12645 when due) on each grub_lvm_getvalue() or grub_strstr() call.
12646 Don't assume `vg->pvs != NULL' when iterating through it.
12647
58cd3d85 126482008-04-13 Robert Millan <rmh@aybabtu.com>
12649
12650 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
12651 * genmk.rb (partmap): New variable.
12652 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
12653 (#{partmap}): New target rule.
12654 * genpartmaplist.sh: New file.
12655 * Makefile.in (pkglib_DATA): Add partmap.lst.
12656 (partmap.lst): New target rule.
12657 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
12658 modules (including all partition maps), instead of preloading them.
12659
78b51059 126602007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
12661
12662 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
12663 `linux-boot-prober' (if installed) to detect other operating
12664 systems which are installed on the computer and add them to
12665 the boot menu.
12666 * conf/common.rmk: Build and install 30_os-prober.
12667
a91627b4 126682008-04-12 Robert Millan <rmh@aybabtu.com>
12669
12670 * kern/powerpc/ieee1275/init.c: Move from here ...
12671 * kern/ieee1275/init.c: ... to here. Update all users.
12672
12673 * kern/powerpc/ieee1275/cmain.c: Move from here ...
12674 * kern/ieee1275/cmain.c: ... to here. Update all users.
12675
12676 * kern/powerpc/ieee1275/openfw.c: Move from here ...
12677 * kern/ieee1275/openfw.c: ... to here. Update all users.
12678
12679 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
12680 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
12681
322562ea 126822008-04-10 Pavel Roskin <proski@gnu.org>
12683
12684 * configure.ac: Always use "_cv_" in cache variables for
12685 compatibility with Autoconf 2.62.
12686
a02a73c5 126872008-04-07 Robert Millan <rmh@aybabtu.com>
12688
12689 Revert grub/machine/init.h addition by Pavel (since it breaks on
12690 i386-ieee1275 and others):
12691 * util/i386/pc/misc.c: Remove grub/machine/init.h.
12692 * util/powerpc/ieee1275/misc.c: Likewise.
12693
25c024b1 126942008-04-07 Robert Millan <rmh@aybabtu.com>
12695
12696 * util/grub-probe.c (probe): Improve error message.
12697
3cbd2f98 126982008-04-07 Robert Millan <rmh@aybabtu.com>
12699
12700 * util/biosdisk.c (read_device_map): Skip devices that don't exist
12701 (this prevents the presence of a bogus entry from ruining the whole
12702 thing).
12703
87a297bf 127042008-04-06 Pavel Roskin <proski@gnu.org>
12705
36747a62 12706 * util/biosdisk.c: Include grub/util/biosdisk.h.
12707 * util/grub-fstest.c (execute_command): Make static.
12708 * util/grub-mkdevicemap.c (check_device): Likewise.
12709 * util/i386/pc/misc.c: Include grub/machine/init.h.
12710 * util/powerpc/ieee1275/misc.c: Likewise.
12711 * util/lvm.c: Include grub/util/lvm.h.
12712 * util/misc.c: Include grub/kernel.h, grub/misc.h and
12713 grub/cache.h.
12714 * util/raid.c: Include grub/util/raid.h.
12715 (grub_util_getdiskname): Make static.
12716
87a297bf 12717 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
12718 grub_hostfs_fini(), as they are called from grub_init_all() and
12719 grub_fini_all() respectively. This fixes an infinite loop in
12720 grub-fstest due to double registration of hostfs.
12721 Reported by Christian Franke <Christian.Franke@t-online.de>
12722
f6ce7629 127232008-04-05 Pavel Roskin <proski@gnu.org>
12724
12725 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
12726 all 8 functions. Otherwise, probe function 0 only.
12727
070e49e4 127282008-04-04 Pavel Roskin <proski@gnu.org>
12729
8b088a4c 12730 * commands/lspci.c (grub_lspci_iter): Print the bus number
12731 correctly.
12732
4f657021 12733 * commands/lspci.c (grub_pci_classes): Fix typos.
12734 (grub_lspci_iter): Don't print func twice. Print vendor ID
12735 before device ID, as it's normally done.
12736
070e49e4 12737 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
12738 Fix signedness warnings.
12739 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
12740 Likewise.
12741 * util/ieee1275/get_disk_name.c: Include config.h so that
12742 _GNU_SOURCE is defined and getline() is declared. Mark an
12743 unused argument as such. Fix a signedness warning.
12744
ba7328dc 127452008-04-02 Pavel Roskin <proski@gnu.org>
12746
26887f22 12747 * genkernsyms.sh.in: Use more robust assignments for CC and
12748 srcdir. Quote srcdir.
12749 * gensymlist.sh.in: Likewise. Assert at the compile time that
12750 the symbol table is not empty.
12751
ba7328dc 12752 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
12753 * fs/cpio.c (grub_cpio_read): Likewise.
12754
0f582c6b 127552008-04-01 Pavel Roskin <proski@gnu.org>
12756
4b6e1995 12757 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
12758 * disk/host.c (grub_host_open): Likewise.
12759 * disk/loopback.c (grub_loopback_open): Likewise.
12760 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
12761 disk->id as in disk/host.c, not a multi-character constant.
12762
828a2768 12763 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
12764 later is obsolete, potentially dangerous and sets a bad example.
12765 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
12766 * util/misc.c (grub_util_get_image_size): Likewise.
12767
2bb4fb47 12768 * disk/loopback.c (options): Improve help for "--partitions".
12769
0f582c6b 12770 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
12771 options to align them with the short options, e.g. "echo -e".
12772
a33224e0 127732008-03-31 Bean <bean123ch@gmail.com>
12774
12775 * video/reader/png.c (grub_png_data): New member is_16bit and
12776 image_data.
12777 (grub_png_decode_image_header): Detect 16 bit png image.
12778 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
12779 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
12780 (grub_video_reader_png): Release memory occupied by image_data.
12781
12782 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
12783 4096 bytes.
12784 (grub_nfs_mount): Skip the test for sector per cluster.
12785
12786 * include/grub/ntfs.h (MAX_SPC): Removed.
12787
86cb4f54 127882008-03-31 Bean <bean123ch@gmail.com>
12789
12790 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
12791 (grub_probe_SOURCES): Add fs/afs.c.
12792 (grub_fstest_SOURCES): Likewise.
12793 (afs_mod_SOURCES): New variable.
12794 (afs_mod_CFLAGS): Likewise.
12795 (afs_mod_LDFLAGS): Likewise.
12796
12797 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
12798 (grub_emu_SOURCES): Likewise.
12799
12800 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12801
12802 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12803
12804 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12805
12806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12807
12808 * fs/afs.c: New file.
12809
17c74c21 128102008-03-30 Pavel Roskin <proski@gnu.org>
12811
4cb68e89 12812 * disk/host.c: Include grub/misc.h to fix a warning.
12813 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
12814 warnings about implicit declarations.
12815
8790bb04 12816 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
12817 variable.
12818 * include/grub/i386/loader.h: Change declaration of
12819 grub_linux_boot() to match what grub_loader_set() expects.
12820 * util/getroot.c (grub_guess_root_device): Return const char* to
12821 fix a warning.
12822 * util/grub-probe.c (probe): Fix a warning about uninitialized
12823 abstraction_name variable.
12824 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
12825 second argument as unused to fix a warning.
12826
9a3f3296 12827 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
12828 missing grub_error() call.
12829
0ecef90d 12830 * util/update-grub_lib.in: Define datarootdir, since Autoconf
12831 2.60 and newer uses it to define datadir.
12832
0bf6d401 12833 * commands/sleep.c: Fix warning about implicit declaration.
12834 * disk/memdisk.c: Likewise.
12835 * loader/aout.c: Likewise.
12836 * loader/i386/bsd_normal.c: Likewise.
12837 * util/grub-probe.c: Likewise.
12838
7cdacf97 12839 * commands/i386/cpuid.c (has_longmode): Make static.
12840 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
12841 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
12842
17c74c21 12843 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
12844 GDT. This is more robust, as %ds can change.
12845 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
12846 calling real_to_prot().
12847 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
12848
80a3e68b 128492008-03-28 Pavel Roskin <proski@gnu.org>
12850
12851 * kern/i386/pc/startup.S: Assert that uncompressed functions
12852 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
12853 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
12854 code, as they push parts of the code (error handlers) beyond
12855 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
12856 code as correctness and size.
12857
77bcd272 128582008-03-28 Pavel Roskin <proski@gnu.org>
12859
12860 * kern/i386/pc/startup.S
12861 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
12862 data block address to the real mode, keep offset minimal. This
12863 works around a bug in AWARD BIOS on old Athlon systems, which
12864 makes CD detection hang.
12865
c5dfd43b 128662008-03-26 Pavel Roskin <proski@gnu.org>
12867
12868 * normal/color.c (grub_parse_color_name_pair): Make `name' a
12869 const.
12870 * include/grub/normal.h: Add grub_parse_color_name_pair()
12871 declaration.
12872
bf962df2 128732008-03-24 Bean <bean123ch@gmail.com>
12874
12875 * disk/i386/pc/biosdisk.c (cd_start): Removed.
12876 (cd_count): Removed.
12877 (cd_drive): New variable.
12878 (grub_biosdisk_get_drive): Don't check for (cdN) device.
12879 (grub_biosdisk_call_hook): Likewise.
12880 (grub_biosdisk_iterate): Change cdrom detection method.
12881 (grub_biosdisk_open): Replace cd_start with cd_drive.
12882 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
12883 detect cdrom device.
12884
12885 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
12886 Removed.
12887 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
12888 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
12889 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
12890 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
12891 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
12892 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
12893 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
12894 (grub_biosdisk_cdrp): New structure.
12895 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
12896
12897 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
12898
12899 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
12900 device.
12901
12902 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
12903 New function.
12904
68e7fc7a 129052008-03-20 Robert Millan <rmh@aybabtu.com>
12906
12907 Remove 2 TiB limit in ata.mod.
12908 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
12909 (grub_ata_dumpinfo): Print sector count with 0x%llx.
12910 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
12911 grub_uint64_t instead of grub_uint32_t.
12912
38ad2cf5 129132008-03-05 Bean <bean123ch@gmail.com>
12914
12915 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
12916 (grub_multiboot): Set boot device.
12917
12918 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
12919
2b89344e 129202008-03-02 Bean <bean123ch@gmail.com>
12921
12922 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
12923 symlink_buffer.
12924
87a95d1f 129252008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
12926
12927 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
12928 texinfo.tex.
12929
12930 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
12931 modified.
12932
12933 * docs/fdl.texi: New file.
f19dbdb7 12934
87a95d1f 12935 * docs/mdate-sh: New file. Copied from gnulib.
12936 * docs/texinfo.tex: Likewise.
12937
12938 * config.guess: Updated from gnulib.
12939 * install-sh: Likewise.
12940
7dc15d8e 129412008-02-28 Robert Millan <rmh@aybabtu.com>
12942
12943 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
12944 (aout_mod_SOURCES): New variable.
12945 (aout_mod_CFLAGS): Likewise.
12946 (aout_mod_LDFLAGS): Likewise.
12947
12948 * conf/i386-ieee1275.rmk: Likewise.
12949
b00ab696 129502008-02-28 Robert Millan <rmh@aybabtu.com>
12951
12952 * util/update-grub.in: Reorganise terminal validity check. Accept
12953 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
12954 Based on suggestion by Franklin PIAT.
12955
79ca2d78 129562008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
12957
12958 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
12959 function.
12960 * util/getroot.c (grub_util_check_block_device): New function that
12961 returns the given argument if it is a block device and returns NULL else.
12962 * util/grub-probe.c (argument_is_device): New variable.
12963 (probe): Promote device_name from a variable to an argument. Receive
12964 device_name from grub_util_check_block_device() if path is NULL and from
12965 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 12966 (options): Introduce new parameter '-d, --device'.
79ca2d78 12967 (main): Add description of the new parameter to the help screen.
12968 Rename path variable to argument. Set argument_is_device if the '-d'
12969 option is given. Pass argument to probe() depending on
12970 argument_is_device.
12971
0d16e571 129722008-02-24 Bean <bean123ch@gmail.com>
12973
12974 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
12975 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
12976 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
12977 (GRUB_ISO9660_VOLDESC_PART): Likewise.
12978 (GRUB_ISO9660_VOLDESC_END): Likewise.
12979 (grub_iso9660_primary_voldesc): New member escape.
12980 (grub_iso9660_data): New member joliet.
12981 (grub_iso9660_convert_string): New function.
12982 (grub_iso9660_mount): Detect joliet extension.
12983 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
12984 (grub_iso9660_iso9660_label): Likewise.
12985
12986 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
12987 (grub_setup_SOURCES): Add fs/udf.c.
12988 (grub_fstest_SOURCES): Likewise.
12989 (udf_mod_SOURCES): New variable.
12990 (udf_mod_CFLAGS): Likewise.
12991 (udf_mod_LDFLAGS): Likewise.
12992
12993 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
12994 (grub_emu_SOURCES): Likewise.
12995
12996 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12997
12998 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12999
13000 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13001
13002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13003
13004 * fs/udf.c: New file.
13005
8a594a17 130062008-02-24 Robert Millan <rmh@aybabtu.com>
13007
13008 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
13009 (normal/lexer.c_DEPENDENCIES): New variables.
13010 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13011 (normal/lexer.c_DEPENDENCIES): Likewise.
13012 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
13013 (normal/lexer.c_DEPENDENCIES): Likewise.
13014 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
13015 (normal/lexer.c_DEPENDENCIES): Likewise.
13016 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13017 (normal/lexer.c_DEPENDENCIES): Likewise.
13018 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
13019 (normal/lexer.c_DEPENDENCIES): Likewise.
13020
2dc33c03 130212008-02-23 Robert Millan <rmh@aybabtu.com>
13022
13023 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
13024 since they were intended to be in hex. This didn't break previously
13025 because of a bug in gpt_partition_map_iterate() (see below).
13026
13027 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
13028 when checking the validity of GPT header.
13029 Remove `partno', since it always provides the same information as `i'.
13030
f6f4cfb0 130312008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
13032
13033 * include/grub/efi/time.h: Fix a wrong comment.
13034
79ff665f 130352008-02-19 Pavel Roskin <proski@gnu.org>
13036
13037 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
13038 message.
13039
d38e24c2 130402008-02-19 Bean <bean123ch@gmail.com>
13041
13042 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
13043 (aout_mod_SOURCES): New variable.
13044 (aout_mod_CFLAGS): Likewise.
13045 (aout_mod_LDFLAGS): Likewise.
13046 (_bsd_mod_SOURCES): New variable.
13047 (_bsd_mod_CFLAGS): Likewise.
13048 (_bsd_mod_LDFLAGS): Likewise.
13049 (bsd_mod_SOURCES): New variable.
13050 (bsd_mod_CFLAGS): Likewise.
13051 (bsd_mod_LDFLAGS): Likewise.
13052
13053 * include/grub/aout.h: New file.
13054
13055 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
13056
13057 * include/grub/i386/bsd.h: New file.
13058
13059 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
13060 to make it public.
13061
13062 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
13063 function is called, so that it's possible to change it inside the hook.
13064 (grub_elf64_load): Likewise.
13065 (grub_elf_file): Don't close the file if elf header is not found.
13066 (grub_elf_close): Close the file if grub_elf_file fails (The new
13067 grub_elf_file won't close it).
13068 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
13069 (grub_elf64_size): Likewise.
13070
13071 * kern/i386/loader.S (grub_unix_real_boot): New function.
13072
13073 * loader/aout.c: New file.
13074
13075 * loader/i386/bsd.c: New file.
13076
13077 * loader/i386/bsd_normal.c: New file.
13078
13079 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
13080
13081 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 13082 can test other formats.
d38e24c2 13083
b93bdb0f 130842008-02-19 Robert Millan <rmh@aybabtu.com>
13085
13086 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
13087 (grub_gpt_partition_type_empty): Redefine with macro from
13088 `<grub/gpt_partition.h>'.
13089 (gpt_partition_map_iterate): Adjust partition type comparison.
13090
13091 Export `entry' as partmap-specific `part.data' struct.
13092 (grub_gpt_header, grub_gpt_partentry): Move from here ...
13093
13094 * include/grub/gpt_partition.h (grub_gpt_header)
13095 (grub_gpt_partentry): ... to here (new file).
13096
13097 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
13098
13099 (grub_gpt_partition_type_bios_boot): New const variable, defined
13100 with macro from `<grub/gpt_partition.h>'.
13101
13102 (setup): Replace `first_start' with `embed_region', which keeps
13103 track of the embed region (and is partmap-agnostic).
13104
13105 Replace find_first_partition_start() with find_usable_region(),
13106 which finds a usable region for embedding using partmap-specific
13107 knowledge (supports PC/MSDOS and GPT).
13108
13109 Fix all assumptions that the embed region start at sector 1, using
13110 `embed_region.start' from now on. Similarly, use `embed_region.end'
13111 rather than `first_start' to calculate available size.
13112
13113 In grub_util_info() message, replace "into after the MBR" with an
13114 indication of the specific sector our embed region starts at.
13115
66cb40f6 131162008-02-19 Robert Millan <rmh@aybabtu.com>
13117
13118 * DISTLIST: Replace `commands/ieee1275/halt.c' and
13119 `commands/ieee1275/reboot.c' with `commands/halt.c' and
13120 `commands/reboot.c'.
13121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13122 (halt_mod_SOURCES): Likewise.
13123 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
13124 (halt_mod_SOURCES): Likewise.
13125
b7202015 131262008-02-17 Christian Franke <franke@computer.org>
13127
13128 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
13129
32b0fc49 131302008-02-17 Robert Millan <rmh@aybabtu.com>
13131
13132 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13133 set `first_start' to 0 for non-PC/MSDOS partition maps.
13134
aca63502 131352008-02-16 Robert Millan <rmh@aybabtu.com>
13136
13137 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
13138 do not assume partition map is PC/MSDOS before performing checks that
13139 are specific to that layout.
13140
0de8be86 131412008-02-13 Robert Millan <rmh@aybabtu.com>
13142
13143 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
13144 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
13145 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
13146
c3db8364 131472008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
13148
13149 * configure.ac: Only a cosmetic change on the handling of
13150 -fno-stack-protector.
13151
f714229e 131522008-02-12 Alexandre Boeglin <alex@boeglin.org>
13153
c3db8364 13154 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
13155 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
13156 reboot.c.
f714229e 13157 (grub_install_SOURCES): Add halt.mod and reboot.mod.
13158 (halt_mod_SOURCES): New variable.
13159 (halt_mod_CFLAGS): Likewise.
13160 (halt_mod_LDFLAGS): Likewise.
13161 (reboot_mod_SOURCES): Likewise.
13162 (reboot_mod_CFLAGS): Likewise.
13163 (reboot_mod_LDFLAGS): Likewise.
13164
c3db8364 13165 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
13166 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
13167 reboot.c.
f714229e 13168 (halt_mod_SOURCES): Likewise.
13169 (reboot_mod_SOURCES): Likewise.
13170
c3db8364 13171 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
13172 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 13173 (reboot_mod_SOURCES): Likewise.
13174
13175 * commands/i386/pc/reboot.c: merge this file ...
13176
13177 * commands/ieee1275/reboot.c: ... and this file ...
13178
13179 * commands/reboot.c: ... to this file.
c3db8364 13180 Add some precompiler directive to include the correct header for
13181 each machine.
f714229e 13182
13183 * commands/ieee1275/halt.c: move this file ...
13184
13185 * commands/halt.c: ... to here.
c3db8364 13186 Add some precompiler directive to include the correct header for
13187 each machine.
f714229e 13188
13189 * include/grub/efi/efi.h (grub_reboot): New function declaration.
13190 (grub_halt): Likewise.
13191
13192 * kern/efi/efi.c (grub_reboot): New function.
13193 (grub_halt): Likewise.
13194
c74493e0 131952008-02-12 Robert Millan <rmh@aybabtu.com>
13196
13197 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
13198 /dev (like it is done for /dev/mapper). This doesn't provide support
13199 for EVMS, but at least it is now easy to identify the problem when it
13200 arises.
13201
d0db4b04 132022008-02-11 Robert Millan <rmh@aybabtu.com>
13203
13204 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
13205 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
13206 comparing it with -1, not 0.
13207
bf748642 132082008-02-10 Robert Millan <rmh@aybabtu.com>
13209
13210 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
13211 `disk/lvm.c'.
13212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13213 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13214
13215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
13216 `disk/lvm.c' to the end of the list.
13217 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13218 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13219
b5db202a 132202008-02-10 Robert Millan <rmh@aybabtu.com>
13221
13222 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
13223 grub_print_error() instead. This will let user know why we're entering
13224 rescue mode.
13225 Based on suggestions from Sam Morris.
13226
83abee31 132272008-02-10 Alexandre Boeglin <alex@boeglin.org>
13228
13229 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
13230 on remaining N args, instead of "--" arg N times.
13231
78d5a08b 132322008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
13233
13234 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
13235 (fill_with_default_glyph): Changed to use unknown_glyph for fill
13236 pattern for unknown glyphs.
13237
68807e5f 132382008-02-09 Robert Millan <rmh@aybabtu.com>
13239
13240 * configure.ac: Probe for `help2man'.
13241 * Makefile.in (builddir): New variable.
13242 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
13243 or otherwise add a few flags/options to it.
13244 (install-local): For every executable utility or script that is
13245 installed, invoke $(HELP2MAN) to install a manpage based on --help
13246 output.
13247
13248 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
13249 that it doesn't prevent --help from working in build tree.
13250
13251 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
13252 with `bug-grub@gnu.org'.
13253 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
13254 * util/update-grub.in (usage): New function.
13255 Implement proper argument check, with support for --help and --version
13256 (as well as existing -y).
13257
132582008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 13259
13260 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
13261 avoid overwriting previous output.
13262 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
13263
c1962162 132642008-02-09 Robert Millan <rmh@aybabtu.com>
13265
13266 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
13267 drawing the menu.
13268
3dac2e3f 132692008-02-09 Robert Millan <rmh@aybabtu.com>
13270
13271 * commands/sleep.c: New file.
13272 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
13273 (sleep_mod_SOURCES): New variable.
13274 (sleep_mod_CFLAGS): Likewise.
13275 (sleep_mod_LDFLAGS): Likewise.
13276
7a634e08 132772008-02-09 Robert Millan <rmh@aybabtu.com>
13278
13279 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
13280 situations in which we can deduce the RAID size and the superblock
13281 doesn't match it.
13282
b92f0c18 132832008-02-09 Robert Millan <rmh@aybabtu.com>
13284
13285 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
13286 and return a grub_diskmemberlist_t composed of LVM physical volumes.
13287 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
13288
13289 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
13290 and return a grub_diskmemberlist_t composed of physical array members.
13291 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
13292
13293 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
13294 prototype.
13295 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
13296 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
13297 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
13298
13299 * util/grub-probe.c (probe): Move partmap probing code from here ...
13300 (probe_partmap): ... to here.
13301 (probe): Use probe_partmap() once for the disk we're probing, and
13302 additionally, when such disk contains a memberlist() struct member,
13303 once for each disk that is contained in the structure returned by
13304 memberlist().
13305
91a4bf68 133062008-02-09 Robert Millan <rmh@aybabtu.com>
13307
13308 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
13309 environment variable to 'all' in order to obtain debug output from
13310 non-util/ code.
13311 * util/i386/pc/grub-setup.c (main): Likewise.
13312
a96f9caa 133132008-02-08 Robert Millan <rmh@aybabtu.com>
13314
13315 * disk/raid.c (grub_raid_scan_device): Check for
13316 `array->device[sb.this_disk.number]' rather than for
13317 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 13318 guaranteed to be accessible.
a96f9caa 13319
b37a9222 133202008-02-08 Robert Millan <rmh@aybabtu.com>
13321
13322 * disk/raid.c: Update copyright.
13323 * fs/cpio.c: Likewise.
13324 * include/grub/raid.h: Likewise.
13325 * loader/i386/pc/multiboot.c: Likewise.
13326 * util/hostfs.c: Likewise.
13327
5626aee1 133282008-02-08 Robert Millan <rmh@aybabtu.com>
13329
13330 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
13331 to a grub_disk_t array.
13332 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
13333 `device[x]'.
13334 (grub_raid_scan_device): Replace `device[x].name' accesses with
13335 `device[x]->name'. Simplify initialization of `array->device[x]'.
13336
554f0187 133372008-02-08 Robert Millan <rmh@aybabtu.com>
13338
13339 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
13340 grub_dprintf() calls.
13341 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
13342 error message.
13343
1ec8425d 133442008-02-07 Christian Franke <franke@computer.org>
13345
13346 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
13347 instead of fseek and ftell to support large files.
13348 (grub_hostfs_read): Likewise.
13349
f2156fda 133502008-02-07 Robert Millan <rmh@aybabtu.com>
13351
13352 Patch from Jeroen Dekkers.
13353 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 13354 failure, since successfully reading all array members might not be
f2156fda 13355 required.
13356
9216e0e7 133572008-02-06 Robert Millan <rmh@aybabtu.com>
13358
13359 * util/grub-probe.c (probe): Simplify partmap probing (with the
13360 assumption that the first word up to the underscore equals to
13361 the module name).
13362
b0dfd29a 133632008-02-06 Christian Franke <franke@computer.org>
13364
13365 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13366 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13367 last block of a cpio or tar stream.
13368 Check for "TRAILER!!!" instead of any empty data
13369 block to detect last block of a cpio stream.
13370 (grub_cpio_dir): Fix constness of variable np.
13371 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13372 cpio or tar trailer is detected. This fixes a crash
13373 on open of a non existing file.
13374
c32865bf 133752008-02-05 Bean <bean123ch@gmail.com>
13376
13377 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13378 address of entry.
13379 (grub_multiboot_load_elf64): Likewise.
13380 (grub_multiboot): Initialize mbi structure.
13381
13382 * util/grub-fstest.c: Don't include unused header file script.h.
13383
fe6b695a 13384 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13385 of file.
13386 (grub_fstest_SOURCES): Likewise.
13387
409480b7 133882008-02-05 Robert Millan <rmh@aybabtu.com>
13389
13390 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13391 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13392 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13393 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13394
13395 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13396 (translation_table): Replace hardcoded values with macros
13397 provided by `<grub/term.h>'.
13398
13399 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13400 (keyboard_map): Correct/add a few values, with macros provided
13401 by `<grub/term.h>'.
13402 (keyboard_map_shift): Zero values that don't differ from their
13403 `keyboard_map' equivalents.
13404 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13405 Discard the second scan code that is always sent by Caps lock.
13406 Only use `keyboard_map_shift' when it provides a non-zero value,
13407 otherwise fallback to `keyboard_map'.
13408
99fadbaa 134092008-02-04 Bean <bean123ch@gmail.com>
13410
13411 * Makefile.in (enable_grub_fstest): New variable.
13412
13413 * conf/common.rmk (grub_fstest_init.lst): New rule.
13414 (grub_fstest_init.h): Likewise.
13415 (grub_fstest_init.c): Likewise.
13416 (util/grub-fstest.c_DEPENDENCIES): New variable.
13417 (grub_fstest_SOURCES): Likewise.
13418
13419 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13420
13421 * util/grub-fstest.c: New file.
13422
bf567c50 134232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13424
13425 Make grub-setup handle a separate root device.
f19dbdb7 13426
bf567c50 13427 * util/i386/pc/grub-setup.c (setup): Always open the root device,
13428 so that the root device can be compared with the destination
13429 device.
13430 When embedding the core image, if the root and destination devices
13431 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
13432 0xFF.
13433 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 13434
9be6b98b 134352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13436
13437 Add support for having a grub directory in a different drive. This
13438 is still only the data handling part.
f19dbdb7 13439
9be6b98b 13440 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
13441 (codestart): Save %dh in GRUB_ROOT_DRIVE.
13442 (grub_root_drive): New variable.
13443
13444 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
13445 instead of GRUB_BOOT_DRIVE to construct a device name. Set
13446 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
13447 as it was.
13448
13449 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
13450
13451 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
13452 macro.
13453 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
13454
13455 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
13456 is bogus, because PXE booting does not specify any drive
13457 correctly.
13458
13459 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
13460 am not sure if this is really correct.
13461
13462 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
13463 is always identical to the boot drive when booting from a CD.
13464
13465 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
13466 longer.
13467 (root_drive): New variable.
13468 (real_start): Unconditionally set %dh to ROOT_DRIVE.
13469 (setup_sectors): Push %dx right after popping it, because %dh will
13470 be modified later.
13471 (copy_buffer): Restore %dx.
13472
e0ca0677 134732008-02-03 Robert Millan <rmh@aybabtu.com>
13474
13475 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
13476 use `cdboot.img' for cdrom images.
13477
3b3f6629 134782008-02-03 Robert Millan <rmh@aybabtu.com>
13479
13480 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
13481 only setup gfxterm when `font' command has succeeded.
13482
d42b3672 134832008-02-03 Robert Millan <rmh@aybabtu.com>
13484
13485 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
13486 (grub_rescue_cmd_multiboot_loader)
13487 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
13488
fa370ea6 134892008-02-03 Pavel Roskin <proski@gnu.org>
13490
e0c5dacb 13491 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 13492 %edx and %esi from stack only after grub_gate_a20() is called.
13493 grub_gate_a20() clobbers %edx.
13494
f2a76e1d 134952008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13496
13497 * configure.ac (AC_INIT): Bumped to 1.96.
13498
13499 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
13500 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
13501 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
13502 video/readers/png.c.
13503
90fd32d1 135042008-02-03 Bean <bean123ch@gmail.com>
9be665dd 13505
13506 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
13507 (cdboot_img_SOURCES): New variable.
13508 (cdboot_img_ASFLAGS): New variable.
13509 (cdboot_img_LDFLAGS): New variable.
13510
13511 * boot/i386/pc/cdboot.S: New file.
13512
13513 * disk/i386/pc/biosdisk.c (cd_start): New variable.
13514 (cd_count): Likewise.
13515 (grub_biosdisk_get_drive): Add support for cd device.
13516 (grub_biosdisk_call_hook): Likewise.
13517 (grub_biosdisk_iterate): Likewise.
13518 (grub_biosdisk_open): Likewise.
13519 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
13520 (grub_biosdisk_rw): Support reading from cd device.
13521 (GRUB_MOD_INIT): Iterate cd devices.
13522
13523 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
13524 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
13525 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
13526
13527 * kern/i386/pc/init.c (make_install_device): Check for cd device.
13528
4020aa53 135292008-02-02 Robert Millan <rmh@aybabtu.com>
13530
13531 * commands/read.c: New file.
13532 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
13533 (read_mod_SOURCES): New variable.
13534 (read_mod_CFLAGS): Likewise.
13535 (read_mod_LDFLAGS): Likewise.
13536
e03a1132 135372008-02-02 Robert Millan <rmh@aybabtu.com>
13538
13539 * normal/main.c (grub_normal_execute): Check for `menu->size' when
13540 determining whether menu has to be displayed.
13541
58c69220 135422008-02-02 Marco Gerards <marco@gnu.org>
13543
13544 * bus/pci.c: New file.
13545
13546 * include/grub/pci.h: Likewise.
13547
13548 * include/grub/i386/pc/pci.h: Likewise.
13549
13550 * commands/lspci.c: Likewise.
13551
13552 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
13553 `lspci.mod'.
13554 (pci_mod_SOURCES): New variable.
13555 (pci_mod_CFLAGS): Likewise.
13556 (pci_mod_LDFLAGS): Likewise.
13557 (lspci_mod_SOURCES): Likewise.
13558 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 13559 (lspci_mod_LDFLAGS): Likewise.
58c69220 13560
c004e1b4 135612008-02-02 Bean <bean123ch@gmail.com>
13562
13563 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
13564 (grub_ufs_get_file_block): Fix indirect block calculation problem.
13565
13566 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
13567 (grub_xfs_btree_node): New structure.
13568 (grub_xfs_btree_root): New structure.
13569 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
13570 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
13571 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13572 (GRUB_XFS_EXTENT_SIZE): Likewise.
13573 (grub_xfs_read_block): Support btree format type.
13574 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
13575 Use directory block as basic unit.
13576
13577 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
13578
13579 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
13580 __attribute__ ((__regparm__ (1))).
13581
f95562bf 135822008-02-01 Robert Millan <rmh@aybabtu.com>
13583
13584 Correct a mistake in previous commit.
13585
13586 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
13587 top.
13588 (normal/command.c_DEPENDENCIES): New variable.
13589
7d31f41f 135902008-02-01 Robert Millan <rmh@aybabtu.com>
13591
13592 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
13593 top.
13594 (normal/command.c_DEPENDENCIES): New variable.
13595 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
13596 * conf/i386-ieee1275.rmk: Likewise.
13597 * conf/i386-linuxbios.rmk: Likewise.
13598 * conf/i386-pc.rmk: Likewise.
13599 * conf/sparc64-ieee1275.rmk: Likewise.
13600 * conf/powerpc-ieee1275.rmk: Likewise.
13601 (grub_emu_SOURCES): Add `fs/fshelp.c'.
13602
13603 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
13604
60b6be74 136052008-02-01 Robert Millan <rmh@aybabtu.com>
13606
13607 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
13608 call at beginning of function.
13609
078522ab 136102008-01-31 Pavel Roskin <proski@gnu.org>
13611
13612 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 13613 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
13614 (grub_mkrescue_SOURCES): Likewise.
078522ab 13615 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
13616
ccaa8a5f 136172008-01-30 Robert Millan <rmh@aybabtu.com>
13618
13619 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
13620 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
13621 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
13622 (grub_probe_SOURCES): ... to here.
13623
13624 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
13625 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
13626 * conf/i386-ieee1275.rmk: Likewise.
13627 * conf/i386-linuxbios.rmk: Likewise.
13628 * conf/powerpc-ieee1275.rmk: Likewise.
13629
ae5a9cd7 136302008-01-30 Tristan Gingold <gingold@free.fr>
13631
13632 * kern/rescue.c: Silently accept empty lines.
13633
70bc2ef2 136342008-01-29 Bean <bean123ch@gmail.com>
13635
13636 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
13637 (real_code_2): Code cleanup and change comment style.
13638 (move_memory): Avoid using 32-bit address mode.
13639
6a4d50ea 136402008-01-29 Bean <bean123ch@gmail.com>
13641
13642 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
13643 (png_mod_SOURCES): New variable.
13644 (png_mod_CFLAGS): Likewise.
13645 (png_mod_LDFLAGS): Likewise.
13646
13647 * video/readers/png.c: New file.
13648
11cc30ac 136492008-01-28 Robert Millan <rmh@aybabtu.com>
13650
13651 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
13652 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
13653 `ifndef GRUB_MOD_GAP' hack.
13654 * util/elf/grub-mkimage.c (add_segments): Likewise.
13655
3abc589f 136562008-01-27 Robert Millan <rmh@aybabtu.com>
13657
13658 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
13659 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 13660 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 13661
e1907778 136622008-01-27 Robert Millan <rmh@aybabtu.com>
13663
13664 Get grub-emu to build again (including parallel builds).
13665
13666 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
13667 Split into ...
13668 (util/grub-emu.c_DEPENDENCIES): ... this, ...
13669 (normal/execute.c_DEPENDENCIES): ... this, ...
13670 (grub-emu_DEPENDENCIES): ... and this.
13671
13672 * conf/i386-efi.rmk: Likewise.
13673 * conf/i386-linuxbios.rmk: Likewise.
13674 * conf/i386-ieee1275.rmk: Likewise.
13675 * conf/powerpc-ieee1275.rmk: Likewise.
13676 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
13677
2216b101 136782008-01-27 Robert Millan <rmh@aybabtu.com>
13679
13680 * NEWS: Add a few items.
13681
f75172d9 136822008-01-27 Robert Millan <rmh@aybabtu.com>
13683
13684 Fix parallel builds with grub-emu. Based on earlier commit for
13685 grub-probe and grub-setup.
13686
13687 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13688 (util/grub-emu.c_DEPENDENCIES): ... this.
13689 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13690 (util/grub-emu.c_DEPENDENCIES): ... this.
13691 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13692 (util/grub-emu.c_DEPENDENCIES): ... this.
13693 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13694 (util/grub-emu.c_DEPENDENCIES): ... this.
13695 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13696 (util/grub-emu.c_DEPENDENCIES): ... this.
13697
3f51de77 136982008-01-27 Pavel Roskin <proski@gnu.org>
13699
13700 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
13701 to create a gap between _end and the modules added to the image
13702 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
13703 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
13704 * util/elf/grub-mkimage.c (add_segments): Likewise.
13705
2033f53e 137062008-01-26 Pavel Roskin <proski@gnu.org>
13707
13708 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
13709 just return an error.
13710
22da1f6f 137112008-01-26 Bean <bean123ch@gmail.com>
13712
13713 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
13714 (grub_reiserfs_get_item): Save offset of the next item.
13715 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
13716
2a9525e6 137172008-01-25 Robert Millan <rmh@aybabtu.com>
13718
13719 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
13720 make all filesystem sources appear together (possibly fixing omissions
13721 while at it).
13722 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13724 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13726
13727 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
13728 add `kern/file.c'.
13729 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
13730 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13731 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
13732 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13733
13734 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
13735 (probe): Add a sanity check to make sure of our ability to read
13736 requested files when probing for filesystem type.
13737
13738 * genmk.rb: Update copyright year (2007).
13739
13740 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
13741 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
13742 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
13743 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
13744 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
13745 : Remove function prototypes.
13746
b95f71b5 137472008-01-25 Robert Millan <rmh@aybabtu.com>
13748
13749 Revert my previous commits (based on wrong assumption of how grub_errno
13750 works).
13751
fe6b695a 13752 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 13753 * kern/file.c (grub_file_open): Likewise.
13754
d08bbb49 137552008-01-24 Pavel Roskin <proski@gnu.org>
13756
13757 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
13758 that hang if GRUB tries to setup colors.
13759 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
13760 colors for firmwares that don't support it.
13761 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
13762 Recognize Open Hack'Ware, set flags to work around its
13763 limitations.
13764
605e36ed 137652008-01-24 Robert Millan <rmh@aybabtu.com>
13766
13767 * kern/file.c (grub_file_open): Do not account previous failures of
13768 unrelated functions when grub_errno is checked for.
13769 Reported by Oleg Strikov.
13770
bac332a1 137712008-01-24 Bean <bean123ch@gmail.com>
13772
13773 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
13774 (grub_ufs_sblock): New member volume name.
13775 (grub_ufs_find_file): Fix string copy bug.
13776 (grub_ufs_label): Implement this function properly.
13777
13778 * fs/hfs.c (grub_hfs_cnid_type): New enum.
13779 (grub_hfs_iterate_records): Use the correct file number for extents
13780 and catalog file. Fix problem in next index calculation.
13781 (grub_hfs_find_node): Replace recursive function call with loop.
13782 (grub_hfs_iterate_dir): Replace recursive function call with loop.
13783
15c80c09 137842008-01-23 Robert Millan <rmh@aybabtu.com>
13785
13786 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
13787 `<grub/symbol.h>' and `<grub/multiboot.h>'.
13788 (grub_multiboot2_real_boot): New function prototype.
13789
13790 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
13791 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
13792
13793 * kern/i386/ieee1275/init.c (grub_os_area_addr)
13794 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
13795
305338fd 137962008-01-23 Robert Millan <rmh@aybabtu.com>
13797
13798 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
13799 #ifdef'ed out grub_printf().
13800
3ea52685 138012008-01-23 Robert Millan <rmh@aybabtu.com>
13802
13803 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
13804 grub_dprintf calls, since they make "debug=all" mode unusable.
13805 (grub_console_checkkey): Likewise.
13806
5882ae4b 138072008-01-23 Robert Millan <rmh@aybabtu.com>
13808
13809 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13810 `term/i386/pc/at_keyboard.c'.
13811 (pkglib_MODULES): Add `serial.mod'.
13812 (serial_mod_SOURCES): New variable.
13813 (serial_mod_CFLAGS): Likewise.
13814 (serial_mod_LDFLAGS): Likewise.
13815
13816 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
13817 `<grub/powerpc/ieee1275/console.h>'.
13818 (grub_keyboard_controller_init): New function prototype.
13819 (grub_console_checkkey): Likewise.
13820 (grub_console_getkey): Likewise.
13821
13822 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
13823 keyboard on i386.
13824
13825 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
13826 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
13827
06ab5303 138282008-01-23 Robert Millan <rmh@aybabtu.com>
13829
13830 * kern/i386/pc/init.c (make_install_device): When memdisk image is
13831 present, "(memdisk)/boot/grub" becomes the default prefix.
13832
13833 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
13834 a memdisk tarball with all the modules. Add --overlay=DIR option that
13835 allows users to overlay additional files into the image.
13836
dbb475a4 138372008-01-23 Robert Millan <rmh@aybabtu.com>
13838
13839 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
13840 and `machine/memory.h'.
13841 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
13842 (_multiboot_mod_SOURCES): New variable.
13843 (_multiboot_mod_CFLAGS): Likewise.
13844 (_multiboot_mod_LDFLAGS): Likewise.
13845 (multiboot_mod_SOURCES): Likewise.
13846 (multiboot_mod_CFLAGS): Likewise.
13847 (multiboot_mod_LDFLAGS): Likewise.
13848
13849 * include/grub/i386/ieee1275/loader.h: New file.
13850
13851 * include/grub/i386/ieee1275/machine.h: Likewise.
13852
13853 * include/grub/i386/ieee1275/memory.h: Likewise.
13854
13855 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
13856 variable declaration.
13857 (grub_os_area_size): Likewise.
13858
13859 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
13860 (grub_lower_mem, grub_upper_mem): New variables.
13861 (grub_stop_floppy): New function (just to make
13862 grub_multiboot2_real_boot() happy).
13863
13864 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
13865 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
13866 (grub_stop): New function.
13867 Include `"../realmode.S"' and `"../loader.S"'.
13868
13869 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
13870 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
13871
13872 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
13873 rely on grub_multiboot2_real_boot() for final boot.
13874
25638629 138752008-01-22 Robert Millan <rmh@aybabtu.com>
13876
13877 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
13878 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
13879 device that doesn't look like an SD card.
13880 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13881 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
13882 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
13883 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
13884 found.
13885
9dad816d 138862008-01-22 Robert Millan <rmh@aybabtu.com>
13887
13888 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
13889 avoid claiming over our own code.
13890
34842f2d 138912008-01-22 Bean <bean123ch@gmail.com>
13892
13893 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
13894 (jpeg_mod_SOURCES): New variable.
13895 (jpeg_mod_CFLAGS): Likewise.
13896 (jpeg_mod_LDFLAGS): Likewise.
13897
13898 * video/readers/jpeg.c : New file.
13899
44023a28 139002008-01-22 Bean <bean123ch@gmail.com>
13901
13902 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
13903 there are no more items.
13904
bc2d8ac6 139052008-01-21 Robert Millan <rmh@aybabtu.com>
13906
13907 * kern/mm.c (grub_mm_init_region): Improve debug message.
13908
261bd4bc 139092008-01-21 Robert Millan <rmh@aybabtu.com>
13910
13911 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
13912 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
13913 address.
13914 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
13915 a C macro.
13916 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
13917 Indicates start of upper memory.
13918 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
13919 (generate_image): Abort when image size is big enough to corrupt
13920 upper memory.
13921
13922 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
13923 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
13924 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13925 instead of hardcoding 0xA0000.
13926 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
13927 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13928 instead of hardcoding 0xA0000.
13929
f970b55e 139302008-01-21 Robert Millan <rmh@aybabtu.com>
13931
13932 * disk/memdisk.c (memdisk_size): New variable.
13933 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
13934 `memdisk_size'.
13935 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
13936 image to dynamic memory.
13937 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
13938 `memdisk_size'. Free memdisk block.
13939
1a8b0526 139402008-01-21 Robert Millan <rmh@aybabtu.com>
13941
13942 Fix detection of very small filesystems (like tar).
13943
13944 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
13945 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
13946 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
13947 a problem with this disk).
13948
6e9b4aab 139492008-01-21 Robert Millan <rmh@aybabtu.com>
13950
13951 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
13952 on grub_biosdisk_rw_standard() error.
13953
0d8837b2 139542008-01-21 Robert Millan <rmh@aybabtu.com>
13955
13956 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
13957 recent changes.
13958 * kern/elf.c: Likewise.
13959 * kern/ieee1275/ieee1275.c: Likewise.
13960 * kern/powerpc/ieee1275/openfw.c: Likewise.
13961 * term/ieee1275/ofconsole.c: Likewise.
13962
ffd36e34 139632008-01-21 Robert Millan <rmh@aybabtu.com>
13964
13965 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
13966
3f0093d0 13967 * include/grub/kernel.h (grub_arch_memdisk_addr)
13968 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 13969
3f0093d0 13970 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
13971 (grub_arch_memdisk_size): ... to here.
ffd36e34 13972
6c391b21 139732008-01-21 Robert Millan <rmh@aybabtu.com>
13974
13975 Mostly based on bugfix from Bean.
13976
13977 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
13978 attribute with hook() parameter.
13979 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
13980 declaration.
13981 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
13982 attribute with hook() parameter.
13983 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
13984 declaration.
13985
55a581dc 139862008-01-21 Robert Millan <rmh@aybabtu.com>
13987
13988 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
13989 (pkglib_MODULES): Add `memdisk.mod'.
13990 (memdisk_mod_SOURCES): New variable.
13991 (memdisk_mod_CFLAGS): Likewise.
13992 (memdisk_mod_LDFLAGS): Likewise.
13993
13994 * disk/memdisk.c: New file.
13995
13996 * include/grub/disk.h (grub_disk_dev_id): Add
13997 `GRUB_DISK_DEVICE_MEMDISK_ID'.
13998
13999 * include/grub/i386/pc/kernel.h
14000 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
14001 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
14002 (grub_kernel_image_size): New variable declaration.
14003 (grub_total_module_size): Likewise.
14004 (grub_memdisk_image_size): Likewise.
14005
14006 * include/grub/i386/pc/memory.h
14007 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
14008
14009 * include/grub/kernel.h: Include `<grub/symbol.h>'.
14010 (grub_arch_memdisk_addr): New variable declaration.
14011 (grub_arch_memdisk_size): Likewise.
14012
14013 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
14014 (grub_arch_memdisk_size): Likewise.
14015
14016 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
14017 (codestart): Replace hardcoded `0x100000' with
14018 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
14019
14020 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
14021 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
14022 not NULL, append the contents of the file it refers to, at the end of
14023 the compressed kernel image. Initialize `grub_memdisk_image_size'
14024 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
14025 (options): Add "memdisk"|'m' option.
14026 (main): Parse --memdisk|-m option, and pass user-provided path as
14027 parameter to generate_image().
14028
3d7f54c9 140292008-01-20 Robert Millan <rmh@aybabtu.com>
14030
14031 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
14032 grub_dprintf() calls from here ...
14033 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
14034
0bf74728 140352008-01-20 Robert Millan <rmh@aybabtu.com>
14036
14037 Fix detection of "real mode" when /options/real-mode? doesn't exist.
14038
14039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
14040 declaration.
14041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
14042 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
14043 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 14044 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 14045 property).
14046 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
14047 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
14048
33bf70a7 140492008-01-19 Robert Millan <rmh@aybabtu.com>
14050
fe6b695a 14051 Get rid of confusing function (superseded by
33bf70a7 14052 `grub_ieee1275_get_integer_property')
14053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
14054 prototype.
14055 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
14056 function.
14057 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
14058 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 14059 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 14060
e2da7d26 140612008-01-19 Robert Millan <rmh@aybabtu.com>
14062
14063 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
14064 command after "shut-down", since implementations differ on which
14065 the command for halt is.
14066
59f1fd8d 140672008-01-19 Robert Millan <rmh@aybabtu.com>
14068
14069 * include/grub/i386/linuxbios/console.h: Add header protection.
14070 (grub_keyboard_controller_init): New function prototype.
14071 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
14072 (KEYBOARD_COMMAND_READ): Likewise.
14073 (KEYBOARD_COMMAND_WRITE): Likewise.
14074 (KEYBOARD_SCANCODE_SET1): Likewise.
14075 (grub_keyboard_controller_write): New function.
14076 (grub_keyboard_controller_read): Likewise.
14077 (grub_keyboard_controller_init): Likewise.
14078
14079 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
14080 (grub_console_init): On coreboot/LinuxBIOS, call
14081 grub_keyboard_controller_init().
14082
5f5a7c15 140832008-01-19 Robert Millan <rmh@aybabtu.com>
14084
14085 PowerPC changes provided by Pavel Roskin.
14086
14087 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
14088 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
14089 don't rely on cmain() doing it.
14090 * kern/i386/ieee1275/startup.S (_start): Store %eax in
14091 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
14092
1210e168 140932008-01-16 Robert Millan <rmh@aybabtu.com>
14094
14095 * include/grub/i386/linuxbios/memory.h
14096 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
14097 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
14098 receive `table_header' as argument. Instead, probe for it in the
14099 known memory ranges where it can be present.
14100 (grub_available_iterate): Do not pass a fixed `table_header' address
14101 to grub_linuxbios_table_iterate().
14102
3d04eab8 141032008-01-15 Robert Millan <rmh@aybabtu.com>
14104
14105 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
14106 * conf/i386-ieee1275.rmk: New file.
14107 * include/grub/i386/ieee1275/console.h: Likewise.
14108 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
14109 * include/grub/i386/ieee1275/kernel.h: Likewise.
14110 * include/grub/i386/ieee1275/time.h: Likewise.
14111 * kern/i386/ieee1275/init.c: Likewise.
14112 * kern/i386/ieee1275/startup.S: Likewise.
14113
d1bc1b73 141142008-01-15 Robert Millan <rmh@aybabtu.com>
14115
14116 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
14117 when pointers are 32-bit (but still do set it to one when they are
14118 64-bit).
14119
66a65807 141202008-01-15 Robert Millan <rmh@aybabtu.com>
14121
14122 * include/grub/ieee1275/ieee1275.h
14123 (grub_ieee1275_get_integer_property): New function prototype.
14124
14125 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
14126 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 14127 grub_ieee1275_get_property() to handle endianness.
66a65807 14128
14129 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
14130 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 14131 where appropriate.
66a65807 14132 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
14133 (grub_map): Likewise.
14134 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
14135
a83ccafd 141362008-01-15 Bean <bean123ch@gmail.com>
14137
14138 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
14139 (grub_script_execute_cmdline): Reset grub_errno.
14140
14141 * normal/main.c (read_config_file): Reset grub_errno.
14142
14143 * normal/parse.y (script_init): New.
14144 (script): Move function and menuentry here.
14145 (delimiter): New.
14146 (command): Add delimiter at the end of command.
14147 (commands): Adjust to match the new command.
14148 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 14149 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 14150 (if): Use the new commands.
14151
14152 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
14153
df6ecfc6 141542008-01-15 Robert Millan <rmh@aybabtu.com>
14155
14156 * normal/menu.c (run_menu): Move timeout message from here ...
14157 (print_timeout): ... to here.
14158 (run_menu): Use print_timeout() once during initial draw to print
14159 the whole message, and again in every clock tick to update only
14160 the number of seconds.
14161
87ae25eb 141622008-01-15 Robert Millan <rmh@aybabtu.com>
14163
14164 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
14165 actual size of `available' from grub_ieee1275_get_property(), and
14166 restrict parsing to that bound.
14167
47bf09a4 141682008-01-15 Christian Franke <franke@computer.org>
14169
14170 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
14171 (argp_program_version): Remove variable.
14172 (argp_program_bug_address): Likewise.
14173 (options): Convert from struct argp_option to struct option.
14174 (struct arguments): Remove.
14175 (parse_opt): Remove.
14176 (usage): New function.
14177 (main): Replace struct args members by simple variables.
14178 Replace argp_parse() by getopt_long().
14179 Add switch to evaluate options.
14180 Add missing "(...)" around root_dev in prefix string.
14181
c86f1469 141822008-01-14 Robert Millan <rmh@aybabtu.com>
14183
14184 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
14185 for grub_ieee1275_exit(), in order to improve portability.
14186
e622c559 141872008-01-14 Robert Millan <rmh@aybabtu.com>
14188
14189 * util/grub.d/10_linux.in (prefix): Define.
14190 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
14191
44cb1ec8 141922008-01-13 Pavel Roskin <proski@gnu.org>
14193
14194 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
14195 grub_errno if no errors have been detected.
14196
1eb8c802 141972008-01-12 Robert Millan <rmh@aybabtu.com>
14198
14199 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
14200 (grub_util_get_dev_abstraction): New function prototype.
14201
14202 * util/getroot.c: Include `<grub/util/getroot.h>'
14203 (grub_util_get_grub_dev): Move detection of abstraction type to ...
14204 (grub_util_get_dev_abstraction): ... here (new function).
14205
14206 * util/grub-probe.c: Convert PRINT_* to an enum. Add
14207 `PRINT_ABSTRACTION'.
14208 (probe): Probe for abstraction type when requested.
14209 (main): Understand `--target=abstraction'.
14210
14211 * util/i386/efi/grub-install.in: Add abstraction module to core
14212 image when it is found to be necessary.
14213 * util/i386/pc/grub-install.in: Likewise.
14214 * util/powerpc/ieee1275/grub-install.in: Likewise.
14215
14216 * util/update-grub_lib.in (font_path): Return system path without
14217 converting to GRUB path.
14218 * util/update-grub.in: Convert system path returned by font_path()
14219 to a GRUB path. Use `grub-probe -t abstraction' to determine what
14220 abstraction module is needed for loading fonts (if any). Export
14221 that as `GRUB_PRELOAD_MODULES'.
14222 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
14223 insmod commands).
14224
52bd3de9 142252008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
14226
14227 Remove some unused code from reiserfs.
f19dbdb7 14228
52bd3de9 14229 * fs/reiserfs.c (struct grub_reiserfs_key)
14230 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
14231 (struct grub_reiserfs_node_body): Removed.
14232 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14233 Likewise.
14234 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14235 Likewise.
14236 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14237 Likewise.
14238 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14239 Likewise.
14240 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14241 Likewise.
14242 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
14243 Likewise.
14244 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14245 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14246 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14247
2f80039d 142482008-01-10 Robert Millan <rmh@aybabtu.com>
14249
14250 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
14251 Determines if a file is garbage left by packaging systems, etc.
14252 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
14253 for processing /etc/grub.d scripts.
14254 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
14255 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
14256 as a condition for processing Linux images.
14257
87888032 142582008-01-10 Pavel Roskin <proski@gnu.org>
14259
14260 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
14261 to compile reiserfs.c on PowerPC.
14262
7e54fced 142632008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 14264
14265 * kern/device.c (grub_device_iterate): Do not abort device iteration
14266 when one of the devices cannot be opened.
14267 * kern/disk.c (grub_disk_open): Do not account previous failures of
14268 unrelated functions when grub_errno is checked for.
14269
5aa541e6 142702008-01-08 Robert Millan <rmh@aybabtu.com>
14271
14272 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
14273 `! grub_linux_is_bzimage', change order of address comparison to make
14274 it more intuitive, and improve "too big zImage" error message.
14275
7076340d 142762008-01-08 Robert Millan <rmh@aybabtu.com>
14277
14278 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
14279 `$(update-grub_DATA)'.
14280 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
14281 targets.
14282
9ca70333 142832008-01-07 Robert Millan <rmh@aybabtu.com>
14284
14285 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
14286 which instruction is modified by grub-setup during installation
14287 (since it wasn't obvious by only looking at this file).
14288
38ccf575 142892008-01-07 Robert Millan <rmh@aybabtu.com>
14290
14291 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
14292 listing actual TODO items.
14293
f5db4291 142942008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14295
868967cf 14296 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
14297 correctly.
14298 (grub_reiserfs_get_key_offset): Likewise.
14299 (grub_reiserfs_set_key_offset): Likewise.
14300 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 14301 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 14302
14303 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
14304 better to remove the bitfield version completely.
f19dbdb7 14305
868967cf 143062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14307
f5db4291 14308 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
14309 allocated from the heap, due to the fshelp implementation.
14310 (grub_reiserfs_dir): Free NODE, due to the same reason.
14311
492e6d9d 143122008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14313
14314 Mostly from Vincent Pelletier:
f19dbdb7 14315
492e6d9d 14316 * fs/reiserfs.c: New file.
f19dbdb7 14317
492e6d9d 14318 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
14319 (reiserfs_mod_SOURCES): New variable.
14320 (reiserfs_mod_CFLAGS): Likewise.
14321 (reiserfs_mod_LDFLAGS): Likewise.
14322
14323 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
14324 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
14325 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
14326 normal/color.c.
14327
9ce3e7c1 143282008-01-06 Robert Millan <rmh@aybabtu.com>
14329
14330 * normal/color.c: Remove `<grub/env.h>'.
14331
f3b58148 143322008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
14333
14334 * include/grub/normal.h: Include <grub/env.h>.
14335
7ac3bcfa 143362008-01-05 Robert Millan <rmh@aybabtu.com>
14337
14338 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
14339 usage example with `(hd0,1)'.
fb358190 14340 Reported by Samuel Thibault.
7ac3bcfa 14341
c8ee99d7 143422008-01-05 Robert Millan <rmh@aybabtu.com>
14343
14344 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
14345 (grub_linux_boot_zimage): Rename to ...
14346 (grub_linux_boot): ... this.
14347 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
14348 (grub_linux_boot_zimage): Conditionalize zImage copy.
14349
14350 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
14351 (grub_linux_boot_bzimage): Remove prototype.
14352 (grub_linux_boot_zimage): Rename to ...
14353 (grub_linux_boot): ... this.
14354
14355 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
14356 (grub_linux_boot): Remove function.
14357
0ece25b1 143582008-01-05 Robert Millan <rmh@aybabtu.com>
14359
14360 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
14361 (grub_env_write_color_highlight): Likewise.
14362 (grub_wait_after_message): Likewise.
14363
14364 * normal/color.c: New file.
14365
14366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14367 (normal_mod_DEPENDENCIES): Likewise.
14368
14369 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14370 (normal_mod_DEPENDENCIES): Likewise.
14371
14372 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14373 (normal_mod_DEPENDENCIES): Likewise.
14374
14375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14376 (normal_mod_DEPENDENCIES): Likewise.
14377
14378 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14379 for waiting after a message is printed.
14380 * normal/main.c (read_config_file): Likewise.
14381 (grub_normal_init): Register grub_env_write_color_normal() and
14382 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14383 `color_highlight' variables as global.
14384
14385 * normal/menu.c (grub_wait_after_message): New function.
14386 (grub_color_menu_normal): New variable. Replaces ...
14387 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14388 (grub_color_menu_highlight): New variable. Replaces ...
14389 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14390 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14391 `GRUB_TERM_COLOR_STANDARD'.
14392 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14393 `normal_code' and `highlight_code' to `old_color_normal' and
14394 `old_color_highlight', respectively.
14395 (grub_menu_init_page): Update colors when drawing the menu, based on
14396 `menu_color_normal' and `menu_color_highlight' variables.
14397 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14398 a message is printed.
14399
182dd4e5 144002008-01-05 Robert Millan <rmh@aybabtu.com>
14401
14402 * kern/env.c (grub_env_context_open): Propagate hooks for global
14403 variables to new context.
14404
14405 * kern/main.c (grub_set_root_dev): Export `root' variable.
14406
ddf8f6ad 144072008-01-05 Robert Millan <rmh@aybabtu.com>
14408
14409 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14410 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14411 them.
14412
d8b43d9b 144132008-01-05 Robert Millan <rmh@aybabtu.com>
14414
14415 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14416
2bff2de3 144172008-01-04 Christian Franke <franke@computer.org>
14418
14419 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14420 of eisa_mmap.
14421
97eab917 144222008-01-03 Pavel Roskin <proski@gnu.org>
14423
14424 * kern/i386/linuxbios/init.c: Put "void" to all function
14425 declarations with no arguments.
14426 * kern/powerpc/ieee1275/init.c: Likewise.
14427 * term/i386/pc/at_keyboard.c: Likewise.
14428 * term/i386/pc/vga_text.c: Likewise.
14429 * util/grub-mkdevicemap.c: Likewise.
14430
b9416d00 144312008-01-02 Robert Millan <rmh@aybabtu.com>
14432
14433 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
14434 message when loaded image is out of bounds.
14435 (grub_multiboot_load_elf64): Likewise.
14436
92695df9 144372008-01-02 Pavel Roskin <proski@gnu.org>
14438
14439 * util/grub.d/10_linux.in: Try version without ".old" when
14440 looking for initrd. It's better to use initrd from the newer
14441 kernel of the same version than no initrd at all.
14442
d98d9cad 144432008-01-01 Robert Millan <rmh@aybabtu.com>
14444
14445 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
14446
dbfdce36 144472008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
14448
f19dbdb7 14449 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 14450 grub_video_get_active_render_target.
14451 (grub_video_adapter): Added unmap_color and get_active_render_target.
14452
f19dbdb7 14453 * video/video.c: Added grub_video_unmap_color and
dbfdce36 14454 grub_video_get_active_render_target.
14455 (grub_video_get_info): Changed method to accept NULL pointer as an
14456 argument to allow detection of active video adapter.
14457
14458 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
14459 grub_video_vbe_unmap_color_int.
14460 Added grub_video_vbe_unmap_color and
14461 grub_video_vbe_get_active_render_target.
14462 (grub_video_vbe_adapter): Added unmap_color and
14463 get_active_render_target.
14464
f19dbdb7 14465 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 14466 with grub_video_vbe_unmap_color_int.
14467
14468 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
14469 (DEFAULT_NORMAL_COLOR): Likewise.
14470 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
14471 (DEFAULT_FG_COLOR): Removed.
14472 (DEFAULT_BG_COLOR): Likewise.
14473 (DEFAULT_CURSOR_COLOR): Changed value.
14474 (grub_virtual_screen): Added standard_color_setting,
14475 normal_color_setting, highlight_color_setting and term_color.
14476 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
14477 (bitmap_width): Added.
14478 (bitmap_height): Likewise.
14479 (bitmap): Likewise.
14480 (set_term_color): Likewise.
14481 (grub_virtual_screen_setup): Changed to use new terminal coloring
14482 settings.
14483 (grub_gfxterm_init): Added init for bitmap.
14484 (grub_gfxterm_fini): Added destroy for bitmap.
14485 (redraw_screen_rect): Updated to use background bitmap and new
14486 terminal coloring.
14487 (scroll_up): Added optimization for case when there is no bitmap.
14488 (grub_gfxterm_cls): Fixed to use correct background color.
14489 (grub_virtual_screen_setcolorstate): Changed to use new terminal
14490 coloring.
14491 (grub_virtual_screen_setcolor): Likewise.
14492 (grub_virtual_screen_getcolor): Added.
14493 (grub_gfxterm_background_image_cmd): Likewise.
14494 (grub_video_term): Added setcolor and getcolor.
14495 (MOD_INIT): Added registration of background_image command.
14496 (MOD_TERM): Added unregistration for background_image command.
14497
c3c20931 144982007-12-30 Pavel Roskin <proski@gnu.org>
14499
14500 * loader/multiboot_loader.c: Fix multiboot command
14501 unregistration. Fix all typos in the word "multiboot".
14502
df266716 145032007-12-29 Pavel Roskin <proski@gnu.org>
94239199 14504
14505 * util/grub.d/10_linux.in: Refactor search for initrd. Add
14506 support for initrd names used in Fedora.
14507
fc6e896c 145082007-12-26 Bean <bean123ch@gmail.com>
14509
14510 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
14511 (cpio_mod_SOURCES): New variable.
14512 (cpio_mod_CFLAGS): Likewise.
14513 (cpio_mod_LDFLAGS): Likewise.
14514
14515 * fs/cpio.c: New file.
14516
14517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
14518
14519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14520
14521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14522
14523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14524
533110ad 145252007-12-25 Robert Millan <rmh@aybabtu.com>
14526
14527 * include/grub/term.h (struct grub_term): Add `getcolor' function.
14528 (grub_getcolor): New function.
14529
14530 * kern/term.c (grub_getcolor): New function.
14531 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
14532 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
14533 (print_entry): Set normal and highlight colors to
14534 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
14535 respectively, before printing and restore them to old
14536 values afterwards.
14537 (grub_menu_init_page): Likewise. Fill an additional colored space
14538 that would otherwise be left blank.
14539
14540 * term/efi/console.c (grub_console_getcolor): New function.
14541 (struct grub_console_term.getcolor): New variable.
14542 * term/i386/pc/console.c (grub_console_getcolor): New function.
14543 (struct grub_console_term.getcolor): New variable.
14544 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
14545 (struct grub_console_term.getcolor): New variable.
14546
14547 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
14548 (struct grub_console_term.setcolor): Remove variable.
14549 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
14550 (struct grub_console_term.setcolor): Remove variable.
14551 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
14552 (struct grub_console_term.setcolor): Remove variable.
14553 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
14554 (struct grub_console_term.setcolor): Remove variable.
14555
4931827f 145562007-12-25 Robert Millan <rmh@aybabtu.com>
14557
14558 * configure.ac: Search for possible unifont.hex locations, and
14559 define UNIFONT_HEX if found.
14560
14561 * Makefile.in (UNIFONT_HEX): Define variable.
14562 (DATA): Rename to ...
14563 (PKGLIB): ... this. Update all users.
14564 (PKGDATA): New variable.
14565 (pkgdata_IMAGES): Rename to ...
14566 (pkglib_IMAGES): ... this. Update all users.
14567 (pkgdata_MODULES): Rename to ...
14568 (pkglib_MODULES): ... this. Update all users.
14569 (pkgdata_PROGRAMS): Rename to ...
14570 (pkglib_PROGRAMS): ... this. Update all users.
14571 (pkgdata_DATA): Rename to ...
14572 (pkglib_DATA): ... this. Update all users.
14573 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
14574 (unicode.pff, ascii.pff): New rules.
14575 (all-local): Add `$(PKGDATA)' dependency.
14576 (install-local): Process `$(PKGDATA)'.
14577
14578 * util/update-grub_lib.in (font_path): Search for *.pff files in
14579 a few more locations, including `${pkgdata}'.
14580
57e57e31 145812007-12-23 Robert Millan <rmh@aybabtu.com>
14582
14583 Patch from Bean <bean123ch@gmail.com>:
14584 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
14585 `size'.
14586
4bc72aa9 145872007-12-21 Bean <bean123ch@gmail.com>
14588
14589 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
14590 (ntfscomp_mod_SOURCES): New variable.
14591 (ntfscomp_mod_CFLAGS): Likewise.
14592 (ntfscomp_mod_LDFLAGS): Likewise.
14593
14594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
14595 (grub_probe_SOURCES): Likewise.
14596 (grub_emu_SOURCES): Likewise.
14597
14598 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14599 (grub_emu_SOURCES): Likewise.
14600
14601 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14602 (grub_emu_SOURCES): Likewise.
14603
14604 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14605 (grub_emu_SOURCES): Likewise.
14606
14607 * fs/ntfs.c (grub_ntfscomp_func): New variable.
14608 (read_run_list): Renamed to grub_ntfs_read_run_list.
14609 (decomp_nextvcn): Moved to ntfscomp.c.
14610 (decomp_getch): Likewise.
14611 (decomp_get16): Likewise.
14612 (decomp_block): Likewise.
14613 (read_block): Likewise.
14614 (read_data): Partially moved to ntfscomp.c.
14615 (fixup): Change unsigned to grub_uint16_t.
14616 (read_mft): Change unsigned long to grub_uint32_t.
14617 (read_attr): Likewise.
14618 (read_data): Likewise.
14619 (read_run_data): Likewise.
14620 (read_run_list): Likewise.
14621 (read_mft): Likewise.
14622
14623 * fs/ntfscomp.c: New file.
14624
14625 * include/grub/ntfs.h: New file.
14626
af680a87 146272007-12-16 Robert Millan <rmh@aybabtu.com>
14628
14629 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
14630 IDE disk check, since Linux is known to support 20 IDE disks.
14631 Reported by Colin Watson.
14632
84be7599 146332007-12-15 Bean <bean123ch@gmail.com>
14634
14635 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
14636 (lnxboot_img_SOURCES): New variable.
14637 (lnxboot_img_ASFLAGS): Likewise.
14638 (lnxboot_img_LDFLAGS): Likewise.
14639
14640 * boot/i386/pc/lnxboot.S: New file.
14641
6af9db01 146422007-11-24 Pavel Roskin <proski@gnu.org>
14643
14644 * configure.ac: Test if '--build-id=none' is supported by the
14645 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
14646 objcopy to generate incorrect binary files (binutils
14647 2.17.50.0.18-1 as shipped by Fedora 8).
14648 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
14649 linking, so that build ID doesn't break the test.
14650
7361cfe6 146512007-11-24 Pavel Roskin <proski@gnu.org>
14652
14653 * include/grub/i386/time.h: use "void" in the argument list
14654 of grub_cpu_idle().
14655 * include/grub/powerpc/time.h: Likewise.
14656 * include/grub/sparc64/time.h: Likewise.
14657
1593e10c 146582007-11-18 Christian Franke <franke@computer.org>
14659
14660 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
14661 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
14662 This fixes the problem that function keys did not work in grub-emu.
14663
3b8db1a8 146642007-11-18 Christian Franke <franke@computer.org>
14665
14666 * disk/host.c (grub_host_open): Remove attribute unused from
14667 name parameter. Add check for "host". This fixes the problem
14668 that grub-emu does not find partitions.
14669
2e29408d 146702007-11-18 Christian Franke <franke@computer.org>
14671
14672 * util/hostfs.c (is_dir): New function.
14673 (grub_hostfs_dir): Handle missing dirent.d_type case.
14674 (grub_hostfs_read): Add missing fseek().
14675 (grub_hostfs_label): Clear label pointer. This fixes a crash
14676 of grub-emu on "ls (host)".
14677
398cd047 146782007-11-18 Christian Franke <franke@computer.org>
14679
14680 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
14681 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
14682 to 64 bit boundary by default.
14683
c405c391 146842007-11-18 Bean <bean123ch@gmail.com>
14685
14686 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
14687 (hexdump_mod_SOURCES): New variable.
14688 (hexdump_mod_CFLAGS): Likewise.
14689 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 14690
c405c391 14691 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14692
14693 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14694
14695 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14696
14697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14698
14699 * include/grub/hexdump.h: New file.
14700
14701 * commands/hexdump.c: New file.
14702
5cced7fd 147032007-11-10 Robert Millan <rmh@aybabtu.com>
14704
14705 * commands/i386/pc/play.c (beep_off): Switch order of arguments
14706 in grub_outb() calls.
14707 (beep_on): Likewise.
14708
8b714eb0 147092007-11-10 Christian Franke <franke@computer.org>
14710
14711 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
14712 (grub_menu_run): Likewise.
14713
ce0f1839 147142007-11-10 Robert Millan <rmh@aybabtu.com>
14715
14716 * include/grub/i386/efi/machine.h: New file.
14717 * include/grub/i386/linuxbios/machine.h: Likewise.
14718 * include/grub/i386/pc/machine.h: Likewise.
14719 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14720 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14721
14722 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
14723 (serial_hw_io_addr): New variable.
14724 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
14725 instead of `(unsigned short *) 0x400'.
14726
270c237d 147272007-11-10 Bean <bean123ch@gmail.com>
14728
14729 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
14730
a87783bf 147312007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14732
14733 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
14734 (vga_mod_SOURCES): Added.
14735 (vga_mod_CFLAGS): Likewise.
14736 (vga_mod_LDFLAGS): Likewise.
14737
14738 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
14739 grub_outb() calls.
14740 (set_map_mask): Likewise.
14741 (set_read_map): Likewise.
14742 (set_read_address): Likewise.
14743 (vga_font): Removed variable.
14744 (get_vga_glyph): Removed function.
14745 (invalidate_char): Likewise.
14746 (write_char): Changed to use grub_font_get_glyph() for font
14747 information.
14748 (grub_vga_putchar): Likewise.
14749 (grub_vga_getcharwidth): Likewise.
14750
6433b448 147512007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14752
14753 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
14754 flags.
14755 (pxeboot_img_LDFLAGS): Likewise.
14756 (diskboot_img_LDFLAGS): Likewise.
14757 (kernel_img_LDFLAGS): Likewise.
14758
49178511 147592007-11-06 Robert Millan <rmh@aybabtu.com>
14760
14761 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
14762 in grub_outb() calls.
14763 (serial_hw_init): Likewise.
14764
53b052de 147652007-11-05 Robert Millan <rmh@aybabtu.com>
14766
14767 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
14768 spaces. Skip non-regular files.
14769
5ab33bba 147702007-11-05 Robert Millan <rmh@aybabtu.com>
14771
14772 * kern/disk.c (grub_disk_firmware_fini)
14773 (grub_disk_firmware_is_tainted): New variables.
14774
14775 * include/grub/disk.h (grub_disk_firmware_fini)
14776 (grub_disk_firmware_is_tainted): Likewise.
14777
14778 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
14779 (grub_disk_biosdisk_fini): ... to here.
14780 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
14781 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
14782 is set. Register grub_disk_biosdisk_fini() in
14783 `grub_disk_firmware_fini'.
14784
14785 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
14786 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
14787 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
14788 to finish existing firmware disk interface.
14789
14790 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
14791 (ata_mod_SOURCES): New variable.
14792 (ata_mod_CFLAGS): Likewise.
14793 (ata_mod_LDFLAGS): Likewise.
14794
0149ab7c 147952007-11-05 Robert Millan <rmh@aybabtu.com>
14796
14797 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
14798 (grub_ata_wait): Reimplement using grub_millisleep().
14799
14800 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
14801 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
14802
be7ac41e 148032007-11-03 Marco Gerards <marco@gnu.org>
14804
14805 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
14806 (CRTC_ADDR_PORT): New macro.
14807 (CRTC_DATA_PORT): Likewise.
14808 (CRTC_CURSOR): Likewise.
14809 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14810 (CRTC_CURSOR_ADDR_LOW): Likewise.
14811 (update_cursor): New function.
14812 (grub_console_real_putchar): Call `update_cursor'.
14813 (grub_console_gotoxy): Likewise.
14814 (grub_console_cls): Set the default color when clearing the
14815 screen.
14816 (grub_console_setcursor): Implemented.
14817
bb06ab2e 148182007-11-03 Marco Gerards <marco@gnu.org>
14819
14820 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
14821 become activate.
14822 (grub_ata_pio_write): Likewise.
14823
14824 (grub_atapi_identify): Wait after issuing an ATA command.
14825 (grub_atapi_packet): Likewise.
14826 (grub_ata_identify): Likewise.
14827 (grub_ata_readwrite): Likewise.
14828
cf8f780b 148292007-11-03 Marco Gerards <marco@gnu.org>
14830
14831 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
14832 (grub_ata_pio_write): Likewise.
14833 (grub_ata_readwrite): Use `grub_error', instead of
14834 returning `grub_errno'.
14835
ed649e54 148362007-11-03 Marco Gerards <marco@gnu.org>
14837
14838 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
14839 grub_ata_pio_write once for every single sector, instead of for
14840 multiple sectors.
14841
ca25d8f0 148422007-10-31 Robert Millan <rmh@aybabtu.com>
14843
14844 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
14845
14846 * conf/i386-linuxbios.rmk: New file.
14847
14848 * kern/i386/pc/hardware.c: Likewise.
14849 * term/i386/pc/at_keyboard.c: Likewise.
14850 * term/i386/pc/vga_text.c: Likewise.
14851
14852 * include/grub/i386/linuxbios/boot.h: Likewise.
14853 * include/grub/i386/linuxbios/console.h: Likewise.
14854 * include/grub/i386/linuxbios/init.h: Likewise.
14855 * include/grub/i386/linuxbios/kernel.h: Likewise.
14856 * include/grub/i386/linuxbios/loader.h: Likewise.
14857 * include/grub/i386/linuxbios/memory.h: Likewise.
14858 * include/grub/i386/linuxbios/serial.h: Likewise.
14859 * include/grub/i386/linuxbios/time.h: Likewise.
14860
14861 * kern/i386/linuxbios/init.c: Likewise.
14862 * kern/i386/linuxbios/startup.S: Likewise.
14863 * kern/i386/linuxbios/table.c: Likewise.
14864
e911ecc1 148652007-10-31 Marco Gerards <marco@gnu.org>
14866
14867 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
14868 (ata_mod_SOURCES): New variable.
14869 (ata_mod_CFLAGS): Likewise.
14870 (ata_mod_LDFLAGS): Likewise.
14871
14872 * disk/ata.c: New file.
14873
14874 * include/grub/disk.h (grub_disk_dev_id): Add
14875 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 14876
7f66d0e0 148772007-10-31 Robert Millan <rmh@aybabtu.com>
14878
14879 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
14880 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
14881
14882 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
14883 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
14884
14885 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
14886 `<grub/types.h>'.
14887
14888 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
14889
5cd7dd46 148902007-10-27 Robert Millan <rmh@aybabtu.com>
14891
3236ca65 14892 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 14893
2ebfc90f 148942007-10-22 Robert Millan <rmh@aybabtu.com>
14895
14896 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
14897 `"../realmode.S"'.
14898 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
14899
73fcb0f3 149002007-10-22 Robert Millan <rmh@aybabtu.com>
14901
14902 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
14903 (pkgdata_MODULES): Add `biosdisk.mod'.
14904 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
14905 variables.
14906
14907 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
14908 (grub_biosdisk_init): Replace with ...
14909 (GRUB_MOD_INIT(biosdisk)): ... this.
14910 (grub_biosdisk_fini): Replace with ...
14911 (GRUB_MOD_FINI(biosdisk)): ... this.
14912
14913 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
14914 (grub_machine_init): Remove call to grub_biosdisk_init().
14915 (grub_machine_fini): Remove call to grub_machine_fini().
14916
14917 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
14918
3381d274 149192007-10-22 Robert Millan <rmh@aybabtu.com>
14920
14921 * include/grub/time.h: New file.
14922 * include/grub/i386/time.h: Likewise.
14923 * include/grub/powerpc/time.h: Likewise.
14924 * include/grub/sparc64/time.h: Likewise.
14925
14926 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
14927 instances to ...
14928 (KERNEL_MACHINE_TIME_HEADER): ... this.
14929 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14930 instances to ...
14931 (KERNEL_MACHINE_TIME_HEADER): ... this.
14932 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14933 instances to ...
14934 (KERNEL_MACHINE_TIME_HEADER): ... this.
14935
14936 * kern/i386/efi/init.c: Include `<grub/time.h>'.
14937 (grub_millisleep): New function.
14938 * kern/i386/pc/init.c: Include `<grub/time.h>'.
14939 (grub_millisleep): New function.
14940 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
14941 Remove `grub/machine/time.h' include.
14942 (grub_millisleep): New function.
14943 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
14944 Remove `grub/machine/time.h' include.
14945 (grub_millisleep): New function.
14946
14947 * include/grub/misc.h (grub_div_roundup): New function.
14948
14949 * kern/misc.c: Include `<grub/time.h>'.
14950 (grub_millisleep_generic): New function.
14951
14952 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
14953 Add `time.h'.
14954 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
14955 Add `time.h'.
14956 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
14957 `machine/time.h'. Add `time.h'.
14958 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14959
a39a0312 149602007-10-21 Robert Millan <rmh@aybabtu.com>
14961
14962 * include/grub/misc.h (grub_max): New function.
14963
2aad70e2 149642007-10-21 Robert Millan <rmh@aybabtu.com>
14965
14966 * util/misc.c (grub_util_info): Call fflush() before returning.
14967
54b71c4b 149682007-10-20 Robert Millan <rmh@aybabtu.com>
14969
14970 * genmk.rb (Image): Copy `extra_flags' from here ...
14971 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
14972
14973 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
14974 to `argc' and `args' arguments.
14975
a979f513 149762007-10-17 Robert Millan <rmh@aybabtu.com>
14977
14978 * kern/i386/loader.S: New file.
14979
14980 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
14981 * kern/i386/loader.S (grub_linux_prot_size)... to here.
14982 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
14983 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
14984 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
14985 * kern/i386/loader.S (grub_linux_real_addr)... to here.
14986 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
14987 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
14988 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
14989 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
14990 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
14991 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
14992 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
14993 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
14994
14995 * kern/i386/realmode.S: New file.
14996
14997 * kern/i386/pc/startup.S (protstack): Moved from here ...
14998 * kern/i386/realmode.S (protstack)... to here.
14999 * kern/i386/pc/startup.S (gdt): Moved from here ...
15000 * kern/i386/realmode.S (gdt)... to here.
15001 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
15002 * kern/i386/realmode.S (prot_to_real)... to here.
15003
15004 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
15005 `kern/i386/realmode.S'.
15006
825fc8fd 150072007-10-17 Robert Millan <rmh@aybabtu.com>
15008
15009 * include/grub/i386/loader.h: New file.
15010
15011 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
15012 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15013 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15014 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15015 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
15016 * include/grub/i386/loader.h (grub_linux_prot_size)
15017 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
15018 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
15019 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
15020 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
15021
15022 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
15023
e179b2f4 150242007-10-15 Robert Millan <rmh@aybabtu.com>
15025
15026 * normal/misc.c (grub_normal_print_device_info): Do not probe for
15027 filesystem when dev->disk is unset.
15028 Do probe for filesystem even when dev->disk->has_partitions is set.
15029 In case a filesystem is found, always report it.
15030 In case it isn't, if dev->disk->has_partitions is set, report that
15031 a partition table was found instead of reporting that no filesystem
15032 could be identified.
15033
5db82af6 150342007-10-12 Robert Millan <rmh@aybabtu.com>
15035
15036 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
15037 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
15038
68f6ac74 15039 * include/grub/types.h (grub_host_to_target16): New macro.
15040 (grub_host_to_target32): Likewise.
15041 (grub_host_to_target64): Likewise.
15042 (grub_target_to_host16): Likewise.
15043 (grub_target_to_host32): Likewise.
15044 (grub_target_to_host64): Likewise.
5db82af6 15045
15046 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15047 Renamed from to ...
15048 (GRUB_MOD_ALIGN): ...this. Update all users.
15049
68f6ac74 15050 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
15051 grub_host_to_target32.
15052 Replace grub_be_to_cpu32 with grub_target_to_host32.
15053 (load_modules): Likewise.
15054 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
15055 Replace grub_be_to_cpu32 with grub_target_to_host32.
15056 Replace grub_cpu_to_be16 with grub_host_to_target16.
15057 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 15058
3cf497cc 150592007-10-12 Robert Millan <rmh@aybabtu.com>
15060
15061 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
15062 * util/elf/grub-mkimage.c: ... here.
15063
15064 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
15065 `util/powerpc/ieee1275/grub-mkimage.c'.
15066
c8cc3692 150672007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 15068
c8cc3692 15069 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
15070 and make it easier to figure out.
15071 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
15072 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
15073 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
15074 leave us with less than HEAP_MIN_SIZE total heap.
15075 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 15076
5c58b791 150772007-10-03 Robert Millan <rmh@aybabtu.com>
15078
15079 * include/grub/i386/io.h: New file.
15080 * commands/i386/pc/play.c (inb): Removed.
15081 (outb): Removed.
15082 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15083 with grub_outb().
afcd2ef8 15084 * term/i386/pc/serial.c (inb): Removed.
15085 (outb): Removed.
15086 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15087 with grub_outb().
15088 * term/i386/pc/vga.c (inb): Removed.
15089 (outb): Removed.
15090 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
15091 with grub_outb().
5c58b791 15092
1a477ed6 150932007-10-02 Robert Millan <rmh@aybabtu.com>
15094
15095 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
15096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15097 Reported by Marcin Kurek.
15098
6b5d80fa 150992007-09-07 Robert Millan <rmh@aybabtu.com>
15100
15101 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
15102 SmartFirmware version updates (as released by Sven Luther), and avoid
15103 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
15104 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
15105 known broken.
15106
5618afbf 151072007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15108
15109 From Hitoshi Ozeki:
15110 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
15111 when merging two regions.
15112
6139dcd9 151132007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
15114
508e39ee 15115 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
15116 * normal/completion.c (grub_normal_do_completion): Likewise.
15117 Reported by Hitoshi Ozeki.
15118
151192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15120
6139dcd9 15121 Do not use devices at boot in chainloading.
f19dbdb7 15122
6139dcd9 15123 * loader/i386/pc/chainloader.c (boot_drive): New variable.
15124 (boot_part_addr): Likewise.
15125 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
15126 with BOOT_DRIVE and BOOT_PART_ADDR.
15127 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
15128 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
15129
38da6516 151302007-08-29 Robert Millan <rmh@aybabtu.com>
15131
15132 Patch from Simon Peter <dn.tlp@gmx.net>:
15133 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
15134 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
15135 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
15136 util/i386/pc/grub-setup.c_DEPENDENCIES.
15137 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
15138 util/grub-probe.c_DEPENDENCIES.
15139 * conf/powerpc-ieee1275.rmk: Likewise.
15140
29d0928c 151412007-08-28 Robert Millan <rmh@aybabtu.com>
15142
15143 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
15144 to tell grub-mkdevicemap how to name devices.
15145 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
15146 feature).
15147
15148 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
15149 util/i386/get_disk_name.c.
15150 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
15151 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
15152 util/ieee1275/get_disk_name.c.
15153
15154 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
15155
15156 * DISTLIST: Add util/i386/get_disk_name.c and
15157 util/ieee1275/get_disk_name.c.
15158
15159 * util/grub-mkdevicemap.c: Replace device naming logic with
15160 grub_util_get_disk_name() calls.
15161
5a0d3cca 151622007-08-20 Robert Millan <rmh@aybabtu.com>
15163
15164 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
15165 (so that it works for both plural and singular quantities).
15166
8b72db2f 151672007-08-05 Robert Millan <rmh@aybabtu.com>
15168
15169 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
15170 so that [xz] isn't taken into account when determining order.
15171
352466bf 151722007-08-02 Marco Gerards <marco@gnu.org>
15173
15174 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
15175 `include/multiboot2.h', `include/grub/elfload.h',
15176 `include/multiboot.h', `include/grub/multiboot.h',
15177 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
15178 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
15179 `kern/elf.c', `loader/multiboot_loader.c',
15180 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
15181 `loader/i386/pc/multiboot2.c',
15182 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
15183 `util/i386/pc/grub-mkrescue.in'. Remove
15184 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
15185 `include/grub/i386/pc/util/biosdisk.h' and
15186 `include/grub/powerpc/ieee1275/multiboot.h'.
15187
8f096014 151882007-08-02 Bean <bean123ch@gmail.com>
15189
15190 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
15191 (ntfs_mod_SOURCES): New variable.
15192 (ntfs_mod_CFLAGS): Likewise.
15193 (ntfs_mod_LDFLAGS): Likewise.
15194
15195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
15196 (grub_probe_SOURCES): Likewise.
15197 (grub_emu_SOURCES): Likewise.
15198
15199 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15200 (grub_emu_SOURCES): Likewise.
15201
15202 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15203 (grub_emu_SOURCES): Likewise.
f19dbdb7 15204
8f096014 15205 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
15206
15207 * fs/ntfs.c: New file.
15208
9959f7db 152092007-08-02 Bean <bean123ch@gmail.com>
15210
15211 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
15212
15213 * file.h (grub_file): Likewise.
15214
15215 * fshelp.h (grub_fshelp_read_file): Likewise.
15216
15217 * util/i386/pc/grub-setup.c (setup): Likewise.
15218 (save_first_sector): Likewise.
15219 (save_blocklists): Likewise.
f19dbdb7 15220
9959f7db 15221 * fs/affs.c (grub_affs_read_file): Likewise.
15222
15223 * fs/ext2.c (grub_ext2_read_file): Likewise.
15224
15225 * fs/fat.c (grub_fat_read_data): Likewise.
15226
15227 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
15228
15229 * fs/hfs.c (grub_hfs_read_file): Likewise.
15230
15231 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15232
15233 * fs/jfs.c (grub_jfs_read_file): Likewise.
15234
15235 * fs/minix.c (grub_minix_read_file): Likewise.
15236
15237 * fs/sfs.c (grub_sfs_read_file): Likewise.
15238
15239 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 15240
9959f7db 15241 * fs/xfs.c (grub_xfs_read_file): Likewise.
15242
15243 * command/blocklist.c (read_blocklist): Likewise.
15244 (print_blocklist): Likewise.
15245
0a203f83 152462007-08-02 Marco Gerards <marco@gnu.org>
15247
15248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
15249 `util/hostfs.c'.
15250
15251 * disk/host.c: New file.
15252
15253 * util/hostfs.c: Likewise.
15254
15255 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
15256 return `GRUB_ERR_BAD_FS'.
15257 * fs/sfs.c (grub_sfs_mount): Likewise.
15258 * fs/xfs.c (grub_xfs_mount): Likewise.
15259
15260 * include/grub/disk.h (enum grub_disk_dev_id): Add
15261 `GRUB_DISK_DEVICE_HOST_ID'.
15262
15263 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
15264
e5dfe777 152652007-07-24 Jerone Young <jerone@gmail.com>
15266
f19dbdb7 15267 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 15268 modules for compilation.
15269 * conf/powerpc-ieee1275.rmk: Likewise.
15270
15271 * include/multiboot.h: Move multiboot definitions to one file. Rename
15272 many definitions to not get grub specific.
15273 * include/multiboot2.h: Create header with multiboot 2 definitions.
15274 * include/grub/multiboot.h: Header for grub specific function
15275 prototypes and definitions.
15276 * include/grub/multiboot2.h: Likewise.
15277 * include/grub/multiboot_loader.h: Likewise.
15278 * include/grub/i386/pc/multiboot.h: Removed.
15279 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
15280
15281 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
15282 and 2 to allow for one multiboot and module commands.
15283 * loader/multiboot2.c: Add multiboot2 functionality.
15284 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
15285 and definition names.
15286 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
15287 2 functions.
15288 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
15289 ieee1275 specific multiboot2 code.
15290
15291 * kern/i386/pc/startup.S: Change headers and definition names for
15292 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
15293
daf0f0ba 152942007-07-22 Robert Millan <rmh@aybabtu.com>
15295
15296 * geninitheader.sh: Process file specified in first parameter rather
15297 than hardcoding grub_modules_init.lst.
fe6b695a 15298 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 15299 than hardcoding grub_modules_init.h.
15300
15301 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
15302 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
15303 grub_probe_init.[ch] and grub_setup_init.[ch].
15304
15305 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
15306 grub_modules_init.h with grub_emu_init.h.
15307 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
15308 grub_probe_init.[ch] files.
15309 * conf/i386-efi.rmk: Likewise.
15310 * conf/i386-pc.rmk: Likewise.
15311 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
15312 grub_setup_init.[ch] files.
15313
15314 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
15315 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
15316 to initialize modules rather than a list of hardcoded functions.
15317 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
15318 grub_init_all() to initialize modules rather than a list of hardcoded
15319 functions.
15320
54cdc1cc 153212007-07-22 Robert Millan <rmh@aybabtu.com>
15322
15323 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15324 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
15325
ad0686cc 153262007-07-22 Robert Millan <rmh@aybabtu.com>
15327
15328 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15329 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
15330 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
15331 flag when running on SmartFirmware.
15332 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
15333 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
15334 was set.
15335
15336 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15337 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
15338 rather than decreasing it.
15339
15340 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
15341 there's not enough space to do it, fail in the same way as when it
15342 can't be done because there are no partitions.
15343
15344 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
15345 when nvsetenv failed.
15346
969c02ec 153472007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15348
15349 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
15350 because this rule is automatically generated.
15351 (grub-mkrescue): Removed for the same reason as above.
15352
5a79f472 153532007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15354
15355 Migrate to GNU General Public License Version 3.
f19dbdb7 15356
5a79f472 15357 * COPYING: Replaced with the plain text version of GPLv3.
15358
15359 * config.guess: Updated from gnulib.
15360 * config.sub: Likewise.
15361
15362 * geninit.sh: Output a GPLv3 copyright notice.
15363 * geninitheader.sh: Likewise.
15364 * genmodsrc.sh: Likewise.
15365 * gensymlist.sh.in: Likewise.
15366
15367 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15368 * boot/i386/pc/diskboot.S: Likewise.
15369 * boot/i386/pc/pxeboot.S: Likewise.
15370 * commands/blocklist.c: Likewise.
15371 * commands/boot.c: Likewise.
15372 * commands/cat.c: Likewise.
15373 * commands/cmp.c: Likewise.
15374 * commands/configfile.c: Likewise.
15375 * commands/echo.c: Likewise.
15376 * commands/help.c: Likewise.
15377 * commands/ls.c: Likewise.
15378 * commands/search.c: Likewise.
15379 * commands/terminal.c: Likewise.
15380 * commands/test.c: Likewise.
15381 * commands/videotest.c: Likewise.
15382 * commands/i386/cpuid.c: Likewise.
15383 * commands/i386/pc/halt.c: Likewise.
15384 * commands/i386/pc/play.c: Likewise.
15385 * commands/i386/pc/reboot.c: Likewise.
15386 * commands/i386/pc/vbeinfo.c: Likewise.
15387 * commands/i386/pc/vbetest.c: Likewise.
15388 * commands/ieee1275/halt.c: Likewise.
15389 * commands/ieee1275/reboot.c: Likewise.
15390 * commands/ieee1275/suspend.c: Likewise.
15391 * disk/loopback.c: Likewise.
15392 * disk/lvm.c: Likewise.
15393 * disk/raid.c: Likewise.
15394 * disk/efi/efidisk.c: Likewise.
15395 * disk/i386/pc/biosdisk.c: Likewise.
15396 * disk/ieee1275/ofdisk.c: Likewise.
15397 * font/manager.c: Likewise.
15398 * fs/affs.c: Likewise.
15399 * fs/ext2.c: Likewise.
15400 * fs/fat.c: Likewise.
15401 * fs/fshelp.c: Likewise.
15402 * fs/hfs.c: Likewise.
15403 * fs/hfsplus.c: Likewise.
15404 * fs/iso9660.c: Likewise.
15405 * fs/jfs.c: Likewise.
15406 * fs/minix.c: Likewise.
15407 * fs/sfs.c: Likewise.
15408 * fs/ufs.c: Likewise.
15409 * fs/xfs.c: Likewise.
15410 * hello/hello.c: Likewise.
15411 * include/grub/acorn_filecore.h: Likewise.
15412 * include/grub/arg.h: Likewise.
15413 * include/grub/bitmap.h: Likewise.
15414 * include/grub/boot.h: Likewise.
15415 * include/grub/cache.h: Likewise.
15416 * include/grub/device.h: Likewise.
15417 * include/grub/disk.h: Likewise.
15418 * include/grub/dl.h: Likewise.
15419 * include/grub/elfload.h: Likewise.
15420 * include/grub/env.h: Likewise.
15421 * include/grub/err.h: Likewise.
15422 * include/grub/file.h: Likewise.
15423 * include/grub/font.h: Likewise.
15424 * include/grub/fs.h: Likewise.
15425 * include/grub/fshelp.h: Likewise.
15426 * include/grub/gzio.h: Likewise.
15427 * include/grub/hfs.h: Likewise.
15428 * include/grub/kernel.h: Likewise.
15429 * include/grub/loader.h: Likewise.
15430 * include/grub/lvm.h: Likewise.
15431 * include/grub/misc.h: Likewise.
15432 * include/grub/mm.h: Likewise.
15433 * include/grub/net.h: Likewise.
15434 * include/grub/normal.h: Likewise.
15435 * include/grub/parser.h: Likewise.
15436 * include/grub/partition.h: Likewise.
15437 * include/grub/pc_partition.h: Likewise.
15438 * include/grub/raid.h: Likewise.
15439 * include/grub/rescue.h: Likewise.
15440 * include/grub/script.h: Likewise.
15441 * include/grub/setjmp.h: Likewise.
15442 * include/grub/symbol.h: Likewise.
15443 * include/grub/term.h: Likewise.
15444 * include/grub/terminfo.h: Likewise.
15445 * include/grub/tparm.h: Likewise.
15446 * include/grub/types.h: Likewise.
15447 * include/grub/video.h: Likewise.
15448 * include/grub/efi/api.h: Likewise.
15449 * include/grub/efi/chainloader.h: Likewise.
15450 * include/grub/efi/console.h: Likewise.
15451 * include/grub/efi/console_control.h: Likewise.
15452 * include/grub/efi/disk.h: Likewise.
15453 * include/grub/efi/efi.h: Likewise.
15454 * include/grub/efi/pe32.h: Likewise.
15455 * include/grub/efi/time.h: Likewise.
15456 * include/grub/i386/linux.h: Likewise.
15457 * include/grub/i386/setjmp.h: Likewise.
15458 * include/grub/i386/types.h: Likewise.
15459 * include/grub/i386/efi/kernel.h: Likewise.
15460 * include/grub/i386/efi/loader.h: Likewise.
15461 * include/grub/i386/efi/time.h: Likewise.
15462 * include/grub/i386/pc/biosdisk.h: Likewise.
15463 * include/grub/i386/pc/boot.h: Likewise.
15464 * include/grub/i386/pc/chainloader.h: Likewise.
15465 * include/grub/i386/pc/console.h: Likewise.
15466 * include/grub/i386/pc/init.h: Likewise.
15467 * include/grub/i386/pc/kernel.h: Likewise.
15468 * include/grub/i386/pc/loader.h: Likewise.
15469 * include/grub/i386/pc/memory.h: Likewise.
15470 * include/grub/i386/pc/multiboot.h: Likewise.
15471 * include/grub/i386/pc/serial.h: Likewise.
15472 * include/grub/i386/pc/time.h: Likewise.
15473 * include/grub/i386/pc/vbe.h: Likewise.
15474 * include/grub/i386/pc/vbeblit.h: Likewise.
15475 * include/grub/i386/pc/vbefill.h: Likewise.
15476 * include/grub/i386/pc/vbeutil.h: Likewise.
15477 * include/grub/i386/pc/vga.h: Likewise.
15478 * include/grub/ieee1275/ieee1275.h: Likewise.
15479 * include/grub/ieee1275/ofdisk.h: Likewise.
15480 * include/grub/powerpc/libgcc.h: Likewise.
15481 * include/grub/powerpc/setjmp.h: Likewise.
15482 * include/grub/powerpc/types.h: Likewise.
15483 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
15484 * include/grub/powerpc/ieee1275/console.h: Likewise.
15485 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
15486 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15487 * include/grub/powerpc/ieee1275/loader.h: Likewise.
15488 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
15489 * include/grub/powerpc/ieee1275/time.h: Likewise.
15490 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
15491 * include/grub/sparc64/libgcc.h: Likewise.
15492 * include/grub/sparc64/setjmp.h: Likewise.
15493 * include/grub/sparc64/types.h: Likewise.
15494 * include/grub/sparc64/ieee1275/console.h: Likewise.
15495 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15496 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15497 * include/grub/sparc64/ieee1275/time.h: Likewise.
15498 * include/grub/util/biosdisk.h: Likewise.
15499 * include/grub/util/getroot.h: Likewise.
15500 * include/grub/util/lvm.h: Likewise.
15501 * include/grub/util/misc.h: Likewise.
15502 * include/grub/util/raid.h: Likewise.
15503 * include/grub/util/resolve.h: Likewise.
15504 * io/gzio.c: Likewise.
15505 * kern/device.c: Likewise.
15506 * kern/disk.c: Likewise.
15507 * kern/dl.c: Likewise.
15508 * kern/elf.c: Likewise.
15509 * kern/env.c: Likewise.
15510 * kern/err.c: Likewise.
15511 * kern/file.c: Likewise.
15512 * kern/fs.c: Likewise.
15513 * kern/loader.c: Likewise.
15514 * kern/main.c: Likewise.
15515 * kern/misc.c: Likewise.
15516 * kern/mm.c: Likewise.
15517 * kern/parser.c: Likewise.
15518 * kern/partition.c: Likewise.
15519 * kern/rescue.c: Likewise.
15520 * kern/term.c: Likewise.
15521 * kern/efi/efi.c: Likewise.
15522 * kern/efi/init.c: Likewise.
15523 * kern/efi/mm.c: Likewise.
15524 * kern/i386/dl.c: Likewise.
15525 * kern/i386/efi/init.c: Likewise.
15526 * kern/i386/efi/startup.S: Likewise.
15527 * kern/i386/pc/init.c: Likewise.
15528 * kern/i386/pc/lzo1x.S: Likewise.
15529 * kern/i386/pc/startup.S: Likewise.
15530 * kern/ieee1275/ieee1275.c: Likewise.
15531 * kern/powerpc/cache.S: Likewise.
15532 * kern/powerpc/dl.c: Likewise.
15533 * kern/powerpc/ieee1275/cmain.c: Likewise.
15534 * kern/powerpc/ieee1275/crt0.S: Likewise.
15535 * kern/powerpc/ieee1275/init.c: Likewise.
15536 * kern/powerpc/ieee1275/openfw.c: Likewise.
15537 * kern/sparc64/cache.S: Likewise.
15538 * kern/sparc64/dl.c: Likewise.
15539 * kern/sparc64/ieee1275/init.c: Likewise.
15540 * kern/sparc64/ieee1275/openfw.c: Likewise.
15541 * loader/efi/chainloader.c: Likewise.
15542 * loader/efi/chainloader_normal.c: Likewise.
15543 * loader/i386/efi/linux.c: Likewise.
15544 * loader/i386/efi/linux_normal.c: Likewise.
15545 * loader/i386/pc/chainloader.c: Likewise.
15546 * loader/i386/pc/chainloader_normal.c: Likewise.
15547 * loader/i386/pc/linux.c: Likewise.
15548 * loader/i386/pc/linux_normal.c: Likewise.
15549 * loader/i386/pc/multiboot.c: Likewise.
15550 * loader/i386/pc/multiboot_normal.c: Likewise.
15551 * loader/powerpc/ieee1275/linux.c: Likewise.
15552 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
15553 * normal/arg.c: Likewise.
15554 * normal/cmdline.c: Likewise.
15555 * normal/command.c: Likewise.
15556 * normal/completion.c: Likewise.
15557 * normal/execute.c: Likewise.
15558 * normal/function.c: Likewise.
15559 * normal/lexer.c: Likewise.
15560 * normal/main.c: Likewise.
15561 * normal/menu.c: Likewise.
15562 * normal/menu_entry.c: Likewise.
15563 * normal/misc.c: Likewise.
15564 * normal/parser.y: Likewise.
15565 * normal/script.c: Likewise.
15566 * normal/i386/setjmp.S: Likewise.
15567 * normal/powerpc/setjmp.S: Likewise.
15568 * normal/sparc64/setjmp.S: Likewise.
15569 * partmap/acorn.c: Likewise.
15570 * partmap/amiga.c: Likewise.
15571 * partmap/apple.c: Likewise.
15572 * partmap/gpt.c: Likewise.
15573 * partmap/pc.c: Likewise.
15574 * partmap/sun.c: Likewise.
15575 * term/gfxterm.c: Likewise.
15576 * term/terminfo.c: Likewise.
15577 * term/efi/console.c: Likewise.
15578 * term/i386/pc/console.c: Likewise.
15579 * term/i386/pc/serial.c: Likewise.
15580 * term/i386/pc/vesafb.c: Likewise.
15581 * term/i386/pc/vga.c: Likewise.
15582 * term/ieee1275/ofconsole.c: Likewise.
15583 * util/biosdisk.c: Likewise.
15584 * util/console.c: Likewise.
15585 * util/genmoddep.c: Likewise.
15586 * util/getroot.c: Likewise.
15587 * util/grub-emu.c: Likewise.
15588 * util/grub-mkdevicemap.c: Likewise.
15589 * util/grub-probe.c: Likewise.
15590 * util/lvm.c: Likewise.
15591 * util/misc.c: Likewise.
15592 * util/raid.c: Likewise.
15593 * util/resolve.c: Likewise.
15594 * util/update-grub.in: Likewise.
15595 * util/update-grub_lib.in: Likewise.
15596 * util/grub.d/00_header.in: Likewise.
15597 * util/grub.d/10_hurd.in: Likewise.
15598 * util/grub.d/10_linux.in: Likewise.
15599 * util/i386/efi/grub-install.in: Likewise.
15600 * util/i386/efi/grub-mkimage.c: Likewise.
15601 * util/i386/pc/grub-install.in: Likewise.
15602 * util/i386/pc/grub-mkimage.c: Likewise.
15603 * util/i386/pc/grub-mkrescue.in: Likewise.
15604 * util/i386/pc/grub-setup.c: Likewise.
15605 * util/i386/pc/misc.c: Likewise.
15606 * util/powerpc/ieee1275/grub-install.in: Likewise.
15607 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
15608 * util/powerpc/ieee1275/misc.c: Likewise.
15609 * video/bitmap.c: Likewise.
15610 * video/video.c: Likewise.
15611 * video/i386/pc/vbe.c: Likewise.
15612 * video/i386/pc/vbeblit.c: Likewise.
15613 * video/i386/pc/vbefill.c: Likewise.
15614 * video/i386/pc/vbeutil.c: Likewise.
15615 * video/readers/tga.c: Likewise.
15616
3572d015 156172007-07-02 Robert Millan <rmh@aybabtu.com>
15618
15619 * conf/i386-efi.rmk: Replace obsolete reference to
15620 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
15621 with util/getroot.c.
15622 * conf/powerpc-ieee1275.rmk: Likewise.
15623 * conf/sparc64-ieee1275.rmk: Likewise.
15624
15625 * util/grub-emu.c (main): Fix unchecked pointer handling.
15626
2c2a681b 156272007-07-02 Robert Millan <rmh@aybabtu.com>
15628
15629 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
15630 invocation to fail, in order to support partition-less media.
15631
15632 * util/i386/pc/grub-install.in: Likewise.
15633
15634 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
15635 which fs or partmap modules are needed (akin to its sister scripts).
15636
15637 Also use grub-probe to get rid of unportable /proc/mounts check.
15638
15639 Print the same informational message that the other scripts do, before
fe6b695a 15640 exiting.
2c2a681b 15641
6193defe 156422007-06-23 Robert Millan <rmh@aybabtu.com>
15643
fe6b695a 15644 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 15645 a font file can be found and, if so, echo the GRUB path to it.
15646
15647 * util/update-grub.in: Handle multiple terminals depending on user
15648 input, platform availability and font file presence. Propagate
15649 variables of our findings to /etc/grub.d/ children.
15650
15651 * util/grub.d/00_header.in: Handle multiple terminals, based on
15652 environment setup by update-grub.
15653
eface1dc 156542007-06-23 Robert Millan <rmh@aybabtu.com>
15655
ba50d28f 15656 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 15657
bf697e28 156582007-06-21 Robert Millan <rmh@aybabtu.com>
15659
15660 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
15661 indicate end of data section in kernel image.
15662 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
15663 GRUB_KERNEL_MACHINE_DATA_END.
15664
15665 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
15666 space for it.
15667 * kern/i386/efi/startup.S: Likewise.
15668
15669 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
15670 during image generation. Implement --prefix option to override this
15671 patch.
15672 * util/i386/efi/grub-mkimage.c: Likewise.
15673
15674 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
15675 code to make path relative to its root into a separate function.
15676
15677 * util/i386/pc/grub-install.in: Use newly provided
15678 make_system_path_relative_to_its_root() to convert ${grubdir}, then
15679 pass the result to grub-install --prefix.
15680
baa574b4 156812007-06-13 Robert Millan <rmh@aybabtu.com>
15682
15683 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
15684 DEFAULT_DEVICE_MAP.
15685 * util/grub-emu.c: Use above definitions from misc.h instead of
15686 defining them.
15687 * util/grub-mkdevicemap.c: Likewise.
15688 * util/i386/pc/grub-setup.c: Likewise.
15689 * util/grub-probe.c: Likewise.
15690 (probe): Abort with grub_util_error() when either
15691 grub_guess_root_device or grub_util_get_grub_dev fails.
15692
0215dcbf 156932007-06-12 Robert Millan <rmh@aybabtu.com>
15694
15695 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
15696 "pager" assignment.
15697 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
15698 "pcdata".
15699 * util/grub-probe.c (probe): Likewise for "drive_name".
15700
8af2ab7b 157012007-06-11 Robert Millan <rmh@aybabtu.com>
15702
15703 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
15704 not just the cdrom one.
15705
59d31694 157062007-06-11 Robert Millan <rmh@aybabtu.com>
15707
15708 * util/i386/pc/grub-mkrescue.in: Add "set -e".
15709 Add --pkglibdir=DIR option to override pkglibdir.
15710 Mention --image-type=TYPE in help output.
15711 Fix --grub-mkimage (it was a no-op).
fe6b695a 15712 Abort gracefully when no parameter is given.
59d31694 15713
7ee367e4 157142007-06-11 Robert Millan <rmh@aybabtu.com>
15715
15716 * util/i386/pc/grub-mkrescue.in: New file.
15717 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
15718 * Makefile.in: Handle bin_SCRIPTS.
15719
29b0ed46 157202007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
15721
15722 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
15723 list of video modes.
15724
c0f90770 157252007-06-06 Robert Millan <rmh@aybabtu.com>
15726
15727 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
15728 file doesn't exist, or if it is in a filesystem grub can't read.
15729
15730 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
15731 not abort if GRUB_DRIVE could not be defined. Rearrange generated
15732 header comment to fit in 80 columns when the variables are resolved.
15733
15734 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
15735 could be identified by update-grub. Remove redundant check for
fe6b695a 15736 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 15737 handles that).
15738
fb36dc26 157392007-06-04 Robert Millan <rmh@aybabtu.com>
15740
15741 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
15742
15743 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
15744
15745 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
15746
0c68c93e 157472007-06-04 Robert Millan <rmh@aybabtu.com>
15748
15749 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
15750
15751 * include/grub/partition.h: Declare grub_apple_partition_map_init and
15752 grub_apple_partition_map_fini.
15753
15754 * util/biosdisk.c
15755 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
15756 to access >2 TiB disks).
15757
15758 Print disk->total_sectors with %llu instead of %lu, since this
15759 variable is always 64-bit (prevents wrong disk size from being displayed
15760 on either >2 TiB disk or big-endian CPU).
15761
15762 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
15763 into a generic case that supports all (sane) partition maps.
15764
15765 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
15766 breaks big-endian.
15767
15768 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
15769 and grub_apple_partition_map_fini() after that.
15770
0f23eb74 157712007-06-01 Robert Millan <rmh@aybabtu.com>
15772
15773 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
15774
15775 * util/grub.d/00_header.in: Only enable gfxterm when
15776 convert_system_path_to_grub_path() succeeds.
15777
42c71976 157782007-05-20 Robert Millan <rmh@aybabtu.com>
15779
15780 * util/update-grub_lib.in: New file.
15781 * DISTLIST: Add update-grub_lib.in.
15782 * conf/common.rmk: Generate update-grub_lib and install it in
15783 $(lib_DATA).
15784 * Makefile.in: Add install routine for $(lib_DATA).
15785
15786 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
15787 function provided by update-grub_lib to support arbitrary paths of
15788 unifont.pff.
15789 * util/update-grub.in: Use convert_system_path_to_grub_path() to
15790 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
15791
5beb2291 157922007-05-19 Robert Millan <rmh@aybabtu.com>
15793
15794 * commands/i386/cpuid.c: New module.
15795 * DISTLIST: Add it.
15796 * conf/i386-efi.rmk: Enable cpuid.mod.
15797 * conf/i386-pc.rmk: Likewise.
15798
7262eca1 157992007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15800
15801 * kern/disk.c (grub_disk_read): Check return value of
15802 grub_realloc().
15803
260ba823 158042007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15805
15806 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
15807 arrays.
15808 * disk/raid.c (grub_raid_open): Likewise.
15809
1ecb6cf2 158102007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15811
15812 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
15813 stack instead of on the heap.
15814
15815 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
15816 before doing a read on it.
15817
15818 * configure.ac: Only use -fno-stack-protector for the target
15819 environment.
f19dbdb7 15820
21c8cbb1 158212007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15822
15823 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
15824 __attribute_ ((unused)) to mode_type argument.
15825
15826 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 15827
21c8cbb1 15828 * kern/misc.c (memcmp): Fix prototype.
15829
15830 * include/grub/partition.h [GRUB_UTIL]
15831 (grub_gpt_partition_map_init): Add prototype.
15832 (grub_gpt_partition_map_fini): Likewise.
15833
15834 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
15835 at the right place.
15836
15837 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
15838 (grub_fat_read_data): Likewise.
15839 (grub_fat_find_dir): Likewise.
15840
15841 * font/manager.c (find_glyph): Make table a const.
15842 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 15843
849d55d3 158442007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
15845
15846 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
15847 code, first search for device in /dev/mapper, then in /dev.
15848 (grub_util_get_grub_dev): New function.
15849 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
15850 prototype.
15851 * util/grub-probe.c (probe): Remove check for RAID, call
15852 grub_util_get_grub_dev() instead of
15853 grub_util_biosdisk_get_grub_dev().
15854 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
15855 grub_util_biosdisk_get_grub_dev().
15856 * util/i386/pc/grub-setup.c (main): Likewise.
15857
8fff7c2f 158582007-05-16 Robert Millan <rmh@aybabtu.com>
15859
15860 * DISTLIST: Update for the latest changes.
15861 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
15862 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
15863 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
15864 grub/util/biosdisk.h.
15865 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
15866 grub/util/biosdisk.h.
15867
48e12b52 158682007-05-16 Robert Millan <rmh@aybabtu.com>
15869
15870 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
15871
46b9d128 158722007-05-16 Robert Millan <rmh@aybabtu.com>
15873
15874 * util/i386/efi/grub-install.in: New.
15875 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
15876 newly added grub-install.
15877 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
15878 include.
15879 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
15880 grub/util/biosdisk.h.
15881 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
15882 grub/util/biosdisk.h.
15883
2d1a40a9 158842007-05-16 Robert Millan <rmh@aybabtu.com>
15885
15886 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
15887 * include/grub/util/biosdisk.h: ... here.
15888 * util/i386/pc/biosdisk.c: Moved to ...
15889 * util/biosdisk.c: ... here.
15890 * util/i386/pc/getroot.c: Moved to ...
15891 * util/getroot.c: ... here.
15892 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
15893 * util/grub-mkdevicemap.c: ... here.
15894 * util/i386/pc/grub-probe.c: Moved to ...
15895 * util/grub-probe.c: ... here.
15896
9e26e3bc 158972007-05-15 Robert Millan <rmh@aybabtu.com>
15898
15899 * util/update-grub.in: Remove duplicated line in grub.cfg header
15900 message.
15901
57f96397 159022007-05-13 Robert Millan <rmh@aybabtu.com>
15903
15904 * util/update-grub.in: Fix a few assumptions about the devices holding
15905 /, /boot and /boot/grub being the same.
15906 * util/grub.d/00_header.in: Likewise.
15907 * util/grub.d/10_hurd.in: Likewise.
15908 * util/grub.d/10_linux.in: Likewise.
15909
15910 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
15911 patterns. Use that to define the `.old' suffix as older than `'.
15912
15913 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
15914
15915 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
15916 the grub.cfg header message.
15917
2e610d62 159182007-05-11 Robert Millan <rmh@aybabtu.com>
15919
15920 * util/update-grub.in: Create device.map if it doesn't already exist,
15921 before attempting to run grub-probe.
15922 Check for grub-probe and grub-mkdevicemap with the same code
15923 grub-install is using.
15924 Remove test mode.
15925
3f6a10ef 159262007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
15927
15928 * Makefile.in: Add the datarootdir autoconf variable.
15929
02e7b75e 159302007-05-09 Robert Millan <rmh@aybabtu.com>
15931
15932 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 15933 fail gracefully if dev->disk->partition == NULL.
02e7b75e 15934
75f396cc 159352007-05-07 Robert Millan <rmh@aybabtu.com>
15936
15937 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
15938 determine partition map module.
15939 * util/i386/pc/grub-install.in: Use this feature to decide which
15940 partition module to load, instead of hardcoding pc and gpt.
15941
da65cb36 159422007-05-07 Robert Millan <rmh@aybabtu.com>
15943
15944 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
15945 source directory differs from build directory.
15946
b57d6a91 159472007-05-05 Robert Millan <rmh@aybabtu.com>
15948
15949 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
15950 initialisation.
15951
509d00f1 159522007-05-05 Robert Millan <rmh@aybabtu.com>
15953
15954 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
15955
c48f23ef 159562007-05-05 Robert Millan <rmh@aybabtu.com>
15957
15958 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
15959 command-line arguments via ${GRUB_CMDLINE_LINUX}.
15960
20b97658 159612007-05-05 Robert Millan <rmh@aybabtu.com>
15962
15963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
15964 (grub_probe_SOURCES): Likewise.
15965 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
15966 GPT and initialize dos_part and bsd_part accordingly.
15967 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
15968 install_bsd_part.
15969 (main): Activate gpt module for use during partition identification,
15970 and deactivate it afterwards.
15971 * util/i386/pc/grub-install.in: Add gpt module to core.img.
15972 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
15973 partition identification, and deactivate it afterwards.
15974
99123174 159752007-05-05 Robert Millan <rmh@aybabtu.com>
15976
15977 * term/i386/pc/console.c (grub_console_fini): Call
15978 grub_term_set_current() before grub_term_unregister().
15979
ebd97f6e 159802007-05-04 Robert Millan <rmh@aybabtu.com>
15981
15982 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
15983 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
15984 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
15985 and update-grub_DATA.
15986 * conf/common.rmk: Build and install update-grub components.
15987 * conf/common.mk: Regenerate.
15988 * util/update-grub.in: New. Core of update-grub.
15989 * util/grub.d/00_header.in: New. Generates grub.cfg header.
15990 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
15991 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
15992 * util/grub.d/README: New. Document grub.d directory layout.
15993
b06a264d 159942007-05-01 Robert Millan <rmh@aybabtu.com>
15995
15996 * util/grub-emu.c: Move initialization functions
15997 grub_util_biosdisk_init() and grub_init_all() before
15998 grub_util_biosdisk_get_grub_dev(), which relies on them.
15999
41f0050e 160002007-04-19 Robert Millan <rmh@aybabtu.com>
16001
16002 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
16003 it is used later.
16004
04582bb3 160052007-04-18 Jerone Young <jerone@gmail.com>
16006
f19dbdb7 16007 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 16008 stanza.
16009
08db4632 160102007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 16011
08db4632 16012 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
16013 continue on and look for device node with real device name.
16014
801b76be 160152007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 16016
fe6b695a 16017 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 16018 ability.
16019 * Makefile.in: Add autoconf package transformation code.
16020 * util/i386/pc/grub-install.in: Likewise.
16021 * util/powerpc/ieee1275/grub-install.in: Likewise.
16022
6795c4e1 160232007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
16024
16025 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
16026 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
16027 (EXT2_REVISION): Likewise.
16028 (EXT2_INODE_SIZE): Likewise.
16029 (struct grub_ext2_block_group): Added a missing member
16030 "used_dirs".
16031 (grub_ext2_read_inode): Divide by the inode size in a superblock
16032 instead of 128 to obtain INODES_PER_BLOCK.
16033 Use the macro EXT2_INODE_SIZE instead of directly using
16034 SBLOCK->INODE_SIZE.
16035
d70af616 160362007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
16037
16038 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
16039 superblock instead of the structure size to compute an
16040 offset. This fixes the problem that GRUB could not read a
16041 filesystem when inode size is different from 128-byte.
16042
3b801603 160432007-03-05 Marco Gerards <marco@gnu.org>
16044
16045 * normal/main.c (read_config_file): When "menu" is not set, create
16046 an initial context.
16047
4785bfe4 160482007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16049
16050 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
16051 (HEAP_LIMIT): New macro.
16052 (grub_claim_heap): Claim memory up to `heaplimit'.
16053
a0cbb023 160542007-02-21 Hollis Blanchard <hollis@penguinppc.org>
16055
16056 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
16057 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
16058 (_start): Likewise.
16059 (grub_arch_modules_addr): Return address after `_end'.
16060 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
16061 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
16062 (add_segments): Calculate `_end' from phdr size and location.
16063 (ALIGN_UP): Moved to ...
16064 * include/grub/misc.h: here.
16065 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16066 New macro.
16067 (GRUB_IEEE1275_MODULE_BASE): Removed.
16068
fd7d8eba 160692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16070
16071 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
16072 loop boundary.
16073
9b09e6fc 160742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16075
16076 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
16077 All users updated.
16078 (grub_elf64_load_hook_t): Likewise.
16079 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
16080 debug output.
16081
3ce27299 160822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
16083
16084 * kern/mm.c: Update copyright.
16085 (grub_mm_debug): Correct syntax error.
16086 (grub_mm_dump_free): New function.
16087 (grub_debug_free): Call `grub_free'.
16088 * include/grub/mm.h: Update copyright.
16089 (grub_mm_dump_free): Add declaration.
16090
077d5fee 160912007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16092
16093 * include/grub/ieee1275/ieee1275.h: Update copyright.
16094 * kern/powerpc/ieee1275/init.c: Likewise.
16095 * kern/powerpc/ieee1275/openfw.c: Likewise.
16096
16097 * loader/powerpc/ieee1275/linux.c: Likewise.
16098 * include/grub/elfload.h: Likewise.
16099 * kern/elf.c: Likewise.
16100 (grub_elf32_load): Pass `base' and `size' parameters. Update all
16101 callers.
16102 (grub_elf64_load): Likewise.
16103 (grub_elf32_load_segment): Move to a nested function.
16104 (grub_elf64_load_segment): Likewise.
16105
dc946850 161062007-02-12 Hollis Blanchard <hollis@penguinppc.org>
16107
16108 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
16109 prototype.
16110 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
16111 (grub_heap_len): Likewise.
16112 (HEAP_SIZE): New macro.
16113 (grub_claim_heap): New function.
16114 (grub_machine_init): Don't claim heap directly. Call
16115 `grub_claim_heap'.
16116 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
16117 (grub_available_iterate): New function.
16118
baa2a121 161192007-02-03 Thomas Schwinge <tschwinge@gnu.org>
16120
16121 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
16122 * configure.ac: Use it for testing the HOST and TARGET compilers.
16123
4fe9862e 161242006-12-13 Thomas Schwinge <tschwinge@gnu.org>
16125
16126 * Makefile.in (enable_grub_emu): New variable.
16127 * configure.ac (--enable-grub-emu): New option.
16128 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
16129 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
16130 * conf/i386-pc.rmk: Likewise.
16131 * conf/powerpc-ieee1275.rmk: Likewise.
16132 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
16133
a8aa5762 161342006-12-12 Marco Gerards <marco@gnu.org>
16135
16136 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
16137
16138 * kern/env.c (grub_env_unset): Don't free the member `value' when
16139 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
16140 pointer.
16141
16142 * normal/main.c (current_menu): Removed.
16143 (free_menu): Unset the `menu' environment variable.
16144 (grub_normal_menu_addentry): Make use of the environment variable
16145 `menu', instead of using the global `current_menu'. Allocate
16146 memory for the sourcecode of this entry.
16147 (read_config_file): New argument `nested', changed all callers.
16148 Only in the case of a new context, initialize a new menu. Set the
16149 `menu' environment variable.
16150 (grub_normal_execute): Don't set and unset the environment
16151 variable `menu' here anymore. Only free the menu when leaving the
16152 context.
16153
16154 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
16155 leak.
16156
957b3a3e 161572006-12-11 Marco Gerards <marco@gnu.org>
16158
16159 * normal/menu_entry.c (run): Fix off by one bug so the last line
16160 is executed. Move the loader check to outside the loop.
16161
ef875714 161622006-12-08 Hollis Blanchard <hollis@penguinppc.org>
16163
16164 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
16165
4e739985 161662006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
16167
16168 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
16169 the number of sectors. Reported by Andrey Shuvikov
16170 <mr_hyro@yahoo.com>.
f19dbdb7 16171
790707f2 161722006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
16173
16174 * kern/disk.c (grub_disk_read): When there is a read error, always
16175 try to read only the necessary data.
f19dbdb7 16176
790707f2 16177 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
16178 disk/raid.c.
16179 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
16180 prototype.
16181 [GRUB_UTIL] (grub_raid_fini): Likewise.
16182 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 16183 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 16184 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
16185 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
16186 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
16187 and grub_raid_fini().
f19dbdb7 16188
03e58196 161892006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
16190
16191 * include/grub/types.h (__unused): Rename to UNUSED.
16192 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
16193 (grub_elf64_size): Likewise.
f19dbdb7 16194
ae4f23bf 161952006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16196
16197 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
16198 grub_error_push and grub_error_pop in the error-handling path.
16199 (grub_elf32_load_segment): Only call grub_file_read with non-zero
16200 length.
16201
2166cc83 162022006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16203
16204 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
16205 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16207 (kernel_elf_SOURCES): Likewise.
16208 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
16209 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
16210 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16211 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16212 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
16213 (elf_mod_SOURCES): New variable.
16214 (elf_mod_CFLAGS): Likewise.
16215 (elf_mod_LDFLAGS): Likewise.
16216 * include/grub/types.h (__unused): New macro.
16217 * include/grub/elfload.h: New file.
16218 * kern/elf.c: Likewise.
16219 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
16220 (ELF32_LOADMASK): New macro.
16221 (ELF64_LOADMASK): Likewise.
16222 (vmlinux): Removed.
16223 (grub_linux_load32): New function.
16224 (grub_linux_load64): Likewise.
16225 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
16226 Use grub_elf_t instead of grub_file_t.
16227
a09d5aa5 162282006-11-02 Hollis Blanchard <hollis@penguinppc.org>
16229
16230 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
16231 `catch_result' to struct set_color_args.
16232
d976fc51 162332006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16234
16235 * normal/menu.c: Include grub/script.h.
16236 * normal/menu_entry.c: Likewise.
16237 * include/grub/normal.h: Do not include grub/script.h.
16238
67507549 162392006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16240
16241 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
16242
69203a99 162432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16244
16245 * kern/disk.c (grub_disk_open): Print debug messages when opening a
16246 disk.
16247 (grub_disk_close): Print debug messages when closing a disk.
16248 (grub_disk_read): Print debug messages when disk read fails.
16249 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
16250 filesystem type.
16251 * kern/partition.c: Include misc.h.
16252 (grub_partition_iterate): Print debug messages when detecting
16253 partition type.
16254
e2b8278c 162552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16256
16257 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
16258 is negative.
16259 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
16260
97b2f2ff 162612006-10-26 Hollis Blanchard <hollis@penguinppc.org>
16262
16263 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16264 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
16265
6555d655 162662006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
16267
16268 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
16269 instead of sizeof(lv). Patch by Michael Guntsche.
16270
4d42b77f 162712006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
16272
16273 * disk/lvm.c: Rename VGS to VG_LIST.
16274 (grub_lvm_iterate): Change VGS->LV to VG-LV.
16275 (grub_lvm_open): Likewise.
16276 Thanks to Michael Guntsche for finding this bug.
16277
5d74d927 162782006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16279
16280 * configure.ac (AC_INIT): Bumped to 1.95.
16281
a1bb27e4 162822006-10-14 Robert Millan <rmh@aybabtu.com>
16283
16284 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
16285 with "/dev/.static/dev/md".
16286
e0994b8b 162872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16288
16289 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
16290 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
16291 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
16292 DRIVE_NAME are always freed.
16293
16294 * util/i386/pc/biosdisk.c (make_device_name): Add one into
16295 DOS_PART, as a DOS partition is counted from one instead of zero
16296 now. Reported by Robert Millan.
16297
ddd5cee9 162982006-10-14 Robert Millan <rmh@aybabtu.com>
16299
16300 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
16301 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
16302 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
16303 string returned by grub_guess_root_device.
16304 * util/i386/pc/grub-setup.c: Likewise.
16305 * util/i386/pc/grub-probefs.c: Likewise.
16306
16307 * util/i386/pc/grub-probefs.c: Rename to ...
16308 * util/i386/pc/grub-probe.c: ... this.
16309 * DISTLIST: Remove grub-probefs, add grub-probe.
16310 * conf/i386-efi.rmk: Likewise.
16311 * conf/i386-pc.rmk: Likewise.
16312 * util/i386/pc/grub-install.in: Likewise.
16313
16314 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
16315 choose which information we want to print.
16316
2b002173 163172006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16318
16319 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
16320 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
16321 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
16322 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
16323 video/readers/tga.c and video/i386/pc/vbeutil.c.
16324
163252006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
16326
16327 Added support for RAID and LVM.
f19dbdb7 16328
2b002173 16329 * disk/lvm.c: New file.
16330 * disk/raid.c: Likewise.
16331 * include/grub/lvm.h: Likewise.
f19dbdb7 16332 * include/grub/raid.h: Likewise.
2b002173 16333 * include/grub/util/lvm.h: Likewise.
16334 * include/grub/util/raid.h: Likewise.
16335 * util/lvm.c: Likewise.
16336 * util/raid.c: Likewise.
16337
16338 * include/grub/disk.h (grub_disk_dev_id): Add
16339 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
16340 (grub_disk_get_size): New prototype.
16341 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
16342 returns a partition.
16343 (grub_disk_get_size): New function.
f19dbdb7 16344
2b002173 16345 * kern/i386/pc/init.c (make_install_device): Copy the prefix
16346 verbatim if grub_install_dos_part is -2.
16347
16348 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
16349 and LVM devices.
16350
16351 * util/i386/pc/grub-setup.c (setup): New argument
16352 MUST_EMBED. Force embedding of GRUB when the argument is
16353 true. Close FILE before returning.
16354 (main): Add support for RAID and LVM.
f19dbdb7 16355
2b002173 16356 * conf/common.rmk: Add RAID and LVM modules.
16357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
16358 util/lvm.c.
16359 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
16360
16361 * kern/misc.c (grub_strstr): New function.
16362 * include/grub/misc.h (grub_strstr): New prototype.
16363
050548d0 163642006-10-10 Tristan Gingold <tristan.gingold@bull.net>
16365
16366 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16367
da849d2d 163682006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16369
16370 * kern/misc.c (grub_strtoull): Guess the base only if not
16371 specified.
16372
97b2f2ff 163732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16374
16375 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16376 PowerMac support.
16377
97b2f2ff 163782006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16379
16380 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16381
16382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16383 Remove `flags' argument. All callers changed.
16384 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16385 (IEEE1275_IHANDLE_INVALID): New variable.
16386 (IEEE1275_CELL_INVALID): New variable.
16387 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16388 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16389 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16390 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16391 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16392 codes from Open Firmware. All callers updated.
16393 (grub_ieee1275_next_property): Directly return Open Firmware return
16394 code.
16395 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16396 Standardize error checking from `grub_ieee1275_get_property'.
16397 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16398 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16399
97b2f2ff 164002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16401
16402 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16403 `instance_to_package_args' to `instance_to_path_args'.
16404
16405 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16406 `grub_ieee1275_chosen'.
16407
16408 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16409 `grub_ieee1275_interpret'.
16410
97b2f2ff 164112006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16412
16413 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16414
97b2f2ff 164152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16416
16417 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16418 (__cmpdi): Likewise.
16419
16420 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16421 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16422 `grub_ssize_t'.
16423
02bb8acc 16424 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 16425
16426 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
16427 to type `grub_ssize_t'.
16428 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
16429
7f9a8531 164302006-09-22 Marco Gerards <marco@gnu.org>
16431
16432 * normal/script.c (grub_script_create_cmdmenu): Skip leading
16433 newlines.
16434
b5ef1102 164352006-09-22 Marco Gerards <marco@gnu.org>
16436
16437 * commands/echo.c: New file.
16438
16439 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
16440
16441 * conf/common.rmk (echo_mod_SOURCES): New variable.
16442 (echo_mod_CFLAGS): Likewise.
16443 (echo_mod_LDFLAGS): Likewise.
16444
2cff3677 164452006-09-22 Marco Gerards <marco@gnu.org>
16446
16447 * normal/main.c (get_line): Malloc memory instead of using
16448 preallocated memory. Removed the arguments `cmdline' and
16449 `max_len'. Updated all callers.
16450
6ba4688b 164512006-09-22 Marco Gerards <marco@gnu.org>
16452
16453 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
16454 (normal_mod_DEPENDENCIES): Likewise.
16455
16456 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
16457 (normal_mod_DEPENDENCIES): Likewise.
16458
16459 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
16460
e02ac02c 164612006-09-22 Johan Rydberg <jrydberg@gnu.org>
16462
16463 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
16464 programs.
16465 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
16466 (normal_mod_DEPENDENCIES): Likewise.
16467 * conf/i386-pc.mk: Regenerate.
16468 * conf/i386-efi.mk: Likewise
16469 * conf/common.mk: Likewise.
16470 * conf/powerpc-ieee1275.mk: Likewise.
16471 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16472
8d252e44 164732006-09-22 Robert Millan <rmh@aybabtu.com>
16474
16475 Sync with i386 version.
16476 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
16477 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
16478
209bf7ac 164792006-09-21 Robert Millan <rmh@aybabtu.com>
16480
16481 Import from GRUB Legacy (lib/device.c):
16482 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
16483 (init_device_map) [__linux__]: Add support for I2O devices.
16484
6b146090 164852006-09-14 Marco Gerards <marco@gnu.org>
16486
16487 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
16488 `-melf_i386'.
16489
e38600a8 164902006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 16491
16492 * util/i386/pc/grub-install.in: Skip menu.lst when removing
16493 /boot/grub/*.lst.
78fa1790 16494
2952da5d 16495 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 16496
2952da5d 16497 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
16498 before adding it to device.map.
16499
01b82a64 165002006-08-15 Johan Rydberg <jrydberg@gnu.org>
16501
fe6b695a 16502 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 16503 compiles a file; using the -MD option.
16504 * conf/common.mk: Regenerate.
16505 * conf/i386-pc.mk: Likewise.
16506 * conf/i386-efi.mk: Likewise.
16507 * conf/powerpc-ieee1275.mk: Likewise.
16508 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16509
1064790d 165102006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
16511
16512 Move the prototypes of grub_setjmp and grub_longjmp to
16513 cpu/setjmp.h, so that each architecture may specify different
16514 attributes.
f19dbdb7 16515
1064790d 16516 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
16517 (grub_longjmp): Likewise.
16518 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
16519 (grub_longjmp): Likewise.
16520 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
16521 (grub_longjmp): Likewise.
16522
16523 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
16524 [!GRUB_UTIL] (grub_longjmp): Removed.
16525
29dda3ed 165262006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
16527
16528 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
16529 "color!" method does not return any value.
16530
ad2a06ed 165312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16532
16533 * include/grub/bitmap.h: New file.
16534
16535 * include/grub/i386/pc/vbeutil.h: Likewise.
16536
16537 * video/bitmap.c: Likewise.
16538
16539 * video/readers/tga.c: Likewise.
16540
16541 * video/i386/pc/vbeutil.c: Likewise.
16542
16543 * commands/videotest.c: Code cleanup and updated to reflect to new
16544 video API.
16545
16546 * term/gfxterm.c: Likewise.
16547
16548 * video/video.c: Likewise.
16549
16550 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
16551 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
16552 (bitmap_mod_SOURCES): New entry.
16553 (bitmap_mod_CFLAGS): Likewise.
16554 (bitmap_mod_LDFLAGS): Likewise.
16555 (tga_mod_SOURCES): Likewise.
16556 (tga_mod_CFLAGS): Likewise.
16557 (tga_mod_LDFLAGS): Likewise.
16558
16559 * include/grub/video.h (grub_video_blit_operators): New enum type.
16560 (grub_video_render_target): Changed as forward declaration and moved
16561 actual definition to be video driver specific.
16562 (grub_video_adapter.blit_bitmap): Added blitting operator.
16563 (grub_video_adapter.blit_render_target): Likewise.
16564 (grub_video_blit_bitmap): Likewise.
16565 (grub_video_blit_render_target): Likewise.
16566
16567 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
16568 driver specific render target definition.
16569 (grub_video_vbe_map_rgba): Added driver internal helper.
16570 (grub_video_vbe_unmap_color): Updated to use
16571 grub_video_i386_vbeblit_info.
16572 (grub_video_vbe_get_video_ptr): Likewise.
16573
16574 * include/grub/i386/pc/vbeblit.h
16575 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
16576 grub_video_i386_vbeblit_info.
16577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16578 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16579 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16580 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16581 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16582 (grub_video_i386_vbeblit_index_index): Likewise.
16583 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
16584 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16585 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16586 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
16587 operator.
16588 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
16589 operator.
16590
16591 * video/i386/pc/vbeblit.c: Updated to reflect changes on
16592 include/grub/i386/pc/vbeblit.h.
16593
16594 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
16595 Updated to use grub_video_i386_vbeblit_info.
16596 (grub_video_i386_vbefill_R8G8B8): Likewise.
16597 (grub_video_i386_vbefill_index): Likewise.
16598 (grub_video_i386_vbefill): Added generic filler.
16599
16600 * video/i386/pc/vbefill.c: Updated to reflect changes on
16601 include/grub/i386/pc/vbefill.h.
16602
16603 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
16604 grub_video_i386_vbeblit_info.
16605 (grub_video_vbe_unmap_color): Likewise.
16606 (grub_video_vbe_blit_glyph): Likewise.
16607 (grub_video_vbe_scroll): Likewise.
16608 (grub_video_vbe_draw_pixel): Removed function.
16609 (grub_video_vbe_get_pixel): Likewise.
16610 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
16611 updated code to use it.
16612 (common_blitter): Added common blitter for render target and bitmap.
16613 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
16614 (grub_video_vbe_blit_render_target): Likewise.
16615
bc8c036d 166162006-07-30 Johan Rydberg <jrydberg@gnu.org>
16617
16618 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
16619 is in text mode if there is no console control protocol instance
16620 available.
16621
684a8eff 166222006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16623
16624 * include/grub/video.h: Code cleanup.
16625
16626 * include/grub/i386/pc/vbe.h: Likewise.
16627
16628 * video/i386/pc/vbe.c: Likewise.
16629
16630 * video/i386/pc/vbeblit.c: Likewise.
16631
16632 * video/i386/pc/vbefill.c: Likewise.
16633
16634 * video/video.c: Likewise. Also added more comments.
16635
5915059b 166362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16637
16638 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
16639 (struct grub_biosdisk_dap): Likewise.
16640
16641 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
16642 linkage settings for all functions.
16643
90ce5d56 166442006-07-12 Marco Gerards <marco@gnu.org>
16645
16646 * configure.ac (--enable-mm-debug): Fix typo.
16647
16648 * genkernsyms.sh.in: Use proper quoting for `CC'.
16649
43e7f879 166502006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
16651
16652 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
16653 (normal_mod_ASFLAGS): Remove "-m32".
16654
4889bdec 166552006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
16656
16657 * util/misc.c: Include config.h.
16658 [!HAVE_MEMALIGN]: Do not include malloc.h.
16659 (grub_memalign): Use posix_memalign, if present. Then, use
16660 memalign, if present. Otherwise, emit an error.
16661
16662 * util/grub-emu.c: Do not include malloc.h.
16663
16664 * include/grub/util/misc.h: Include unistd.h. This is required for
16665 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
16666 D. Eades III <hde@foobar-qux.org>.
16667
16668 * configure.ac (AC_GNU_SOURCE): Added.
16669 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
16670 type.
16671
fd39d4da 166722006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
16673
16674 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
16675 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
16676
b786f3b5 166772006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
16678
16679 * include/grub/types.h (grub_host_addr_t): Rename to
16680 grub_target_addr_t.
16681 (grub_host_off_t): Rename to grub_target_off_t.
16682 (grub_host_size_t): Rename to grub_target_size_t.
16683 (grub_host_ssize_t): Rename to grub_target_ssize_t.
16684 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
16685
16686 * include/grub/kernel.h (struct grub_module_header): Change type
16687 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
16688 (grub_module_info): Likewise.
f19dbdb7 16689
051988bb 166902006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16691
16692 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
16693 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
16694 Velazquez <jesus.velazquez@gmail.com>.
16695
deae281b 166962006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16697
16698 Count partitions from 1 instead of 0 in the string representation
16699 of partitions. Still use 0-based internally.
f19dbdb7 16700
deae281b 16701 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
16702 (sun_partition_map_iterate): Use grub_partition_t instead of
16703 struct grub_partition *. Cast DESC->START_CYLINDER to
16704 grub_uint64_t after converting the endian.
16705 (sun_partition_map_probe): Subtract 1 for PARTNUM.
16706 (sun_partition_map_get_name): Add 1 to P->INDEX.
16707
16708 * partmap/pc.c (grub_partition_parse): Subtract 1 for
16709 PCDATA->DOS_PART.
16710 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
16711
16712 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
16713 zero instead of one.
16714 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
16715 (gpt_partition_map_get_name): Add 1 into P->INDEX.
16716
16717 * partmap/apple.c (apple_partition_map_iterate): Change the type
16718 of POS to unsigned.
16719 (apple_partition_map_probe): Subtract 1 for PARTNUM.
16720 (apple_partition_map_get_name): Add 1 into P->INDEX.
16721
16722 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
16723 of POS to unsigned.
16724 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
16725 calculate the offset of a partition.
16726 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
16727 (amiga_partition_map_get_name): Add 1 into P->INDEX.
16728
16729 * partmap/acorn.c (acorn_partition_map_find): Change the type of
16730 SECTOR to grub_disk_addr_t.
16731 (acorn_partition_map_iterate): Likewise.
16732 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
16733 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
16734 top.
16735 (acorn_partition_map_get_name): Add 1 into P->INDEX.
16736
16737 * kern/i386/pc/init.c (make_install_device): Add 1 into
16738 GRUB_INSTALL_DOS_PART.
16739
16740 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
16741 conditional.
16742
524a1e6a 167432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16744
16745 Clean up the code to support 64-bit addressing in disks and
16746 files. This change is not enough for filesystems yet.
f19dbdb7 16747
524a1e6a 16748 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
16749 type of "start" to grub_uint64_t.
16750 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
16751 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
16752 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
16753 convert addresses.
16754
16755 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
16756 to grub_disk_addr_t.
16757
16758 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
16759 string.
16760
16761 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16762
16763 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
16764 to char *.
16765
16766 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
16767
16768 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
16769
16770 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
16771
16772 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
16773 to grub_off_t, to detect an error from grub_file_seek.
16774 (grub_multiboot_load_elf32): Likewise.
16775
16776 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
16777 maximum unsigned long value when an overflow is detected.
16778 (grub_strtoull): New function.
16779 (grub_divmod64): Likewise.
16780 (grub_lltoa): use grub_divmod64.
16781
16782 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
16783 grub_disk_addr_t.
16784 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
16785 the pointer to next character. Use grub_strtoull instead of
16786 grub_strtoul.
16787 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
16788 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
16789 respectively.
16790
fe6b695a 16791 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 16792 return value is signed.
16793 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
16794 test if OFFSET is less than zero, as OFFSET is unsigned now.
16795
16796 * kern/disk.c (struct grub_disk_cache): Change the type of
16797 "sector" to grub_disk_addr_t.
16798 (grub_disk_cache_get_index): Change the type of SECTOR to
16799 grub_disk_addr_t. Calculate the hash with SECTOR casted to
16800 unsigned after shifting.
16801 (grub_disk_cache_invalidate): Change the type of SECTOR to
16802 grub_disk_addr_t.
16803 (grub_disk_cache_unlock): Likewise.
16804 (grub_disk_cache_store): Likewise.
16805 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
16806 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
16807 grub_disk_addr_t and grub_uint64_t, respectively.
16808 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
16809 body, as the value of OFFSET is tweaked by
16810 grub_disk_check_range. Change the types of START_SECTOR, LEN and
16811 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
16812 respectively.
16813 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
16814 body, as the value of OFFSET is tweaked by
16815 grub_disk_check_range. Change the types of LEN and N to
16816 grub_size_t.
16817
16818 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
16819 and "saved_offset" to grub_off_t.
16820 (test_header): Cast BUF to char *.
16821 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
16822 to char *.
16823 (grub_gzio_read): Change the types of OFFSET and SIZE to
16824 grub_off_t and grub_size_t, respectively.
16825
16826 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
16827 Removed.
16828 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
16829 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
16830 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
16831 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
16832 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
16833
16834 * include/grub/types.h (grub_off_t): Unconditionally set to
16835 grub_uint64_t.
16836 (grub_disk_addr_t): Changed to grub_uint64_t.
16837
16838 * include/grub/partition.h (struct grub_partition): Change the
16839 types of "start", "len" and "offset" to grub_disk_addr_t,
16840 grub_uint64_t and grub_disk_addr_t, respectively.
16841 (grub_partition_get_start): Return grub_disk_addr_t.
16842 (grub_partition_get_len): Return grub_uint64_t.
16843
16844 * include/grub/misc.h (grub_strtoull): New prototype.
16845 (grub_divmod64): Likewise.
16846
16847 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
16848 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
16849 grub_off_t, respectively.
16850 All callers and references changed.
16851
16852 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
16853 grub_size_t in "read".
16854 All callers and references changed.
16855
16856 * include/grub/file.h (struct grub_file): Change the types of
16857 "offset" and "size" to grub_off_t and grub_off_t,
16858 respectively. Change the type of SECTOR to grub_disk_addr_t in
16859 "read_hook".
16860 (grub_file_read): Change the type of LEN to grub_size_t.
16861 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
16862 grub_off_t.
16863 (grub_file_size): Return grub_off_t.
16864 (grub_file_tell): Likewise.
16865 All callers and references changed.
16866
16867 * include/grub/disk.h (struct grub_disk_dev): Change the types of
16868 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
16869 "write".
16870 (struct grub_disk): Change the type of "total_sectors" to
16871 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 16872 "read_hook".
524a1e6a 16873 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
16874 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
16875 (grub_disk_write): Likewise.
16876 All callers and references changed.
16877
16878 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
16879 char * for grub_strncmp to silence gcc.
16880 (grub_iso9660_mount): Likewise.
16881 (grub_iso9660_mount): Likewise.
16882 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
16883 return statement.
16884 (grub_iso9660_iterate_dir): Likewise.
16885 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
16886
16887 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
16888 LEN to grub_disk_addr_t and grub_size_t, respectively.
16889
16890 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16891
16892 * fs/jfs.c (grub_jfs_read_file): Likewise.
16893
16894 * fs/minix.c (grub_jfs_read_file): Likewise.
16895
16896 * fs/sfs.c (grub_jfs_read_file): Likewise.
16897
16898 * fs/ufs.c (grub_jfs_read_file): Likewise.
16899
16900 * fs/xfs.c (grub_jfs_read_file): Likewise.
16901
16902 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
16903 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
16904 respectively.
16905
16906 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
16907 BLKNR to -1 instead of returning GRUB_ERRNO.
16908 (grub_ext2_read_file): Change the types of SECTOR and
16909 LEN to grub_disk_addr_t and grub_size_t, respectively.
16910
16911 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
16912 LEN to grub_disk_addr_t and grub_size_t, respectively.
16913
16914 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
16915 grub_file_read.
16916
16917 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
16918 string. Do not cast SECTOR explicitly.
16919
16920 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
16921 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
16922 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
16923 grub_disk_addr_t and grub_size_t, respectively. If the sector is
16924 over 2TB and LBA mode is not supported, raise an error.
16925 (get_safe_sectors): New function.
16926 (grub_biosdisk_read): Use get_safe_sectors.
16927 (grub_biosdisk_write): Likewise.
16928
16929 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
16930 (grub_efidisk_write): Likewise.
16931
16932 * disk/loopback.c (delete_loopback): Cosmetic changes.
16933 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
16934 correctly.
16935 (grub_loopback_open): Likewise.
16936 (grub_loopback_read): Likewise. Also, change the type of POS to
16937 grub_off_t, and fix the usage of grub_memset.
16938
16939 * commands/i386/pc/play.c: Include grub/machine/time.h.
16940
16941 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
16942 print FILE->SIZE.
16943
16944 * commands/configfile.c: Include grub/env.h.
16945
16946 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
16947 GRUB_ERRNO directly instead. Change the type of POS to
16948 grub_off_t. Follow the coding standard.
16949
16950 * commands/blocklist.c: Include grub/partition.h.
16951 (grub_cmd_blocklist): Return an error if the underlying device is
16952 not a disk. Take the starting sector of a partition into account,
16953 if a partition is used.
16954
16955 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
16956 a length field.
16957 (lba_mode): Support 64-bit addresses.
16958 (chs_mode): Likewise.
16959 (copy_buffer): Adapted to the new offsets of a length field and a
16960 segment field.
16961 (blocklist_default_start): Allocate 64-bit space.
16962
16963 * boot/i386/pc/boot.S (force_lba): Removed.
16964 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 16965 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 16966 space.
16967 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
16968 is useless.
16969 (lba_mode): Refactored to support a 64-bit address. More size
16970 optimization.
16971 (setup_sectors): Likewise.
16972
53af98ad 169732006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16974
16975 * DISTLIST: Added include/grub/i386/linux.h. Removed
16976 include/grub/i386/pc/linux.h
16977
16978 * configure.ac (AC_INIT): Bumped to 1.94.
16979
16980 * config.guess: Updated from gnulib.
16981 * config.sub: Likewise.
16982 * install-sh: Likewise.
16983 * mkinstalldirs: Likewise.
16984
b4c1940a 169852006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16986
16987 * conf/common.rmk (grub_modules_init.lst): Depended on
16988 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
16989 MODSRCFILES.
16990
16991 * genmk.rb (PModule::rule): Reverted the previous change.
16992
cfca1cfd 169932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16994
16995 * conf/common.rmk (grub_modules_init.lst): Depends on
16996 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
16997 that the target does not exist before producing.
16998 (grub_modules_init.h): Remove the target before generating.
16999 (grub_emu_init.c): Likewise.
17000
17001 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
17002
aa6d7826 170032006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
17004
17005 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
17006 for the target-specific tests. Make sure that we also have the
17007 up-to-date target variables for those tests.
17008
26c607b9 170092006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17010
17011 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
17012 (PModule::rule): Likewise.
17013
0162321a 170142006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
17015
17016 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
17017 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
17018 target-specific flags should be prefixed.
17019 (PModule::rule): Likewise.
17020
6c826348 170212006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
17022
17023 * configure.ac (CMP): Check if cmp is available explicitly.
17024
b977bf01 170252006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
17026
17027 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
17028 (target_cpu): New variable.
17029 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 17030
b977bf01 17031 * util/i386/pc/grub-install.in (host_cpu): Removed.
17032 (target_cpu): New variable.
17033 (pkglibdir): Use target_cpu instead of host_cpu.
17034
17035 * util/genmoddep.c: Removed.
f19dbdb7 17036
b977bf01 17037 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
17038 instead of GRUB_HOST_SIZEOF_VOID_P.
17039 * kern/dl.c: Likewise.
17040
17041 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
17042 ...
17043 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17044 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17045 (GRUB_TARGET_SIZEOF_LONG): ... this.
17046 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17047 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17048 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17049 to ...
17050 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17051 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17052 (GRUB_TARGET_SIZEOF_LONG): ... this.
17053 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17054 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17055 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
17056 to ...
17057 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
17058 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
17059 (GRUB_TARGET_SIZEOF_LONG): ... this.
17060 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
17061 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
17062
17063 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
17064 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
17065 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
17066 instead of GRUB_HOST_SIZEOF_LONG.
17067 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
17068 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
17069 GRUB_CPU_WORDS_BIGENDIAN.
17070 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
17071 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
17072 grub_host_ssize_t.
17073
17074 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
17075 (genmoddep_SOURCES): Likewise.
17076 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
17077 (genmoddep_SOURCES): Likewise.
17078 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
17079 (genmoddep_SOURCES): Likewise.
17080 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
17081 Likewise.
17082 (genmoddep_SOURCES): Likewise.
17083
17084 * genmoddep.awk: New file.
17085
17086 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
17087 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
17088 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
17089 (PModule::rule): Likewise.
17090 (Program::rule): Likewise.
17091 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
17092 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
17093 respectively.
17094
17095 * configure.ac: Rewritten intensively to use host and target
17096 instead of build and host, respectively.
17097
17098 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
17099 (host_cpu): Removed.
17100 (target_cpu): New variable.
17101 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
17102 (BUILD_CC): Removed.
17103 (BUILD_CFLAGS): Likewise.
17104 (BUILD_CPPFLAGS): Likewise.
17105 (TARGET_CC): New variable.
17106 (TARGET_CFLAGS): Likewise.
17107 (TARGET_CPPFLAGS): Likewise.
17108 (TARGET_LDFLAGS): Likewise.
17109 (AWK): Likewise.
17110 (include): Use target_cpu instead of host_cpu.
17111 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 17112
b977bf01 17113 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
17114
f09771a1 171152006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
17116
17117 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
17118 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
17119 field 'false' to 'exec_on_false'.
17120 (grub_script_create_cmdif): Renamed argument names to reflect above
17121 changes.
17122
17123 * normal/execute.c (grub_script_execute_cmdif): Likewise.
17124
17125 * normal/script.c (grub_script_create_cmdif): Likewise.
17126
118f4fb3 171272006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
17128
17129 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
17130 top.
17131 (grub_hfsplus_btree_recptr): Likewise.
17132 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
17133 FILEBLOCK both to pass a block number and store next block
17134 number.
17135 (grub_hfsplus_read_block): Rewritten heavily to support an extent
17136 overflow file correctly. Specify errors appropriately, because
17137 fshelp expects that GRUB_ERRNO is set when fails. Reuse
17138 grub_hfsplus_btree_recptr to get the pointer to a found key.
17139 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
17140 is found.
17141
17142 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
17143 linux.mod.
17144 (_linux_mod_SOURCES): New variable.
17145 (_linux_mod_CFLAGS): Likewise.
17146 (_linux_mod_LDFLAGS): Likewise.
17147 (linux_mod_SOURCES): Likewise.
17148 (linux_mod_CFLAGS): Likewise.
17149 (linux_mod_LDFLAGS): Likewise.
17150
17151 * DISTLIST: Added loader/i386/efi/linux.c,
17152 loader/i386/efi/linux_normal.c and
17153 include/grub/i386/efi/loader.h.
17154
17155 * loader/i386/efi/linux.c: New file.
17156 * loader/i386/efi/linux_normal.c: Likewise.
17157 * include/grub/i386/efi/loader.h: Likewise.
17158
89a7d726 171592006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
17160
17161 * commands/blocklist.c: New file.
17162
17163 * DISTLIST: Added commands/blocklist.c.
17164
17165 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 17166 color for the background, and a darker color for the foreground.
89a7d726 17167 (grub_console_checkkey): Return READ_KEY.
17168 (grub_console_cls): Set the background to
17169 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
17170
17171 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
17172
17173 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
17174 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
17175
17176 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
17177 prototype.
17178
17179 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
17180 BG. The spec is wrong again.
17181
17182 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
17183 prototype.
17184 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
17185
17186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
17187 commands/blocklist.c.
17188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 17189
89a7d726 17190 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
17191 (blocklist_mod_SOURCES): New variable.
17192 (blocklist_mod_CFLAGS): Likewise.
17193 (blocklist_mod_LDFLAGS): Likewise.
17194
75c8f258 171952006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
17196
17197 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
17198 duplication.
17199 (lba_mode): Use %eax more intensively to reduce the code size.
17200
da2eb181 172012006-05-20 Marco Gerards <marco@gnu.org>
17202
17203 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
17204
17205 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
17206 for `menuentry'.
17207 (script): Accept leading newlines.
17208 (newlines): New rule to describe 0 or more newlines.
17209 (commands): Accept `command' with trailing newline. Fixed the
17210 order in which arguments were passed to `grub_script_add_cmd'.
17211 Accept commands separated by newlines.
17212 (function): Changed to accept newlines.
17213 (menuentry) Rewritten.
17214
17215 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
17216 front of the list, instead of to the end.
17217
577b4050 172182006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
17219
17220 * util/i386/pc/grub-install.in (bindir): New variable.
17221 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
17222 Shaver <lbgwjl@gmail.com>.
17223
0d6e1189 172242006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
17225
17226 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
17227 grub/machine/linux.h
17228 * loader/i386/pc/linux.c: Likewise.
17229
17230 * include/grub/i386/pc/linux.h: Moved to ...
17231 * include/grub/i386/linux.h: ... here.
17232
17233 * include/grub/i386/linux.h (struct linux_kernel_params): New
17234 struct.
f19dbdb7 17235
31b86e9f 172362006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
17237
17238 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
17239 checking.
17240 (grub_video_vbe_blit_glyph): Likewise.
17241 (grub_video_vbe_blit_bitmap): Likewise.
17242 (grub_video_vbe_blit_render_target): Likewise.
17243
83b984de 172442006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
17245
17246 * configure.ac (--with-platform): Properly quote the square
17247 brackets.
17248
5f0413bd 172492006-05-08 Marco Gerards <marco@gnu.org>
17250
17251 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
17252 this...
17253 (kernel_elf_HEADERS): ...to this. Updated all users.
17254 (grubof_symlist.c): Renamed from this...
17255 (kernel_elf_symlist.c): ...to this. Updated all users.
17256 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17257 (grubof_SOURCES): Renamed from this...
17258 (kernel_elf_SOURCES): ...to this.
17259 (grubof_HEADERS): Renamed from this...
17260 (kernel_elf_HEADERS): ...to this.
17261 (grubof_CFLAGS): Renamed from this...
17262 (kernel_elf_CFLAGS): ...to this.
17263 (grubof_ASFLAGS): Renamed from this...
17264 (kernel_elf_ASFLAGS): ...to this.
17265 (grubof_LDFLAGS): Renamed from this...
17266 (kernel_elf_LDFLAGS): ...to this.
17267
17268 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
17269 this...
17270 (kernel_elf_HEADERS): ...to this. Updated all users.
17271 (grubof_symlist.c): Renamed from this...
17272 (kernel_elf_symlist.c): ...to this. Updated all users.
17273 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17274 (grubof_SOURCES): Renamed from this...
17275 (kernel_elf_SOURCES): ...to this.
17276 (grubof_HEADERS): Renamed from this...
17277 (kernel_elf_HEADERS): ...to this.
17278 (grubof_CFLAGS): Renamed from this...
17279 (kernel_elf_CFLAGS): ...to this.
17280 (grubof_ASFLAGS): Renamed from this...
17281 (kernel_elf_ASFLAGS): ...to this.
17282 (grubof_LDFLAGS): Renamed from this...
17283 (kernel_elf_LDFLAGS): ...to this.
17284
17285 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
17286 `kernel.elf' instead of `grubof'.
17287
05568c2e 172882006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
17289
17290 Add --with-platform to configure. Use pkglibdir instead of
17291 pkgdatadir. This is reported by Roger Leigh.
17292
17293 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
17294 (host_vendor): Likewise.
17295 (host_os): Likewise.
17296 (pkgdatadir): Likewise.
17297 (platform): New variable.
17298 (pkglibdir): Likewise.
17299 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 17300
05568c2e 17301 * util/i386/pc/grub-install.in (datadir): Removed.
17302 (host_vendor): Likewise.
17303 (host_os): Likewise.
17304 (pkgdatadir): Likewise.
17305 (platform): New variable.
17306 (pkglibdir): Likewise.
17307 Use PKGLIBDIR instead of PKGDATADIR.
17308
17309 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
17310 instead of GRUB_DATADIR.
17311 (main): Likewise.
17312 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17313 (main): Likewise.
17314 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17315 (main): Likewise.
17316
17317 * configure.ac (--with-platform): New option.
17318 Use PLATFORM instead of HOST_VENDOR to specify a platform.
17319
17320 * Makefile.in: Include a makefile based on PLATFORM instead of
17321 HOST_VENDOR.
17322 (pkgdatadir): Not appended by the machine type.
17323 (pkglibdir): Appended by the machine type.
17324 (host_vendor): Removed.
17325 (platform): New variable.
17326 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
17327 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
17328 (uninstall): Likewise.
17329
4e93851c 173302006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
17331
17332 Use the environment context in the menu. Remove the commands
17333 "default" and "timeout", and use variables instead.
f19dbdb7 17334
4e93851c 17335 * normal/menu.c: Include grub/env.h.
17336 (print_entry): Cast TITLE to silence gcc.
17337 (get_timeout): New function.
17338 (set_timeout): Likewise.
17339 (get_entry_number): Likewise.
17340 (run_menu): Use a default entry, a fallback entry and a timeout
17341 in the environment variables "default", "fallback" and
17342 "timeout". Also, tweak the default entry if it is not within the
17343 current menu entries.
17344 (grub_menu_run): Use a fallback entry in the environment variable
17345 "fallback".
17346
17347 * normal/main.c (read_config_file): Do not initialize
17348 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
17349 NEWMENU->TIMEOUT.
17350 (grub_normal_execute): Use a data slot to store the menu.
17351
17352 * include/grub/normal.h (struct grub_menu): Removed default_entry,
17353 fallback_entry and timeout.
17354 (struct grub_menu_list): Removed.
17355 (grub_menu_list_t): Likewise.
17356 (struct grub_context): Likewise.
17357 (grub_context_t): Likewise.
17358 (grub_context_get): Likewise.
17359 (grub_context_get_current_menu): Likewise.
17360 (grub_context_push_menu): Likewise.
17361 (grub_context_pop_menu): Likewise.
17362 (grub_default_init): Likewise.
17363 (grub_default_fini): Likewise.
17364 (grub_timeout_init): Likewise.
17365 (grub_timeout_fini): Likewise.
17366
17367 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17368 and timeout.mod.
17369 (normal_mod_SOURCES): Removed normal/context.c.
17370
17371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17372 commands/default.c, commands/timeout.c and normal/context.c.
17373 (normal_mod_SOURCES): Removed normal/context.c.
17374
17375 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17376 commands/timeout.c and normal/context.c.
17377 (normal_mod_SOURCES): Removed normal/context.c.
17378
17379 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17380 commands/default.c, commands/timeout.c and normal/context.c.
17381 (normal_mod_SOURCES): Removed normal/context.c.
17382
17383 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17384 timeout.mod.
17385 (default_mod_SOURCES): Removed.
17386 (default_mod_CFLAGS): Likewise.
17387 (default_mod_LDFLAGS): Likewise.
17388 (timeout_mod_SOURCES): Removed.
17389 (timeout_mod_CFLAGS): Likewise.
17390 (timeout_mod_LDFLAGS): Likewise.
17391
17392 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17393 normal/context.c.
17394
17395 * commands/default.c: Removed.
17396 * commands/timeout.c: Likewise.
17397 * normal/context.c: Likewise.
17398
1eb9cc1d 173992006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17400
17401 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17402
385bd9c1 174032006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17404
17405 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17406 "next" to "prev" for readability.
17407 (struct grub_env_sorted_var): New struct.
17408 (grub_env_context): Renamed to ...
17409 (initial_context): ... this.
17410 (grub_env_var_context): Renamed to ...
17411 (current_context): ... this.
17412 (grub_env_find): Look only at CURRENT_CONTEXT.
17413 (grub_env_context_open): Rewritten to copy exported variables from
17414 previous context.
17415 (grub_env_context_close): Rewritten according to the new
17416 scheme. Also, add an assertion to prevent the initial context from
17417 removed.
17418 (grub_env_insert): Removed the code for the sorted list.
17419 (grub_env_remove): Likewise.
17420 (grub_env_export): Simply mark the variable with
17421 GRUB_ENV_VAR_GLOBAL.
17422 (grub_env_set): A cosmetic change for naming consistency.
17423 (grub_env_get): Likewise.
17424 (grub_env_unset): Likewise.
17425 (grub_env_iterate): Rewritten to sort variables within this
17426 function.
17427 (grub_register_variable_hook): Fixed for naming consistency. Call
17428 grub_env_find again, only if NAME is not found at the first time.
17429 (mangle_data_slot_name): New function.
17430 (grub_env_set_data_slot): Likewise.
17431 (grub_env_get_data_slot): Likewise.
17432 (grub_env_unset_data_slot): Likewise.
17433
17434 * include/grub/env.h (grub_env_var_type): New enum.
17435 (GRUB_ENV_VAR_LOCAL): New constant.
17436 (GRUB_ENV_VAR_GLOBAL): Likewise.
17437 (GRUB_ENV_VAR_DATA): Likewise.
17438 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
17439 "type".
17440 (grub_env_set): Replace VAR with NAME for consistency.
17441 (grub_register_variable_hook): Likewise.
17442 (grub_env_export): Specify the name of the argument.
17443 (grub_env_set_data_slot): New prototype.
17444 (grub_env_get_data_slot): Likewise.
17445 (grub_env_unset_data_slot): Likewise.
17446
7f362539 174472006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17448
17449 Extend the loader so that GRUB can accept a loader which comes
17450 back to GRUB when a loaded image exits. Also, this change adds
17451 support for a chainloader on EFI.
f19dbdb7 17452
7f362539 17453 * term/efi/console.c: Include grub/misc.h.
17454 (grub_console_checkkey): Display a scan code on the top for
17455 debugging. This will be removed once the EFI port gets stable.
17456 Correct the scan code mapping.
17457
17458 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
17459 allocate memory from larger regions, in order to reduce the number
17460 of allocated regions. Otherwise, the MacOSX loader panics.
17461 (filter_memory_map): Avoid less than 1MB for compatibility with
17462 other loaders.
17463 (add_memory_regions): Allocate from the tail of a region, if
17464 possible, to avoid allocating a region near to 1MB, for the MacOSX
17465 loader.
17466
17467 * kern/efi/init.c (grub_efi_set_prefix): Specify
17468 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
17469
17470 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
17471 argument IMAGE_HANDLE and specify it to get a loaded image.
17472 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
17473 grub_efi_get_loaded_image.
fe6b695a 17474 (grub_efi_get_filename): Divide the length by the size of
7f362539 17475 grub_efi_char16_t.
17476 (grub_efi_get_device_path): New function.
17477 (grub_efi_print_device_path): Print End Device Path nodes. Divide
17478 the length by the size of grub_efi_char16_t for a file path device
17479 path node.
17480
17481 * kern/loader.c (grub_loader_noreturn): New variable.
17482 (grub_loader_set): Accept a new argument NORETURN. Set
17483 GRUB_LOADER_NORETURN to NORETURN.
17484 All callers changed.
17485 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
17486 grub_machine_fini.
17487
17488 * include/grub/efi/efi.h (grub_efi_get_device_path): New
17489 prototype.
17490 (grub_efi_get_loaded_image): Take an argument to specify an image
17491 handle.
17492
17493 * include/grub/loader.h (grub_loader_set): Added one more argument
17494 NORETURN.
17495
17496 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
17497 instead of grub_efi_open_protocol.
17498 (grub_efidisk_get_device_name): Likewise.
17499 (grub_efidisk_close): Print a newline.
17500 (grub_efidisk_get_device_handle): Fixed to use
17501 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
17502 GRUB_EFI_DEVICE_PATH_TYPE.
17503
17504 * disk/efi/efidisk.c (device_path_guid): Moved to ...
17505 * kern/efi/efi.c (device_path_guid): ... here.
17506
17507 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
17508 chain.mod.
17509 (kernel_mod_HEADERS): Added efi/disk.h.
17510 (_chain_mod_SOURCES): New variable.
17511 (_chain_mod_CFLAGS): Likewise.
17512 (_chain_mod_LDFLAGS): Likewise.
17513 (chain_mod_SOURCES): Likewise.
17514 (chain_mod_CFLAGS): Likewise.
17515 (chain_mod_LDFLAGS): Likewise.
17516
17517 * DISTLIST: Added include/grub/efi/chainloader.h,
17518 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
17519
17520 * include/grub/efi/chainloader.h: New file.
17521 * loader/efi/chainloader.c: Likewise.
17522 * loader/efi/chainloader_normal.c: Likewise.
17523
c0111d6e 175242006-04-30 Marco Gerards <marco@gnu.org>
17525
17526 * commands/configfile.c (grub_cmd_source): New function.
17527 (GRUB_MOD_INIT): Register the commands `source' and `.'.
17528 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
17529
df5341da 175302006-04-30 Marco Gerards <marco@gnu.org>
17531
17532 * normal/execute.c (grub_script_execute_cmd): Change the return
17533 type to `grub_err_t'. Correctly return the error.
17534 (grub_script_execute_cmdline): In case a command line is not a
17535 command or a function, try to interpret it as an assignment.
17536
f85934bd 175372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17538
17539 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
17540 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
17541 skip a node whose name is obviously invalid as UTF-16,
17542 i.e. contains a NUL character. Stop the iteration when the last
17543 directory entry is found. Instead of using the return value of
17544 grub_hfsplus_btree_iterate_node, store the value in RET and use
17545 it, because the iterator can be stopped by the last directory
17546 entry.
17547
8f8a2cf8 175482006-04-30 Marco Gerards <marco@gnu.org>
17549
17550 * include/grub/env.h (grub_env_export): New prototype. Reported
17551 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
17552
a27e84ce 175532006-04-30 Marco Gerards <marco@gnu.org>
17554
17555 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
17556 size of the extents in a catalog file record.
17557
eaef0553 175582006-04-29 Marco Gerards <marco@gnu.org>
17559
17560 * commands/configfile.c (grub_cmd_configfile): Execute the
17561 configfile within its own context.
17562
17563 * include/grub/env.h (grub_env_context_open): New prototype.
17564 (grub_env_context_close): Likewise.
17565
17566 * kern/env.c (grub_env): Removed.
17567 (grub_env_sorted): Likewise.
17568 (grub_env_context): New variable.
17569 (grub_env_var_context): Likewise.
17570 (grub_env_find): Search both the active context and the global
17571 context.
17572 (grub_env_context_open): New function.
17573 (grub_env_context_close): Likewise.
17574 (grub_env_insert): Likewise.
17575 (grub_env_remove): Likewise.
17576 (grub_env_export): Likewise.
17577 (grub_env_set): Changed to use helper functions to avoid code
17578 duplication.
17579 (grub_env_iterate): Rewritten so both the current context and the
17580 global context are being used.
17581
17582 * normal/command.c (export_command): New function.
17583 (grub_command_init): Register the `export' function.
17584
7b455f4d 175852006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
17586
17587 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
17588 explicitly to suppress gcc's warnings.
17589 * fs/fat.c (grub_fat_find_dir): Likewise.
17590 (grub_fat_label): Likewise.
17591 * fs/xfs.c (grub_xfs_read_inode): Likewise.
17592 (grub_xfs_mount): Likewise.
17593 (grub_xfs_label): Likewise.
17594 * fs/affs.c (grub_affs_mount): Likewise.
17595 (grub_affs_label): Likewise.
17596 (grub_affs_iterate_dir): Likewise.
17597 * fs/sfs.c (grub_sfs_mount): Likewise.
17598 (grub_sfs_iterate_dir): Likewise.
17599 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
17600 * fs/hfs.c (grub_hfs_mount): Likewise.
17601 (grub_hfs_cmp_catkeys): Likewise.
17602 (grub_hfs_find_dir): Likewise.
17603 (grub_hfs_dir): Likewise.
17604 (grub_hfs_label): Likewise.
17605 * fs/jfs.c (grub_jfs_mount): Likewise.
17606 (grub_jfs_opendir): Likewise.
17607 (grub_jfs_getent): Likewise.
17608 (grub_jfs_lookup_symlink): Likewise.
17609 (grub_jfs_label): Likewise.
17610 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
17611 (grub_hfsplus_iterate_dir): Likewise.
17612 (grub_hfsplus_btree_iterate_node): Made static.
17613
17614 * util/grub-emu.c (prefix): New variable.
17615 (grub_machine_set_prefix): New function.
17616 (main): Do not set the environment variable "prefix" here. Only
17617 set PREFIX, which is used later by grub_machine_set_prefix.
17618
17619 * include/grub/video.h: Do not include grub/symbol.h.
17620 (grub_video_register): Not exported. This symbol is not defined in
17621 the kernel.
17622 (grub_video_unregister): Likewise.
17623 (grub_video_iterate): Likewise.
17624 (grub_video_setup): Likewise.
17625 (grub_video_restore): Likewise.
17626 (grub_video_get_info): Likewise.
17627 (grub_video_get_blit_format): Likewise.
17628 (grub_video_set_palette): Likewise.
17629 (grub_video_get_palette): Likewise.
17630 (grub_video_set_viewport): Likewise.
17631 (grub_video_get_viewport): Likewise.
17632 (grub_video_map_color): Likewise.
17633 (grub_video_map_rgb): Likewise.
17634 (grub_video_map_rgba): Likewise.
17635 (grub_video_fill_rect): Likewise.
17636 (grub_video_blit_glyph): Likewise.
17637 (grub_video_blit_bitmap): Likewise.
17638 (grub_video_blit_render_target): Likewise.
17639 (grub_video_scroll): Likewise.
17640 (grub_video_swap_buffers): Likewise.
17641 (grub_video_create_render_target): Likewise.
17642 (grub_video_delete_render_target): Likewise.
17643 (grub_video_set_active_render_target): Likewise.
17644
17645 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
17646 Undefined.
17647 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
17648
17649 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
17650 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17651 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17652 instead of $(srcdir)/genkernsyms.sh.
17653
17654 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
17655 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17656 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17657 instead of $(srcdir)/genkernsyms.sh.
17658
17659 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
17660 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17661 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17662 instead of $(srcdir)/genkernsyms.sh.
17663
17664 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
17665 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17666 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17667 instead of $(srcdir)/genkernsyms.sh.
17668
17669 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
17670 genkernsyms.sh.
17671
17672 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
17673 genkernsyms.sh.
17674 (gensymlist.sh): New target.
17675 (genkernsyms.sh): Likewise.
17676
17677 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
17678 genkernsyms.sh.in and gensymlist.sh.in.
17679
17680 * genkernsyms.sh: Removed.
17681 * gensymlist.sh: Likewise.
f19dbdb7 17682
7b455f4d 17683 * genkernsyms.sh.in: New file.
17684 * gensymlist.sh.in: Likewise.
17685
1885bb27 176862006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17687
17688 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
17689 clobber "prefix", since we may have already set it manually.
17690
71538dff 176912006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17692
17693 * kern/misc.c (abort): New alias for grub_abort.
17694
2965c7cc 176952006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
17696
17697 A new machine-specific function "grub_machine_set_prefix" is
17698 defined. This is called after loading modules, so that a prefix
17699 initialization can use modules. Also, this change adds an
17700 intensive debugging feature for the memory manager via the
17701 configure option "--enable-mm-debug".
f19dbdb7 17702
2965c7cc 17703 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
17704 PART.LEN.
17705
17706 * kern/sparc64/ieee1275/init.c (abort): Removed.
17707 (grub_stop): Likewise.
17708 (grub_exit): New function.
17709 (grub_set_prefix): Renamed to ...
17710 (grub_machine_set_prefix): ... this.
17711 (grub_machine_init): Do not call grub_set_prefix.
17712
17713 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
17714 (grub_machine_set_prefix): ... this.
17715 (grub_machine_init): Do not call grub_set_prefix.
17716
17717 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
17718 (grub_machine_init): Do not set the prefix here.
17719
17720 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
17721
17722 * kern/efi/init.c: Include grub/mm.h.
17723 (grub_efi_set_prefix): New function.
17724
17725 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
17726 (grub_efi_get_filename): New function.
17727 (grub_print_device_path): Renamed to ...
17728 (grub_efi_print_device_path): ... this.
17729
17730 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
17731 [MM_DEBUG] (grub_realloc): Likewise.
17732 [MM_DEBUG] (grub_free): Likewise.
17733 [MM_DEBUG] (grub_memalign): Likewise.
17734 [MM_DEBUG] (grub_mm_debug): New variable.
17735 [MM_DEBUG] (grub_debug_malloc): New function.
17736 [MM_DEBUG] (grub_debug_free): New function.
17737 [MM_DEBUG] (grub_debug_realloc): New function.
17738 [MM_DEBUG] (grub_debug_memalign): New function.
17739
17740 * kern/misc.c (grub_abort): Print a newline to distinguish
17741 the message.
17742
17743 * kern/main.c (grub_main): Call grub_machine_set_prefix and
17744 grub_set_root_dev after loading modules. This is necessary when
17745 setting a prefix depends on modules.
17746
17747 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
17748 (grub_efi_print_device_path): ... this.
17749 (grub_efi_get_filename): New prototype.
17750 (grub_efi_set_prefix): Likewise.
17751
17752 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
17753 and grub/disk.h.
17754 (grub_efidisk_get_device_handle): New prototype.
17755 (grub_efidisk_get_device_name): Likewise.
17756
17757 * include/grub/mm.h: Include config.h.
17758 (MM_DEBUG): Removed.
17759 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
17760 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
17761 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
17762 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
17763 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
17764 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
17765 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
17766 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
17767 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
17768
17769 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
17770
17771 * disk/efi/efidisk.c: Include grub/partition.h.
17772 (iterate_child_devices): New function.
17773 (add_device): First, compare only last device path nodes, so that
17774 devices are sorted by the types.
17775 (grub_efidisk_get_device_handle): New function.
17776 (grub_efidisk_get_device_name): Likewise.
17777
17778 * configure.ac (--enable-mm-debug): New option to enable the
17779 memory manager debugging feature. This makes the binary much
17780 bigger, so is disabled by default.
17781
9cacaa17 177822006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
17783
17784 Use grub_abort instead of grub_stop, and grub_exit must be
17785 define in each architecture now. Also, this change adds support
17786 for EFI disks.
f19dbdb7 17787
9cacaa17 17788 * util/i386/pc/grub-probefs.c: Include grub/term.h.
17789 (grub_getkey): New function.
17790 (grub_term_get_current): Likewise.
17791
17792 * util/i386/pc/grub-setup.c: Include grub/term.h.
17793 (grub_getkey): New function.
17794 (grub_term_get_current): Likewise.
17795
17796 * util/misc.c (grub_stop): Renamed to ...
17797 (grub_exit): ... this.
17798
17799 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
17800 (grub_exit): ... this.
17801 (grub_machine_init): Use grub_abort instead of abort.
17802 (grub_stop): Removed.
17803
17804 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
17805 abort.
17806
17807 * kern/i386/pc/startup.S (grub_exit): New function.
17808 (cold_reboot): New label.
17809
17810 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
17811 (grub_efi_init): Call grub_efidisk_init.
17812 (grub_efi_fini): Call grub_efidisk_fini.
17813
17814 * kern/efi/efi.c: Include grub/mm.h.
17815 (grub_efi_console_control_guid): Renamed to ...
17816 (console_control_guid): ... this.
17817 (grub_efi_loaded_image_guid): Renamed to ...
17818 (loaded_image_guid): ... this.
17819 (grub_efi_locate_handle): New function.
17820 (grub_efi_open_protocol): Likewise.
17821 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
17822 GRUB_EFI_CONSOLE_CONTROL_GUID.
17823 (grub_efi_exit): Removed.
17824 (grub_stop): Likewise.
17825 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
17826 (grub_exit): New function.
17827 (grub_print_device_path): Likewise.
17828
17829 * kern/rescue.c (grub_rescue_cmd_exit): New function.
17830 (grub_enter_rescue_mode): Register "exit".
17831
17832 * kern/misc.c (grub_real_dprintf): A cosmetic change.
17833 (grub_abort): New function.
17834
17835 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
17836
17837 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
17838
17839 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
17840
17841 * include/grub/efi/efi.h (grub_efi_exit): Removed.
17842 (grub_print_device_path): New prototype.
17843 (grub_efi_locate_handle): Likewise.
17844 (grub_efi_open_protocol): Likewise.
17845
17846 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
17847 * disk/efi/efidisk.c: Likewise.
17848
17849 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
17850
17851 * include/grub/efi/console_control.h
17852 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
17853
17854 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
17855 last 8 bytes as an array.
17856 (GRUB_EFI_DISK_IO_GUID): New macro.
17857 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
17858 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
17859 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
17860 grub_uint8_t.
17861 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
17862 (struct grub_efi_device_path): Rename the member "sub_type" to
17863 "subtype".
17864 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
17865 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
17866 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
17867 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
17868 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
17869 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
17870 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
17871 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
17872 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
17873 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
17874 (struct grub_efi_pci_device_path): New structure.
17875 (grub_efi_pci_device_path_t): New type.
17876 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
17877 (struct grub_efi_pccard_device_path): New structure.
17878 (grub_efi_pccard_device_path_t): New type.
17879 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
17880 (struct grub_efi_memory_mapped_device_path): New structure.
17881 (grub_efi_memory_mapped_device_path_t): New type.
17882 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
17883 (struct grub_efi_vendor_device_path): New structure.
17884 (grub_efi_vendor_device_path_t): New type.
17885 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
17886 (struct grub_efi_controller_device_path): New structure.
17887 (grub_efi_controller_device_path_t): New type.
17888 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
17889 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
17890 (struct grub_efi_acpi_device_path): New structure.
17891 (grub_efi_acpi_device_path_t): New type.
17892 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
17893 (struct grub_efi_expanded_acpi_device_path): New structure.
17894 (grub_efi_expanded_acpi_device_path_t): New type.
17895 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
17896 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
17897 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
17898 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
17899 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
17900 (struct grub_efi_atapi_device_path): New structure.
17901 (grub_efi_atapi_device_path_t): New type.
17902 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
17903 (struct grub_efi_fibre_channel_device_path): New structure.
17904 (grub_efi_fibre_channel_device_path_t): New type.
17905 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
17906 (struct grub_efi_1394_device_path): New structure.
17907 (grub_efi_1394_device_path_t): New type.
17908 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
17909 (struct grub_efi_usb_device_path): New structure.
17910 (grub_efi_usb_device_path_t): New type.
17911 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
17912 (struct grub_efi_usb_class_device_path): New structure.
17913 (grub_efi_usb_class_device_path_t): New type.
17914 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
17915 (struct grub_efi_i2o_device_path): New structure.
17916 (grub_efi_i2o_device_path_t): New type.
17917 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
17918 (struct grub_efi_mac_address_device_path): New structure.
17919 (grub_efi_mac_address_device_path_t): New type.
17920 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
17921 (struct grub_efi_ipv4_device_path): New structure.
17922 (grub_efi_ipv4_device_path_t): New type.
17923 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
17924 (struct grub_efi_ipv6_device_path): New structure.
17925 (grub_efi_ipv6_device_path_t): New type.
17926 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
17927 (struct grub_efi_infiniband_device_path): New structure.
17928 (grub_efi_infiniband_device_path_t): New type.
17929 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
17930 (struct grub_efi_uart_device_path): New structure.
17931 (grub_efi_uart_device_path_t): New type.
17932 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
17933 (struct grub_efi_vendor_messaging_device_path): New structure.
17934 (grub_efi_vendor_messaging_device_path_t): New type.
17935 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
17936 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
17937 (struct grub_efi_hard_drive_device_path): New structure.
17938 (grub_efi_hard_drive_device_path_t): New type.
17939 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
17940 (struct grub_efi_cdrom_device_path): New structure.
17941 (grub_efi_cdrom_device_path_t): New type.
17942 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
17943 (struct grub_efi_vendor_media_device_path): New structure.
17944 (grub_efi_vendor_media_device_path_t): New type.
17945 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
17946 (struct grub_efi_file_path_device_path): New structure.
17947 (grub_efi_file_path_device_path_t): New type.
17948 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
17949 (struct grub_efi_protocol_device_path): New structure.
17950 (grub_efi_protocol_device_path_t): New type.
17951 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
17952 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
17953 (struct grub_efi_bios_device_path): New structure.
17954 (grub_efi_bios_device_path_t): New type.
17955 (struct grub_efi_disk_io): New structure.
17956 (grub_efi_disk_io_t): New type.
17957 (struct grub_efi_block_io_media): New structure.
17958 (grub_efi_block_io_media_t): New type.
17959 (struct grub_efi_block_io): New structure.
17960 (grub_efi_block_io_t): New type.
17961
17962 * include/grub/misc.h (grub_stop): Removed.
17963 (grub_exit): New prototype.
17964 (grub_abort): Likewise.
17965
17966 * include/grub/disk.h (enum grub_disk_dev_id): Added
17967 GRUB_DISK_DEVICE_EFIDISK_ID.
17968
17969 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
17970 disk/efi/efidisk.c.
17971 (kernel_syms.lst): Remove the target if an error occurs.
17972
49986a9f 179732006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
17974
17975 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
17976 as it was simply too buggy.
17977
970d3b8a 179782006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
17979
17980 * kern/misc.c (grub_lltoa): New function.
17981 (grub_vsprintf): Added support for the long long suffix,
17982 i.e. "ll".
17983
ff04ec24 179842006-04-20 Hollis Blanchard <hollis@penguinppc.org>
17985
17986 * Makefile.in (LDFLAGS): Add variable.
17987 (LD): Remove variable.
17988 * configure.ac: Add -m32 to LDFLAGS.
17989 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
17990 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
17991 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
17992 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
17993 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
17994 variables.
17995 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
17996 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
17997 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
17998
37e5e1a4 179992006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
18000
18001 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
18002 length for unknown glyph.
18003
c352d8dd 180042006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
18005
2eab1c0d 18006 Add support for pre-loaded modules into the EFI port.
f19dbdb7 18007
2eab1c0d 18008 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
18009 completely. Accept one more argument DIR. The caller has changed.
18010
18011 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
18012
18013 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
18014 (grub_efi_loaded_image_guid): New variable.
18015 (grub_efi_get_loaded_image): New function.
18016 (grub_arch_modules_addr): Likewise.
18017
18018 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
18019 prototype.
18020
18021 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
18022 (struct grub_efi_loaded_image): New structure.
18023 (grub_efi_loaded_image_t): New type.
18024
180252006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18026
c352d8dd 18027 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
18028 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
18029 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
18030
6d01d6b4 180312006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
18032
18033 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
18034
976a4ea0 180352006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
18036
18037 * DISTLIST: Added include/grub/efi/console.h,
18038 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
18039 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18040
18041 * include/grub/efi/console.h: New file.
18042 * include/grub/efi/time.h: Likewise.
18043 * include/grub/i386/efi/kernel.h: Likewise.
18044 * kern/efi/init.c: Likewise.
18045 * kern/efi/mm.c: Likewise.
18046 * term/efi/console.c: Likewise.
f19dbdb7 18047
976a4ea0 18048 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
18049 (grub_stop): Removed.
18050 (grub_get_rtc): Likewise.
18051 (grub_machine_init): Simply call grub_efi_init.
18052 (grub_machine_fini): Call grub_efi_fini.
18053
18054 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
18055 (grub_efi_output_string): Removed.
18056 (grub_efi_stall): New function.
18057 (grub_stop): Likewise.
18058 (grub_get_rtc): Likewise.
18059
18060 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
18061 (grub_efi_stall): New prototype.
18062 (grub_efi_allocate_pages): Likewise.
18063 (grub_efi_free_pages): Likewise.
18064 (grub_efi_get_memory_map): Likewise.
18065 (grub_efi_mm_init): Likewise.
18066 (grub_efi_mm_fini): Likewise.
18067 (grub_efi_init): Likewise.
18068 (grub_efi_fini): Likewise.
18069
18070 * include/grub/i386/efi/time.h: Do not include
18071 grub/symbol.h. Include grub/efi/time.h.
18072 (GRUB_TICKS_PER_SECOND): Removed.
18073 (grub_get_rtc): Likewise.
18074
18075 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
18076 Added padding. The EFI spec is buggy.
18077 (GRUB_EFI_BLACK): New macro.
18078 (GRUB_EFI_BLUE): Likewise.
18079 (GRUB_EFI_GREEN): Likewise.
18080 (GRUB_EFI_CYAN): Likewise.
18081 (GRUB_EFI_RED): Likewise.
18082 (GRUB_EFI_MAGENTA): Likewise.
18083 (GRUB_EFI_BROWN): Likewise.
18084 (GRUB_EFI_LIGHTGRAY): Likewise.
18085 (GRUB_EFI_BRIGHT): Likewise.
18086 (GRUB_EFI_DARKGRAY): Likewise.
18087 (GRUB_EFI_LIGHTBLUE): Likewise.
18088 (GRUB_EFI_LIGHTGREEN): Likewise.
18089 (GRUB_EFI_LIGHTCYAN): Likewise.
18090 (GRUB_EFI_LIGHTRED): Likewise.
18091 (GRUB_EFI_LIGHTMAGENTA): Likewise.
18092 (GRUB_EFI_YELLOW): Likewise.
18093 (GRUB_EFI_WHITE): Likewise.
18094 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
18095 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
18096 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
18097 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
18098 (GRUB_EFI_BACKGROUND_RED): Likewise.
18099 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
18100 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
18101 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
18102 (GRUB_EFI_TEXT_ATTR): Likewise.
18103
18104 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
18105 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
18106 (kernel_mod_HEADERS): Added efi/time.h.
18107
83709125 181082006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
18109
18110 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
18111 include/grub/efi/api.h, include/grub/efi/console_control.h,
18112 include/grub/efi/efi.h, include/grub/efi/pe32.h,
18113 include/grub/i386/efi/time.h, kern/efi/efi.c,
18114 kern/i386/efi/init.c, kern/i386/efi/startup.S,
18115 and util/i386/efi/grub-mkimage.c.
18116
18117 * Makefile.in (RMKFILES): Added i386-efi.rmk.
18118
18119 * genmk.rb (PModule#rule): Do not export symbols if
18120 #{prefix}_EXPORTS is set to "no".
18121
18122 * conf/i386-efi.mk: New file.
18123 * conf/i386-efi.rmk: Likewise.
18124 * include/grub/efi/api.h: Likewise.
18125 * include/grub/efi/console_control.h: Likewise.
18126 * include/grub/efi/efi.h: Likewise.
18127 * include/grub/efi/pe32.h: Likewise.
18128 * include/grub/i386/efi/time.h: Likewise.
18129 * kern/efi/efi.c: Likewise.
18130 * kern/i386/efi/init.c: Likewise.
18131 * kern/i386/efi/startup.S: Likewise.
18132 * util/i386/efi/grub-mkimage.c: Likewise.
18133
181342006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 18135
18136 * include/grub/script.h: Include <grub/parser.h> and
18137 "grub_script.tab.h".
18138 (struct grub_lexer_param): New struct.
18139 (struct grub_parser_param): Likewise.
18140 (grub_script_create_arglist): Pass the state in an argument.
18141 (grub_script_add_arglist): Likewise.
18142 (grub_script_create_cmdline): Likewise.
18143 (grub_script_create_cmdblock): Likewise.
18144 (grub_script_create_cmdif): Likewise.
18145 (grub_script_create_cmdmenu): Likewise.
18146 (grub_script_add_cmd): Likewise.
18147 (grub_script_arg_add): Likewise.
18148 (grub_script_lexer_ref): Likewise.
18149 (grub_script_lexer_deref): Likewise.
18150 (grub_script_lexer_record_start): Likewise.
18151 (grub_script_lexer_record_stop): Likewise.
18152 (grub_script_mem_record): Likewise.
18153 (grub_script_mem_record_stop): Likewise.
18154 (grub_script_malloc): Likewise.
18155 (grub_script_yylex): Likewise.
18156 (grub_script_yyparse): Likewise.
18157 (grub_script_yyerror): Likewise.
18158 (grub_script_yylex): Likewise.
18159 (grub_script_lexer_init): Return the state.
18160
18161 * normal/lexer.c (grub_script_lexer_state): Removed variable.
18162 (grub_script_lexer_done): Likewise.
18163 (grub_script_lexer_getline): Likewise.
18164 (grub_script_lexer_refs): Likewise.
18165 (script): Likewise.
18166 (newscript): Likewise.
18167 (record): Likewise.
18168 (recording): Likewise.
18169 (recordpos): Likewise.
18170 (recordlen): Likewise.
18171 (grub_script_lexer_init): Return the state instead of setting
18172 global variables.
18173 (grub_script_lexer_ref): Use the newly added argument for state
18174 instead of globals.
18175 (grub_script_lexer_deref): Likewise.
18176 (grub_script_lexer_record_start): Likewise.
18177 (grub_script_lexer_record_stop): Likewise.
18178 (recordchar): Likewise.
18179 (nextchar): Likewise.
18180 (grub_script_yylex2): Likewise.
18181 (grub_script_yylex): Likewise.
18182 (grub_script_yyerror): Likewise.
18183
18184 * normal/parser.y (func_mem): Removed variable.
18185 (menu_entry): Likewise.
18186 (err): Likewise.
18187 (%lex-param): New parser option.
18188 (%parse-param): Likewise.
18189 (script): Always return the AST.
18190 (argument): Pass the state around.
18191 (arguments): Likewise.
18192 (grubcmd): Likewise.
18193 (commands): Likewise.
18194 (function): Likewise.
18195 (menuentry): Likewise.
18196 (if_statement): Likewise.
18197 (if): Likewise.
18198
18199 * normal/script.c (grub_script_memused): Removed variable.
18200 (grub_script_parsed): Likewise.
18201 (grub_script_malloc): Added a state argument. Use that instead of
18202 global variables.
18203 (grub_script_mem_record): Likewise.
18204 (grub_script_mem_record_stop): Likewise.
18205 (grub_script_arg_add): Likewise.
18206 (grub_script_add_arglist): Likewise.
18207 (grub_script_create_cmdline): Likewise.
18208 (grub_script_create_cmdif): Likewise.
18209 (grub_script_create_cmdmenu): Likewise.
18210 (grub_script_add_cmd): Likewise.
18211 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 18212
e2a8c904 182132006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 18214
18215 * normal/command.c (grub_command_init): Remove the title command.
18216
18217 * normal/lexer.c (grub_script_yylex): Renamed from this...
18218 (grub_script_yylex2): ... to this.
18219 (grub_script_yylex): New function. Temporary
18220 introduced to filter some tokens.
18221 (grub_script_yyerror): Print a newline.
18222
18223 * normal/main.c (read_config_file): Output information about the
18224 lines that contain errors. Wait for a key after all lines have
18225 been processed. Don't return an empty menu.
18226
18227 * normal/parser.y (func_mem): Don't initialize.
18228 (menu_entry): Likewise.
18229 (err): New variable.
18230 (script): Don't return anything when an error was encountered.
18231 (ws, returns): Removed rules.
18232 (argument): Disabled concatenated variable support.
18233 (arguments): Remove explicit separators.
18234 (grubcmd): Likewise.
18235 (function): Likewise.
18236 (menuentry): Likewise.
18237 (if): Likewise.
18238 (commands): Likewise. Add error handling.
18239
18240 * normal/script.c (grub_script_create_cmdline): If
18241 `grub_script_parsed' is 0, assume the parser encountered an error.
18242
c9a86192 182432006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
18244
18245 * configure.ac: Add support for EFI. Fix the typo
18246 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
18247
70f3b243 182482006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18249
18250 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
18251 foreign multibyte characters should be shown correctly.
18252
65f201ad 182532006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18254
18255 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
18256 calculation.
18257 (read_config_file): Made it to close file before returning.
18258
b4b93674 182592006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
18260
18261 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
18262 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
18263 video/i386/pc/vbefill.c.
18264
18265 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
18266 video/i386/pc/vbefill.c.
18267
18268 * include/grub/video.h (grub_video_blit_format): New enum.
18269 (grub_video_mode_info): Added new member blit_format.
18270 (grub_video_get_blit_format): New function prototype.
18271
18272 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
18273 function prototype.
18274 (grub_video_vbe_map_rgb): Likewise.
18275 (grub_video_vbe_unmap_color): Likewise.
18276
18277 * include/grub/i386/pc/vbeblit.h: New file.
18278
18279 * include/grub/i386/pc/vbefill.h: New file.
18280
18281 * video/video.c (grub_video_get_blit_format): New function.
18282 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
18283 (grub_video_vbe_map_rgb): Likewise.
18284 (grub_video_vbe_unmap_color): Likewise.
18285
18286 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
18287 optimized fills.
18288 (grub_video_vbe_blit_render_target): Changed to use more optimized
18289 blits.
18290 (grub_video_vbe_setup): Added detection for optimized settings.
18291 (grub_video_vbe_create_render_target): Likewise.
18292
18293 * video/i386/pc/vbeblit.c: New file.
18294
18295 * video/i386/pc/vbefill.c: New file.
18296
c2379b9c 182972006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
18298
18299 * font/manager.c (grub_font_get_glyph): Removed font fixup from
18300 here...
18301
18302 * util/unifont2pff.rb: ... and moved it to here. Improved argument
18303 parsing to support both hex and dec ranges. If filename was missing
18304 show usage information.
18305
bd0d7896 183062006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
18307
18308 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
18309 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
18310
18311 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
18312 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
18313 (video_mod_SOURCES): Added.
18314 (video_mod_CFLAGS): Likewise.
18315 (video_mod_LDFLAGS): Likewise.
18316 (gfxterm_mod_SOURCES): Likewise.
18317 (gfxterm_mod_CFLAGS): Likewise.
18318 (gfxterm_mod_LDFLAGS): Likewise.
18319 (videotest_mod_SOURCES): Likewise.
18320 (videotest_mod_CFLAGS): Likewise.
18321 (videotest_mod_LDFLAGS): Likewise.
18322 (vesafb_mod_SOURCES): Removed.
18323 (vesafb_mod_CFLAGS): Likewise.
18324 (vesafb_mod_LDFLAGS): Likewise.
18325 (vga_mod_SOURCES): Likewise.
18326 (vga_mod_CFLAGS): Likewise.
18327 (vga_mod_LDFLAGS): Likewise.
18328
18329 * commands/videotest.c: New file.
18330
18331 * font/manager.c (fill_with_default_glyph): Modified to use
18332 grub_font_glyph.
18333 (grub_font_get_glyph): Likewise.
18334 (fontmanager): Renamed from this...
18335 (font_manager): ... to this.
18336
18337 * include/grub/font.h (grub_font_glyph): Added new structure.
18338 (grub_font_get_glyph): Modified to use grub_font_glyph.
18339
18340 * include/grub/misc.h (grub_abs): Added as inline function.
18341
18342 * include/grub/video.h: New file.
18343
18344 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
18345 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
18346 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
18347 (grub_vbe_get_controller_info): Renamed from this...
18348 (grub_vbe_bios_get_controller_info): ... to this.
18349 (grub_vbe_get_mode_info): Renamed from this...
18350 (grub_vbe_bios_get_mode_info): ... to this.
18351 (grub_vbe_set_mode): Renamed from this...
18352 (grub_vbe_bios_set_mode): ... to this.
18353 (grub_vbe_get_mode): Renamed from this...
18354 (grub_vbe_bios_get_mode): ... to this.
18355 (grub_vbe_set_memory_window): Renamed from this...
18356 (grub_vbe_bios_set_memory_window): ... to this.
18357 (grub_vbe_get_memory_window): Renamed from this...
18358 (grub_vbe_bios_get_memory_window): ... to this.
18359 (grub_vbe_set_scanline_length): Renamed from this...
18360 (grub_vbe_set_scanline_length): ... to this.
18361 (grub_vbe_get_scanline_length): Renamed from this...
18362 (grub_vbe_bios_get_scanline_length): ... to this.
18363 (grub_vbe_set_display_start): Renamed from this...
18364 (grub_vbe_bios_set_display_start): ... to this.
18365 (grub_vbe_get_display_start): Renamed from this...
18366 (grub_vbe_bios_get_display_start): ... to this.
18367 (grub_vbe_set_palette_data): Renamed from this...
18368 (grub_vbe_bios_set_palette_data): ... to this.
18369 (grub_vbe_set_pixel_rgb): Removed.
18370 (grub_vbe_set_pixel_index): Likewise.
18371
18372 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18373 from this...
18374 (grub_vbe_bios_get_controller_info): ... to this.
18375 (grub_vbe_get_mode_info): Renamed from this...
18376 (grub_vbe_bios_get_mode_info): ... to this.
18377 (grub_vbe_set_mode): Renamed from this...
18378 (grub_vbe_bios_set_mode): ... to this.
18379 (grub_vbe_get_mode): Renamed from this...
18380 (grub_vbe_bios_get_mode): ... to this.
18381 (grub_vbe_set_memory_window): Renamed from this...
18382 (grub_vbe_bios_set_memory_window): ... to this.
18383 (grub_vbe_get_memory_window): Renamed from this...
18384 (grub_vbe_bios_get_memory_window): ... to this.
18385 (grub_vbe_set_scanline_length): Renamed from this...
18386 (grub_vbe_set_scanline_length): ... to this.
18387 (grub_vbe_get_scanline_length): Renamed from this...
18388 (grub_vbe_bios_get_scanline_length): ... to this.
18389 (grub_vbe_set_display_start): Renamed from this...
18390 (grub_vbe_bios_set_display_start): ... to this.
18391 (grub_vbe_get_display_start): Renamed from this...
18392 (grub_vbe_bios_get_display_start): ... to this.
18393 (grub_vbe_set_palette_data): Renamed from this...
18394 (grub_vbe_bios_set_palette_data): ... to this.
18395 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18396 getting corrupted after calling it. Added more pushes and pops.
18397 (grub_vbe_bios_set_mode): Likewise.
18398 (grub_vbe_bios_get_mode): Likewise.
18399 (grub_vbe_bios_get_memory_window): Likewise.
18400 (grub_vbe_bios_set_scanline_length): Likewise.
18401 (grub_vbe_bios_get_scanline_length): Likewise.
18402 (grub_vbe_bios_get_display_start): Likewise.
18403 (grub_vbe_bios_set_palette_data): Likewise.
18404
18405 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18406 (cl_insert): Likewise.
18407 (cl_delete): Likewise.
18408
18409 * term/gfxterm.c: New file.
18410
18411 * term/i386/pc/vesafb.c: Removed file.
18412
18413 * video/video.c: New file.
18414
18415 * video/i386/pc/vbe.c (real2pm): Added new function.
18416 (grub_video_vbe_draw_pixel): Likewise.
18417 (grub_video_vbe_get_video_ptr): Likewise.
18418 (grub_video_vbe_get_pixel): Likewise
18419 (grub_video_vbe_init): Likewise.
18420 (grub_video_vbe_fini): Likewise.
18421 (grub_video_vbe_setup): Likewise.
18422 (grub_video_vbe_get_info): Likewise.
18423 (grub_video_vbe_set_palette): Likewise.
18424 (grub_video_vbe_get_palette): Likewise.
18425 (grub_video_vbe_set_viewport): Likewise.
18426 (grub_video_vbe_get_viewport): Likewise.
18427 (grub_video_vbe_map_color): Likewise.
18428 (grub_video_vbe_map_rgb): Likewise.
18429 (grub_video_vbe_map_rgba): Likewise.
18430 (grub_video_vbe_unmap_color): Likewise.
18431 (grub_video_vbe_fill_rect): Likewise.
18432 (grub_video_vbe_blit_glyph): Likewise.
18433 (grub_video_vbe_blit_bitmap): Likewise.
18434 (grub_video_vbe_blit_render_target): Likewise.
18435 (grub_video_vbe_scroll): Likewise.
18436 (grub_video_vbe_swap_buffers): Likewise.
18437 (grub_video_vbe_create_render_target): Likewise.
18438 (grub_video_vbe_delete_render_target): Likewise.
18439 (grub_video_vbe_set_active_render_target): Likewise.
18440 (grub_vbe_set_pixel_rgb): Remove function.
18441 (grub_vbe_set_pixel_index): Likewise.
18442 (index_color_mode): Remove static variable.
18443 (active_mode): Likewise.
18444 (framebuffer): Likewise.
18445 (bytes_per_scan_line): Likewise.
18446 (grub_video_vbe_adapter): Added new static variable.
18447 (framebuffer): Likewise.
18448 (render_target): Likewise.
18449 (initial_mode): Likewise.
18450 (mode_in_use): Likewise.
18451 (mode_list): Likewise.
18452
5f97350b 184532006-03-10 Marco Gerards <marco@gnu.org>
18454
18455 * configure.ac (AC_INIT): Bumped to 1.93.
18456
18457 * DISTLIST: Added `include/grub/hfs.h'.
18458
a3c5c6f8 184592006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
18460
18461 * boot/i386/pc/boot.S (general_error): Before looping, try INT
18462 18H, which might help the BIOS falling back to next boot media.
18463
6de53d26 184642006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
18465
18466 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
18467 Poe Chen <poe.poechen@gmail.com>.
18468
77c4a393 184692006-01-17 Marco Gerards <marco@gnu.org>
18470
18471 * include/grub/normal.h: Include <grub/script.h>.
18472 (grub_command_list): Removed struct.
18473 (grub_command_list_t): Removed type.
18474 (grub_menu_entry): Remove members `num' and `command_list'. Add
18475 members `commands' and `sourcecode'.
18476 * include/grub/script.h: Add inclusion guards.
18477 (grub_script_cmd_menuentry): New struct.
18478 (grub_script_execute_menuentry): New prototype.
18479 (grub_script_lexer_record_start): Likewise.
18480 (grub_script_lexer_record_stop): Likewise.
18481 * normal/execute.c (grub_script_execute_menuentry): New function.
18482 * normal/lexer.c (record, recording, recordpos, recordlen): New
18483 variables.
18484 (grub_script_lexer_record_start): New function.
18485 (grub_script_lexer_record_stop): Likewise.
18486 (recordchar): Likewise.
18487 (nextchar): Likewise.
18488 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
18489 2048 as the buffer size. Add the tokens `menuentry' and `@'.
18490 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
18491 (current_menu): New variable.
18492 (free_menu): Mainly rewritten.
18493 (grub_normal_menu_addentry): New function.
18494 (read_config_file): Rewritten.
18495 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 18496 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 18497 the menu entry.
18498 (run): Mainly rewritten.
18499 * normal/parser.y (menu_entry): New variable.
18500 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
18501 (menuentry): New rule.
18502 (command): Add `menuentry'.
18503 (if_statement): Allow additional returns before `fi'.
18504 * normal/script.c (grub_script_create_cmdmenu): New function.
18505
144f1f98 185062006-01-03 Marco Gerards <marco@gnu.org>
18507
18508 * INSTALL: GNU Bison is required.
18509 * configure.ac: Rewritten the test to detect Bison.
18510 * Makefile.in (YACC): New variable. Reported by Xun Sun
18511 <xun.sun.cn@gmail.com>.
18512
af4b2d89 185132006-01-03 Marco Gerards <marco@gnu.org>
18514
18515 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
18516 the HFS+ filesystem to filesystem blocks.
18517 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
18518 GCC warning is silenced.
18519
15643b71 185202006-01-03 Marco Gerards <marco@gnu.org>
18521
18522 * partmap/apple.c (apple_partition_map_iterate): Convert the data
18523 read from disk from big endian to host byte order.
18524
00905879 185252006-01-03 Hollis Blanchard <hollis@penguinppc.org>
18526
18527 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
18528 documentation.
18529 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
18530 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
18531 embedded HFS+ filesystem.
18532 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
18533 (grub_hfs_sblock): Move from here...
18534 * include/grub/hfs.h: To here... New file.
18535 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
18536 documentation.
18537 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
18538 New macros.
18539 (grub_hfsplus_volheader): Change type of member `magic' to
18540 `grub_uint16_t'.
18541 (grub_hfsplus_data): Add new member `embedded_offset'.
18542 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
18543 returned block.
18544 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
18545 Calculate the offset.
18546
8899bc3e 185472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18548
18549 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
18550 Removed.
18551 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
18552
ae8c0277 185532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18554
18555 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
18556 ENV->NAME is NULL after allocating ENV->VALUE.
18557
07084456 185582005-12-25 Marco Gerards <marco@gnu.org>
18559
18560 * kern/env.c (grub_env_set): Rewritten the error handling code.
18561
4750f5f1 185622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18563
18564 * geninit.sh: Made more robust, and more portable.
18565
50214199 185662005-12-25 Marco Gerards <marco@gnu.org>
18567
18568 Add support for Apple HFS+ filesystems.
f19dbdb7 18569
50214199 18570 * fs/hfsplus.c: New file.
18571
18572 * DISTLIST: Added `fs/hfsplus.c'.
18573
18574 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
18575 (hfsplus_mod_SOURCES): New variable.
18576 (hfsplus_mod_CFLAGS): Likewise.
18577 (hfsplus_mod_LDFLAGS): Likewise.
18578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
18579 (grub_setup_SOURCES): Likewise.
18580 (grub_mkdevicemap_SOURCES): Likewise.
18581 (grub_emu_SOURCES): Likewise.
18582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18583
18584 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
18585
18586 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
18587
befaed6c 185882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18589
18590 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
18591 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
18592 include/grub/parser.h, include/grub/script.h, kern/parser.c,
18593 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
18594 normal/lexer.c, normal/parser.y, normal/script.c, and
18595 partmap/gpt.c.
18596 Removed kern/sparc64/cache.c.
18597
18598 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
18599 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
18600 grub_emu_init.c.
18601
18602 * configure.ac (AC_INIT): Bumped to 1.92.
18603
6a124103 186042005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
18605
18606 * kern/err.c (grub_error_push): Added new function to support error
18607 stacks.
18608 (grub_error_pop): Likewise.
18609 (grub_error_stack_items): New local variable to support error stacks.
18610 (grub_error_stack_pos): Likewise.
18611 (grub_error_stack_assert): Likewise.
18612 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
18613 stack depth.
18614 (grub_print_error): Added support to print errors from error stack.
18615
18616 * include/grub/err.h (grub_error_push): Added function prototype.
18617 (grub_error_pop): Likewise.
18618
be973c1b 186192005-12-09 Hollis Blanchard <hollis@penguinppc.org>
18620
18621 * configure.ac: Accept `powerpc64' as host_cpu.
18622 (amd64): Rename to `biarch32'.
18623
18624 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
18625 non-cacheline-aligned addresses.
18626
18627 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
18628 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
18629 if `size' is non-zero.
18630
b04216ab 186312005-12-03 Marco Gerards <mgerards@xs4all.nl>
18632
18633 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
18634 and `cd' to make sure the filename is not prefixed with a
18635 directory name.
18636 (pkgdata_MODULES): Add `gpt.mod'.
18637 (gpt_mod_SOURCES): New variable.
18638 (gpt_mod_CFLAGS): Likewise.
18639 (gpt_mod_LDFLAGS): Likewise.
18640
18641 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
18642
18643 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
18644 New macro.
18645
18646 * partmap/gpt.c: New file.
18647
18648 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
18649 GPT partition map is detected.
18650
41730ed9 186512005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
18652
18653 * commands/i386/pc/play.c: New file.
18654 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
18655 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
18656 macros.
f19dbdb7 18657
95dc3643 186582005-11-27 Marco Gerards <mgerards@xs4all.nl>
18659
18660 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
18661 ((unused))' to silence gcc warning.
18662
1569ec51 186632005-11-26 Hollis Blanchard <hollis@penguinppc.org>
18664
18665 * configure.ac: Correct `AC_PROG_YACC' test.
18666
9abde152 186672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18668
18669 * util/powerpc/ieee1275/grub-install.in: Run the mount point
18670 check before installing files.
18671
44b83271 186722005-11-22 Mike Small <smallm@panix.com>
18673
18674 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
18675 number regex so multidigit numbers are recognized correctly.
18676
186772005-11-22 Mike Small <smallm@panix.com>
18678
18679 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
18680 debugging message before attempting to claim memory.
18681 (grub_rescue_cmd_initrd): Add a claim debugging message and try
18682 multiple addresses in case of failure.
18683
9c12956b 186842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18685
18686 * term/tparm.c (get_space): Remove empty `if' statement.
18687
18688 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
18689
18690 * kern/parser.c (check_varstate): Rename `state' to 's'.
18691
aeaf81d9 186922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18693
18694 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
18695 variable definitions to the beginning of each function. Sort stack
18696 variables by size.
18697 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
18698 `buf' argument to `char *'.
18699
79bbb63f 187002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18701
18702 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
18703 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18704 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 18705 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18706 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18707 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18708 configfile.mod, search.mod, gzio.mod and test.mod.
18709 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18710 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18711 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18712 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18713 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18714 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18715 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18716 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18717 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18718 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18719 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18720 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18721 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18722 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18723 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18724 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18725 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18726 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18727 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18728 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18729 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18730 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18731 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
18732
18733 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
18734 `grep --include'.
18735 (pkgdata_MODULES): Add test.mod.
18736
233b1628 187372005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18738
18739 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
18740 appending to variables with "+=".
18741 (PModule): Use full pathname to generate *.lst filenames.
18742
18743 * Makefile.in: Fixed list rules moved from genmk.rb.
18744 (.DELETE_ON_ERROR): New special target.
18745 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
18746
18747 * conf/i386-pc.rmk: Include conf/common.mk.
18748 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18749 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 18750 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18751 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18752 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18753 configfile.mod, search.mod, gzio.mod and test.mod.
18754 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18755 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18756 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18757 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18758 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18759 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18760 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18761 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18762 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18763 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18764 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18765 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18766 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18767 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18768 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18769 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18770 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18771 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18772 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18773 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18774 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18775 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18776 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
18777 here...
18778 * conf/common.rmk: ... to here. New file.
18779
18780 * conf/common.mk: New file.
18781
16f820c8 187822005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
18783
18784 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
18785 (grub_script.tab.c): ... here.
18786
18787 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
18788 (grub_script.tab.c): ... here.
18789
18790 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
18791 (grub_script.tab.c): ... here.
18792
18793 * normal/command.c (grub_command_find): Fixed a memory leak of
18794 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
18795
63ba1554 187962005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18797
18798 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
18799 "@" which marks the start of a comment on ARM.
18800 (VARIABLE): Likewise.
18801
7f67dc13 188022005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18803
79bbb63f 18804 Add support for Linux/ADFS partition tables.
7f67dc13 18805
18806 * partmap/acorn.c: New file.
18807
18808 * include/grub/acorn_filecore.h: Likewise.
18809
18810 * DISTLIST: Added `partmap/acorn.c' and
18811 `include/grub/acorn_filecore.h'.
f19dbdb7 18812
7f67dc13 18813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18814 `partmap/acorn.c'.
18815 (pkgdata_MODULES): Add `acorn.mod'.
18816 (acorn_mod_SOURCES): New variable.
18817 (acorn_mod_CFLAGS): Likewise.
18818
18819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18820 `partmap/acorn.c'.
18821 (pkgdata_MODULES): Add `acorn.mod'.
18822 (acorn_mod_SOURCES): New variable.
18823 (acorn_mod_CFLAGS): Likewise.
18824
18825 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
18826 (pkgdata_MODULES): Add `acorn.mod'.
18827 (acorn_mod_SOURCES): New variable.
18828 (acorn_mod_CFLAGS): Likewise.
18829 (acorn_mod_LDFLAGS): Likewise.
18830
18831 * include/types.h (grub_disk_addr_t): New typedef.
18832
6d099807 188332005-11-13 Marco Gerards <mgerards@xs4all.nl>
18834
18835 * geninit.sh: New file.
18836
18837 * geninitheader.sh: Likewise.
18838
18839 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
18840 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
18841 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
18842 * commands/configfile.c (grub_configfile_init)
18843 (grub_configfile_fini): Likewise.
18844 * commands/default.c (grub_default_init, grub_default_fini):
18845 Likewise.
18846 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
18847 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
18848 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
18849 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
18850 Likewise.
18851 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
18852 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
18853 Likewise.
18854 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 18855 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 18856 Likewise.
18857 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
18858 Likewise.
fe6b695a 18859 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 18860 Likewise.
18861 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
18862 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
18863 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
18864 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
18865 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
18866 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
18867 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
18868 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
18869 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
18870 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
18871 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
18872 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
18873 * partmap/amiga.c (grub_amiga_partition_map_init)
18874 (grub_amiga_partition_map_fini): Likewise.
18875 * partmap/apple.c (grub_apple_partition_map_init)
18876 (grub_apple_partition_map_fini): Likewise.
18877 * partmap/pc.c (grub_pc_partition_map_init)
18878 (grub_pc_partition_map_fini): Likewise.
18879 * partmap/sun.c (grub_sun_partition_map_init,
18880 grub_sun_partition_map_fini): Likewise.
18881 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
18882 Likewise.
18883
18884 * util/grub-emu.c: Include <grub_modules_init.h>.
18885 (main): Don't initialize and de-initialize any modules directly,
18886 use `grub_init_all' and `grub_fini_all' instead.
18887
18888 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
18889 `grub_vesafb_mod_init'.
18890 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
18891 all users.
18892 * term/i386/pc/vga.c (grub_vga_init): Renamed to
18893 `grub_vga_mod_init'. Updated all users.
18894 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 18895
6d099807 18896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
18897 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
18898 rules.
18899
18900 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
18901 Generate a function to initialize the module in utilities.
18902 Updated all callers.
18903 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
18904 initialize the module in utilities. Updated all callers.
18905
9046bcf0 189062005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18907
18908 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
18909 escape sequence and a literal ^L to clear the screen.
18910
18911 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
18912 when returning from Open Firmware.
18913
d13ea639 189142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18915
18916 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
18917 (grub_ofconsole_height): Likewise.
18918 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
18919 manually insert a '\n'.
18920 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
18921 `grub_ofconsole_height'. Return early if these are already set.
18922
a8fcf206 189232005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
18924
18925 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18926 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
18927 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
18928 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
18929 and `normal/script.c'.
18930 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18931 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18932 (test_mod_SOURCES): New variable.
18933 (test_mod_CFLAGS): Likewise.
18934 (test_mod_LDFLAGS): Likewise.
18935 (pkgdata_MODULES): Add `test.mod'.
18936 (grub_script.tab.c): New rule.
18937 (grub_script.tab.h): Likewise.
18938
b6b32745 189392005-11-07 Marco Gerards <mgerards@xs4all.nl>
18940
18941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18942 `commands/test.c', `normal/execute.c', `normal/lexer.c',
18943 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18944 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18945 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18946 (test_mod_SOURCES): New variable.
18947 (test_mod_CFLAGS): Likewise.
18948 (pkgdata_MODULES): Add `test.mod'.
18949 (grub_script.tab.c): New rule.
18950 (grub_script.tab.h): Likewise.
18951
daac212a 189522005-11-06 Marco Gerards <mgerards@xs4all.nl>
18953
18954 Add initial scripting support.
18955
18956 * commands/test.c: New file.
18957 * include/grub/script.h: Likewise.
18958 * normal/execute.c: Likewise.
18959 * normal/function.c: Likewise.
18960 * normal/lexer.c: Likewise.
18961 * normal/parser.y: Likewise.
18962 * normal/script.c: Likewise.
18963
18964 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 18965
daac212a 18966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
18967 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
18968 `normal/function.c' and `normal/script.c'.
18969 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18970 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 18971 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
18972 variables.
daac212a 18973 (pkgdata_MODULES): Add `test.mod'.
18974 (grub_script.tab.c): New rule.
18975 (grub_script.tab.h): Likewise.
18976
18977 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
18978
18979 * include/grub/normal.h (grub_test_init): New prototype.
18980 (grub_test_fini): Likewise.
f19dbdb7 18981
daac212a 18982 * normal/command.c: Include <grub/script.h>.
18983 (grub_command_execute): Rewritten.
f19dbdb7 18984
daac212a 18985 * util/grub-emu.c (main): Call `grub_test_init' and
18986 `grub_test_fini'.
18987
77500b2b 189882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18989
18990 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
18991 to 0.
18992 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
18993 there are no pending characters.
18994
e45deb9e 189952005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18996
18997 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
18998 `grub_strndup' to drop device arguments. Replace unnecessary
18999 `grub_strndup' with `grub_strdup'.
19000
4ce32619 190012005-11-03 Hollis Blanchard <hollis@penguinppc.org>
19002
19003 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
19004 `debug' environment variable has been set.
19005
190062005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19007
4ce32619 19008 * Makefile.in (install-local): Use $(DATA).
19009 (uninstall): Likewise.
19010 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
19011 (sbin_UTILITIES): ... to here.
19012 (sbin_SCRIPTS): New variable.
19013 (grub_install_SOURCES): New variable.
19014 * util/powerpc/ieee1275/grub-install.in: New file.
19015 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
19016 variable.
19017 (add_segments): Call `grub_util_get_path'.
19018
25fe6f03 190192005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19020
19021 From Timothy Baldwin:
19022 * commands/ls.c (grub_ls_list_files): Close FILE with
19023 grub_file_close.
19024 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
19025
04ccf3ec 190262005-10-24 Marco Gerards <mgerards@xs4all.nl>
19027
19028 * include/grub/parser.h: New file.
19029
19030 * kern/parser.c: Likewise.
19031
19032 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
19033 (grub_setup_SOURCES): Likewise.
19034 (grub_probefs_SOURCES): Likewise.
19035 (grub_emu_SOURCES): Likewise.
19036 (kernel_img_HEADERS): Add `parser.h'.
19037
19038 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19039 (grub_emu_SOURCES): Add `kern/parser.c'.
19040 (grubof_SOURCES): Likewise.
19041
19042 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
19043 (grubof_SOURCES): Add `kern/parser.c'.
19044
19045 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
19046
19047 * kern/misc.c (grub_split_cmdline): Removed function.
19048
19049 * kern/rescue.c: Include <grub/parser.h>.
19050 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
19051 of `grub_split_cmdline'.
19052
19053 * normal/command.c: Include <grub/parser.h>.
19054 (grub_command_execute): Use `grub_parser_split_cmdline' instead
19055 of `grub_split_cmdline'.
19056
19057 * normal/completion.c: Include <grub/parser.h>.
19058 (cmdline_state): New variable.
19059 (iterate_dir): End the filename with a quote depending on the
19060 command line state.
19061 (get_state): new function.
19062 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
19063 split the arguments and determine the current argument. When the
19064 argument string is not quoted, escape all spaces.
19065
6d8f4b0e 190662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19067
19068 * normal/sparc64/setjmp.S: New file.
19069
15cf03ed 190702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19071
19072 * include/grub/sparc64/libgcc.h: New file.
19073 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
19074 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
19075 normal/sparc64/setjmp.c.
19076
03e8661a 190772005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
19078
19079 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
19080 * kern/sparc64/cache.S: New file.
19081 * kern/sparc64/cache.c: Removed.
19082 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
19083 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
19084 -mtune=ultrasparc.
19085 (COMMON_LDFLAGS): Add -melf64_sparc.
19086 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
19087 (grubof_SOURCES): Use cache.S instead of cache.c.
19088 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
19089 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
19090 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
19091 commented though.
19092 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
19093 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
19094 (linux_mod_CFLAGS): Commented out.
19095 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
19096 out because module isn't built.
19097 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
19098 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
19099 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
19100 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
19101 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
19102 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19103 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19104 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
19105 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
19106 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
19107 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19108 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19109 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
19110 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
19111
34eeec8a 191122005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
19113
19114 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
19115 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
19116 longer, because HFS should not be used on PC.
19117
708367a3 191182005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19119
19120 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
19121 consistently within the loop.
19122
6fa1251a 191232005-10-15 Marco Gerards <mgerards@xs4all.nl>
19124
19125 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
19126 directory can not be read.
19127
4801580b 191282005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19129
19130 * configure.ac (AC_INIT): Increase the version number to 1.91.
19131
19132 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
19133 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
19134 term/i386/pc/serial.c.
19135
219ad426 191362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19137
19138 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
19139 file size must be permitted.
19140
19141 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
19142 between %ah and %al.
19143
688e5699 191442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19145
19146 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
19147 grub_uint64_t.
19148 Call the hook with a NUL-terminated filename.
19149 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
19150 grub_cpu_to_be32.
19151
19152 * kern/term.c (cursor_state): New variable.
19153 (grub_term_set_current): Reset the cursor state on a new
19154 terminal.
19155 (grub_setcursor): Rewritten to use CURSOR_STATE.
19156 (grub_getcursor): New function.
19157
19158 * include/grub/term.h (grub_getcursor): New prototype.
19159
19160 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
19161 integers on ARM. Reported by Timothy Baldwin
19162 <T.E.Baldwin99@members.leeds.ac.uk>.
19163
bb34586c 191642005-10-11 Marco Gerards <mgerards@xs4all.nl>
19165
19166 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
19167 allocated.
19168 (grub_sfs_dir): Likewise.
19169
9a909877 191702005-10-09 Marco Gerards <mgerards@xs4all.nl>
19171
19172 Add support for the SFS filesystem.
19173
19174 * fs/sfs.c: New file.
19175
19176 * DISTLIST: Added `fs/sfs.c'.
19177
19178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
19179 (grub_probefs_SOURCES): Likewise.
19180 (grub_emu_SOURCES): Likewise.
19181 (pkgdata_MODULES): Add `sfs.mod'.
19182 (sfs_mod_SOURCES): New variable.
19183 (sfs_mod_CFLAGS): Likewise.
19184 (sfs_mod_LDFLAGS): Likewise.
19185
19186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
19187 (pkgdata_MODULES): Add `sfs.mod'.
19188 (sfs_mod_SOURCES): New variable.
19189 (sfs_mod_CFLAGS): Likewise.
19190
19191 * util/grub-emu.c (main): Call `grub_sfs_init' and
19192 `grub_sfs_fini'.
19193
19194 * include/grub/fs.h (grub_sfs_init): New prototype.
19195 (grub_sfs_fini): Likewise.
19196
57bdbde3 191972005-10-07 Marco Gerards <mgerards@xs4all.nl>
19198
19199 Add support for the AFFS filesystem.
19200
19201 * fs/affs.c: New file.
19202
19203 * DISTLIST: Added `fs/affs.c'.
19204
19205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
19206 (grub_probefs_SOURCES): Likewise.
19207 (grub_emu_SOURCES): Likewise.
19208 (pkgdata_MODULES): Add `affs.mod'.
19209 (affs_mod_SOURCES): New variable.
19210 (affs_mod_CFLAGS): Likewise.
19211 (affs_mod_LDFLAGS): Likewise.
19212
19213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
19214 (pkgdata_MODULES): Add `affs.mod'.
19215 (affs_mod_SOURCES): New variable.
19216 (affs_mod_CFLAGS): Likewise.
19217
19218 * util/grub-emu.c (main): Call `grub_affs_init' and
19219 `grub_affs_fini'.
19220
19221 * include/grub/fs.h (grub_affs_init): New prototype.
19222 (grub_affs_fini): Likewise.
19223
047b67e0 192242005-10-01 Marco Gerards <mgerards@xs4all.nl>
19225
19226 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
19227
59b8208a 192282005-10-01 Marco Gerards <mgerards@xs4all.nl>
19229
19230 * configure.ac: Accept `x86_64' as host_cpu. In that case add
19231 `-m32' to CFLAGS.
19232
19233 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
19234 linking.
f19dbdb7 19235
59b8208a 19236 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
19237 (COMMON_LDFLAGS): New variable.
19238 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
19239 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
19240 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
19241 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
19242 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
19243 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
19244 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
19245 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
19246 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
19247 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
19248 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19249 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19250 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
19251 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
19252 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
19253 variables.
19254 (normal_mod_ASFLAGS): Add `-m32'.
19255
19256 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
19257 (grub_host_size_t, grub_host_ssize_t): New types.
19258 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 19259 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 19260 `GRUB_HOST_SIZEOF_VOID_P'.
19261
19262 * include/grub/kernel.h (struct grub_module_header): Type of
19263 member offset changed to `grub_host_off_t'. Type of member size
19264 changed to `grub_host_size_t'.
19265 (struct grub_module_info): Type of member offset changed to
19266 `grub_host_off_t'. Type of member size changed to
19267 `grub_host_size_t'.
19268
b4093103 192692005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
19270
19271 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 19272
b4093103 19273 * kern/i386/pc/startup.S (multiboot_header): New label.
19274 (multiboot_entry): Likewise.
19275 (multiboot_trampoline): Likewise.
19276
19277 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19278 Increased to 0x4A0.
19279
19280 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
19281 put parentheses after a question mark.
19282 [!GRUB_UTIL] (my_mod): New variable.
19283
19284 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
19285
b2499b29 192862005-09-28 Marco Gerards <mgerards@xs4all.nl>
19287
19288 Adds support for the XFS filesystem. Btrees are not supported
19289 yet.
19290
19291 * fs/xfs.c: New file.
19292
19293 * DISTLIST: Added `fs/xfs.c'.
19294
19295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
19296 (grub_probefs_SOURCES): Likewise.
19297 (grub_emu_SOURCES): Likewise.
19298 (pkgdata_MODULES): Add `xfs.mod'.
19299 (xfs_mod_SOURCES): New variable.
19300 (xfs_mod_CFLAGS): Likewise.
19301
19302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
19303 (pkgdata_MODULES): Add `xfs.mod'.
19304 (xfs_mod_SOURCES): New variable.
19305 (xfs_mod_CFLAGS): Likewise.
19306
19307 * util/grub-emu.c (main): Call `grub_xfs_init' and
19308 `grub_xfs_fini'.
19309
19310 * include/grub/fs.h (grub_xfs_init): New prototype.
19311 (grub_xfs_fini): Likewise.
19312
f19dbdb7 19313
83d37a62 193142005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
19315
19316 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
19317 color modes, allow greater than 16 colors to be configured as
19318 a default palette.
19319
47d2d65e 193202005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19321
19322 * normal/completion.c (complete_arguments): Add the qualifier
19323 const into OPTIONS.
19324
19325 From Omniflux <omniflux+lists@omniflux.com>:
19326 * include/grub/terminfo.h: New file.
19327 * include/grub/tparm.h: Likewise.
19328 * include/grub/i386/pc/serial.h: Likewise.
19329 * term/terminfo.c: Likewise.
19330 * term/tparm.c: Likewise.
19331 * term/i386/pc/serial.c: Likewise.
19332 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
19333 serial.mod.
19334 (terminfo_mod_SOURCES): New variable.
19335 (terminfo_mod_CFLAGS): Likewise.
19336 (serial_mod_SOURCES): Likewise.
19337 (serial_mod_CFLAGS): Likewise.
19338
48b671ff 193392005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
19340
19341 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
19342 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
19343 and kern/powerpc/ieee1275/cmain.c, respectively.
19344
19345 * boot/powerpc/ieee1275/crt0.S: Moved to ...
19346 * kern/powerpc/ieee1275/crt0.S: ... here.
19347
19348 * boot/powerpc/ieee1275/cmain.c: Moved to ...
19349 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 19350
48b671ff 19351 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
19352 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
19353 instead of boot/powerpc/ieee1275/crt0.S and
19354 boot/powerpc/ieee1275/cmain.c, respectively.
19355
19356 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
19357 sectors. It was not used anyway.
19358
09fc77a7 193592005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19360
19361 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
19362 `unused parameter' warning.
19363
003789c7 193642005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19365
19366 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19367 function.
19368 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19369 getcharwidth.
19370
67f44c86 193712005-08-28 Marco Gerards <metgerards@student.han.nl>
19372
19373 * include/grub/normal.h (enum grub_completion_type): Added
19374 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19375
19376 * normal/cmdline.c (print_completion): Handle
19377 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19378 * normal/menu_entry.c (store_completion): Likewise.
19379
19380 * normal/completion.c (complete_arguments): New function.
19381 (grub_normal_do_completion): Call `complete_arguments' when the
19382 current words start with a dash.
19383
0b5abe02 193842005-08-27 Marco Gerards <metgerards@student.han.nl>
19385
19386 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19387 `gzio.mod' instead of `io.mod').
19388
d9864ee1 193892005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19390
19391 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19392 (DISTDIRS): Added io and video.
19393 Rewrite the search routine to make an output consistently.
19394
19395 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19396 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19397 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19398 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19399 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19400 util/powerpc/ieee1275/misc.c.
f19dbdb7 19401
d9864ee1 19402 * include/grub/gzio.h: New file.
19403 * io/gzio.c: Likewise.
f19dbdb7 19404
d9864ee1 19405 * kern/file.c (grub_file_close): Call grub_device_close only if
19406 FILE->DEVICE is not NULL.
19407
19408 * include/grub/mm.h [!NULL] (NULL): New macro.
19409
19410 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19411
19412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
19413 (pkgdata_MODULES): Added gzio.mod.
19414 (gzio_mod_SOURCES): New variable.
19415 (gzio_mod_CFLAGS): Likewise.
19416
19417 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19418 (pkgdata_MODULES): Added gzio.mod.
19419 (gzio_mod_SOURCES): New variable.
19420 (gzio_mod_CFLAGS): Likewise.
19421
19422 * commands/cat.c: Include grub/gzio.h.
19423 (grub_cmd_cat): Use grub_gzfile_open instead of
19424 grub_file_open.
f19dbdb7 19425
d9864ee1 19426 * commands/cmp.c: Include grub/gzio.h.
19427 (grub_cmd_cmp): Use grub_gzfile_open instead of
19428 grub_file_open.
19429
19430 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
19431 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
19432 grub_file_open.
19433 (grub_rescue_cmd_module): Likewise.
19434
fa46f4b5 194352005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19436
19437 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
19438 kern/sparc64/ieee1275/init.c because it contains _start.
19439 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
19440
e9211b5d 194412005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19442
19443 * configure.ac: Add support for sparc64 host with ieee1275
19444 firmware.
19445 * configure: Generated from configure.ac.
19446 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
19447 instead of int.
19448 (grub_ofdisk_read): Likewise.
19449 (grub_ofdisk_open): Use %p to print pointer values, and cast the
19450 pointers as (void *) to remove a warning.
19451 (grub_ofdisk_close): Likewise.
19452 (grub_ofdisk_read): Likewise.
19453 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
19454 returns, so make it return void to remove a warning.
19455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
19456 Corresponding prototype change.
19457 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
19458 values, and cast the pointers as (void *) to remove a warning.
19459 (grub_mm_dump): Likewise.
19460 * conf/sparc64-ieee1275.mk: New file.
19461 * conf/sparc64-ieee1275.rmk: Likewise.
19462 * include/grub/sparc64/setjmp.h: Likewise.
19463 * include/grub/sparc64/types.h: Likewise.
19464 * include/grub/sparc64/ieee1275/console.h: Likewise.
19465 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19466 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19467 * include/grub/sparc64/ieee1275/time.h: Likewise.
19468 * kern/sparc64/cache.c: Likewise.
19469 * kern/sparc64/dl.c: Likewise.
19470 * kern/sparc64/ieee1275/init.c: Likewise.
19471 * kern/sparc64/ieee1275/openfw.c: Likewise.
19472
385c6a92 194732005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19474
19475 * util/console.c (grub_ncurses_putchar): If C is greater than
19476 0x7f, set C to a question mark.
19477 (grub_ncurses_getcharwidth): New function.
19478 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
19479 getcharwidth.
19480
19481 * normal/menu.c (print_entry): Made aware of Unicode. First,
19482 convert TITLE to UCS-4, and predict the cursor position by
19483 grub_getcharwidth.
19484
19485 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
19486 const to SRC.
19487 * kern/misc.c (grub_utf16_to_utf8): Likewise.
19488
16ccb8b1 194892005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19490
19491 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
19492 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19493 grub_strcat.
19494
19495 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
19496 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19497 grub_strcpy and grub_strlen. Take it into account that a space
19498 character is inserted as a delimiter.
19499
6a85ce79 195002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19501
19502 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 19503 invalid magic in the error.
6a85ce79 19504
19505 * commands/search.c: New file.
f19dbdb7 19506
6a85ce79 19507 * util/grub-emu.c (main): Call grub_search_init and
19508 grub_search_fini.
19509
19510 * kern/rescue.c (grub_rescue_print_disks): Removed.
19511 (grub_rescue_print_devices): New function.
19512 (grub_rescue_cmd_ls): Use grub_device_iterate with
19513 grub_rescue_print_devices instead of grub_disk_dev_iterate with
19514 grub_rescue_print_disks.
19515
19516 * kern/partition.c (grub_partition_iterate): Return the result of
19517 PARTMAP->ITERATE instead of GRUB_ERRNO.
19518
19519 * kern/device.c: Include grub/partition.h.
19520 (grub_device_iterate): New function.
19521
19522 * include/grub/partition.h (grub_partition_iterate): Return int
19523 instead of grub_err_t.
19524
19525 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
19526 prototype.
19527 [GRUB_UTIL] (grub_search_fini): Likewise.
19528
19529 * include/grub/device.h (grub_device_iterate): New prototype.
19530
19531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19532 commands/search.c.
19533 (pkgdata_MODULES): Added search.mod.
19534 (search_mod_SOURCES): New variable.
19535 (search_mod_CFLAGS): Likewise.
19536
19537 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
19538 (pkgdata_MODULES): Added search.mod.
19539 (search_mod_SOURCES): New variable.
19540 (search_mod_CFLAGS): Likewise.
19541
19542 * commands/ls.c (grub_ls_list_disks): Renamed to ...
19543 (grub_ls_list_devices): ... this, and use grub_device_iterate.
19544 All callers changed.
19545
19546 * DISTLIST: Added commands/search.c.
19547
ef095434 195482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19549
19550 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
19551 conversion.
19552 (grub_getcharwidth): New function.
19553
19554 * kern/misc.c (grub_utf8_to_ucs4): New function.
19555
19556 * include/grub/term.h (struct grub_term): Added a new member
19557 "getcharwidth".
19558 (grub_getcharwidth): New prototype.
19559
19560 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
19561
19562 * term/i386/pc/console.c (map_char): New function. Segregated from
19563 grub_console_putchar.
19564 (grub_console_putchar): Use map_char.
19565 (grub_console_getcharwidth): New function.
19566 (grub_console_term): Specified grub_console_getcharwidth as
19567 getcharwidth.
19568
19569 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
19570 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
19571
19572 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
19573 GRUB_ERRNO.
19574 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
19575 on grub_strtoul completely.
19576 (write_char): Declare local variables in the beginning of the
19577 function.
19578 (grub_vesafb_getcharwidth): New function.
19579 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
19580 getcharwidth.
19581
1f0a95e4 195822005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
19583
19584 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
19585 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
19586 commands/i386/pc/vbetest.c.
19587
19588 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
19589 call grub_vbe_get_controller_info again, because the returned
19590 information is volatile.
19591 (grub_vbe_set_video_mode): Mostly rewritten.
19592 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
19593 grub_vbe_status_t correctly.
19594 (grub_vbe_get_video_mode_info): Likewise.
19595 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
19596 several if statements.
19597
19598 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
19599 * commands/i386/pc/vbeinfo.c: ... this.
19600
19601 * commands/i386/pc/vbe_test.c: Renamed to ...
19602 * commands/i386/pc/vbetest.c: ... this.
19603
19604 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
19605 ...
19606 (grub_cmd_vbeinfo): ... this. Save video modes before
19607 iterating. Skip a video mode, if it is not available, not enough
19608 information is given or it is monochrome. Show the memory
19609 model. Leave the interpretation of MODEVAR to grub_strtoul
19610 completely.
19611 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
19612 (GRUB_MOD_FINI): Likewise.
19613
19614 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
19615 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
19616 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
19617 duplicated grub_env_get. Leave the interpretation of MODEVAR to
19618 grub_strtoul completely.
19619 (real2pm): Removed.
19620 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
19621 (GRUB_MOD_FINI): Likewise.
19622
19623 * normal/misc.c: Include grub/mm.h.
19624
19625 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
19626 vbe_list_modes with vbetest.mod and vbeinfo.mod.
19627 (vbe_list_modes_mod_SOURCES): Removed.
19628 (vbe_list_modes_mod_CFLAGS): Likewise.
19629 (vbe_test_mod_SOURCES): Likewise.
19630 (vbe_test_mod_CFLAGS): Likewise.
19631 (vbeinfo_mod_SOURCES): New variable.
19632 (vbeinfo_mod_CFLAGS): Likewise.
19633 (vbetest_mod_SOURCES): Likewise.
19634 (vbetest_mod_CFLAGS): Likewise.
19635
992ffbbe 196362005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
19637
19638 * normal/misc.c: New file.
19639
19640 * DISTLIST: Added normal/misc.c.
f19dbdb7 19641
992ffbbe 19642 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
19643 DISK to HOOK. Call HOOK with DISK.
19644 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19645 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19646 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19647
19648 * normal/menu_entry.c (struct screen): Added a new member
19649 "completion_shown".
19650 (completion_buffer): New global variable.
19651 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
19652 (store_completion): New function.
19653 (complete): Likewise.
19654 (clear_completions): Likewise.
19655 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
19656 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
19657 a tab, call complete.
19658
19659 * normal/completion.c (disk_dev): Removed.
19660 (print_simple_completion): Likewise.
19661 (print_partition_completion): Likewise.
19662 (print_func): New global variable.
19663 (add_completion): Do not take the arguments WHAT or PRINT any
19664 longer. Added a new argument TYPE. Instead of printing directly,
19665 call PRINT_FUNC if not NULL.
19666 All callers changed.
19667 (complete_device): Use a local variable DEV instead of
19668 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
19669 (grub_normal_do_completion): Take a new argument HOOK. Do not
19670 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
19671 empty string, return NULL instead.
19672 All callers changed.
19673
19674 * normal/cmdline.c (print_completion): New function.
19675
19676 * kern/partition.c (grub_partition_iterate): Add an argument DISK
19677 to HOOK.
19678 All callers changed.
19679
19680 * kern/disk.c (grub_print_partinfo): Removed.
19681
19682 * include/grub/partition.h (struct grub_partition_map): Add a new
19683 argument DISK into HOOK of ITERATE.
19684 (grub_partition_iterate): Add a new argument DISK to HOOK.
19685
19686 * include/grub/normal.h (enum grub_completion_type): New enum.
19687 (grub_completion_type_t): New type.
19688 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
19689 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
19690 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
19691 (GRUB_COMPLETION_TYPE_FILE): Likewise.
19692 (grub_normal_do_completion): Added a new argument HOOK.
19693 (grub_normal_print_device_info): New prototype.
19694
19695 * include/grub/disk.h (grub_print_partinfo): Removed.
19696
19697 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
19698 (normal_mod_SOURCES): Likewise.
19699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19700 (normal_mod_SOURCES): Likewise.
19701
19702 * commands/ls.c (grub_ls_list_disks): Use
19703 grub_normal_print_device_info instead of grub_print_partinfo. Free
19704 PNAME.
19705 (grub_ls_list_files): Use grub_normal_print_device_info instead of
19706 duplicating the code.
19707
0bd41162 197082005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19709
19710 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 19711 follow GCS more precisely.
19712 * commands/i386/pc/vbe_test.c: Likewise.
19713 * include/grub/i386/pc/vbe.h: Likewise.
19714 * term/i386/pc/vesafb.c: Likewise.
19715 * video/i386/pc/vbe.c: Likewise.
0bd41162 19716
6323696a 197172005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19718
19719 * DISTLIST: Added term/i386/pc/vesafb.c
19720 DISTLIST: Added video/i386/pc/vbe.c
19721 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
19722 DISTLIST: Added commands/i386/pc/vbe_test.c.
19723 * commands/i386/pc/vbe_list_modes.c: New file.
19724 * commands/i386/pc/vbe_test.c: Likewise.
19725 * term/i386/pc/vesafb.c: Likewise.
19726 * video/i386/pc/vbe.c: Likewise.
19727 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
19728 (grub_vbe_probe) Added prototype.
19729 (grub_vbe_set_video_mode) Likewise.
19730 (grub_vbe_get_video_mode) Likewise.
19731 (grub_vbe_get_video_mode_info) Likewise.
19732 (grub_vbe_set_pixel_rgb) Likewise.
19733 (grub_vbe_set_pixel_index) Likewise.
19734 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
19735 (pkgdata_MODULES): Added vesafb.mod.
19736 (pkgdata_MODULES): Added vbe_list_modes.mod.
19737 (pkgdata_MODULES): Added vbe_test.mod.
19738 (vbe_mod_SOURCES): Added.
19739 (vbe_mod_CFLAGS): Likewise.
19740 (vesafb_mod_SOURCES): Likewise.
19741 (vesafb_mod_CFLAGS): Likewise.
19742 (vbe_list_modes_mod_SOURCES): Likewise.
19743 (vbe_list_modes_mod_CFLAGS): Likewise.
19744 (vbe_test_mod_SOURCES): Likewise.
19745 (vbe_test_mod_CFLAGS): Likewise.
19746
0a74e62f 197472005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
19748
0a74e62f 19749 * normal/command.c (grub_command_execute): If INTERACTIVE is
19750 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
19751 CMDLINE. Disable the pager if INTERACTIVE is true.
19752 All callers are changed.
19753
19754 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
19755 before reading a config file.
19756 * normal/main.c (read_config_file): Even if a command is not
19757 found, register it if it is within an entry.
19758
19759 * util/grub-emu.c: Include sys/types.h and unistd.h.
19760 (options): Added --hold.
19761 (struct arguments): Added a new member "hold".
19762 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
19763 missing.
19764 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
19765 cleared by a debugger, if it is not zero.
19766
19767 * include/grub/normal.h (grub_command_execute): Add an argument
19768 INTERACTIVE.
19769
e51f85ae 197702005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
19771
19772 * DISTLIST: Added include/grub/i386/pc/vbe.h.
19773
e9c6f39b 197742005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
19775
19776 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
19777 program with another one, because the old one didn't detect a bug
19778 in gcc-3.4. Always use regparm 2, because the new test is still
19779 not enough for gcc-4.0. Someone must investigate a simple test
19780 case which detects a bug in gcc-4.0.
19781
8de3495c 197822005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
19783
19784 * DISTLIST: Added normal/completion.c.
19785
19786 * normal/completion.c: New file.
f19dbdb7 19787
8de3495c 19788 * term/i386/pc/console.c (grub_console_getwh): New function.
19789 (grub_console_term): Assign grub_console_getwh to getwh.
19790
19791 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
19792 function is defined in normal/completion.c as
19793 grub_normal_do_completion.
19794 (grub_cmdline_get): Use grub_normal_do_completion instead of
19795 grub_tab_complete.
19796
19797 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
19798 returns non-zero, otherwise return 0.
19799 (grub_partition_iterate): First, probe the partition map. Then,
19800 call ITERATE only for this partition map.
19801
19802 * kern/misc.c (grub_strncmp): Rewritten.
19803
19804 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
19805 returns non-zero. Otherwise return 0.
19806
19807 * include/grub/partition.h (grub_partition_map_iterate): Return
19808 int instead of void.
19809
19810 * include/grub/normal.h (grub_normal_do_completion): New prototype.
19811
19812 * include/grub/misc.h (grub_strncmp): Change the type of N to
19813 grub_size_t.
19814
19815 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
19816 of void.
19817
19818 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 19819 unsigned explicitly before comparing it with I.
8de3495c 19820
19821 * kern/main.c (grub_env_write_root): Add the attribute unused into
19822 VAR.
19823
19824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19825 normal/completion.c.
19826 (normal_mod_SOURCES): Likewise.
19827 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19828 (normal_mod_SOURCES): Likewise.
19829
19830 * normal/command.c (grub_iterate_commands): If ITERATE returns
19831 non-zero, return one immediately.
19832
e85e144b 198332005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
19834
19835 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
19836 * kern/i386/pc/startup.S: Updated Global Descriptor table's
19837 descriptions.
19838 (grub_vbe_get_controller_info): New function.
19839 (grub_vbe_get_mode_info): Likewise.
19840 (grub_vbe_set_mode): Likewise.
19841 (grub_vbe_get_mode): Likewise.
19842 (grub_vbe_set_memory_window): Likewise.
19843 (grub_vbe_get_memory_window): Likewise.
19844 (grub_vbe_set_scanline_length): Likewise.
19845 (grub_vbe_get_scanline_length): Likewise.
19846 (grub_vbe_set_display_start): Likewise.
19847 (grub_vbe_get_display_start): Likewise.
19848 (grub_vbe_set_palette_data): Likewise.
19849 * include/grub/i386/pc/vbe.h: New file.
19850
c46153d2 198512005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19852
19853 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19854 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
19855 * DISTLIST: Likewise.
19856 * kern/ieee1275/of.c: Moved to ...
19857 * kern/ieee1275/ieee1275.c: ... here.
19858
0cb90c45 198592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19860
19861 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
19862 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
19863 Pass 0 as `end' parameter to grub_strtoul().
19864
a19fb360 198652005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19866
19867 * include/grub/powerpc/ieee1275/console.h: Do not include
19868 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
19869 ifdef.
19870 (grub_console_cur_color): Remove i386-specific prototype.
19871 (grub_console_real_putchar): Likewise.
19872 (grub_console_checkkey): Likewise.
19873 (grub_console_getkey): Likewise.
19874 (grub_console_getxy): Likewise.
19875 (grub_console_gotoxy): Likewise.
19876 (grub_console_cls): Likewise.
19877 (grub_console_setcursor): Likewise.
19878 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
19879 Include <grub/machine/console.h>.
19880 * term/ieee1275/ofconsole.c: Likewise.
19881
4ac9bd04 198822005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
19883
19884 * Makefile.in (LIBLZO): New variable.
19885
19886 * configure.ac: Check for LZO version 2.
19887
19888 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
19889 lzo/lzo1x.h instead of lzo1x.h.
19890
19891 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
19892 of -llzo.
19893
19894 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
19895 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
19896
19897 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
19898 copying the data from PARTITION to P.
19899
f4917dfd 199002005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19901
19902 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
19903 negative, unload the module.
19904
19905 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
19906 map is "pc_partition_map" but not "pc".
19907 (usage): Fix the description. The options are --boot-image and
19908 --core-image but not --boot-file or --core-file.
19909 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
19910 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
19911 DEFAULT_DIRECTORY.
19912
19913 * util/i386/pc/grub-install.in: Do not specify --boot-file or
19914 --core-file. Specify INSTALL_DEVICE as an argument.
19915
19916 * util/console.c: Include config.h.
19917 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
19918 [HAVE_NCURSES_H]: Include ncurses.h.
19919 [HAVE_CURSES_H]: Include curses.h.
19920 [!A_NORMAL] (A_NORMAL): Defined as zero.
19921 [!A_STANDOUT] (A_STANDOUT): Likewise.
19922
19923 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
19924 -lncurses.
19925 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
19926
19927 * configure.ac: Check for curses libraries and headers.
19928
19929 * Makefile.in (LIBCURSES): New variable.
19930
19931 * genmk.rb (Script::rule): Set the executable bits.
19932
19933 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
19934 name of the PC partition map is "pc_partition_map" but not "pc".
19935
0e143073 199362005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19937
19938 * util/i386/pc/grub-install.in (grub_probefs): New variable.
19939 (modules): Likewise.
19940 (usage): Added descriptions for --modules and --grub-probefs.
19941 Handle --modules and --grub-probefs. Save the arguments in MODULES
19942 and GRUB_PROBEFS, respectively.
19943 Auto-detect a filesystem module against GRUBDIR. If the result is
19944 empty and modules are not specified explicitly, abort the
19945 installation. Add the result to MODULES.
19946
19947 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
19948 disk/powerpc/ieee1275/ofdisk.c,
19949 include/grub/powerpc/ieee1275/init.h and
19950 term/powerpc/ieee1275/ofconsole.c.
19951 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
19952 term/ieee1275/ofconsole.c.
19953
19954 * include/grub/powerpc/ieee1275/console.h: Resurrected.
19955
19956 * COPYING: Upgraded to the latest version. Only the address of the
19957 FSF office has changed.
f19dbdb7 19958
efd6e6d5 199592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19960
19961 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19962 kern/ieee1275.c with kern/ieee1275/of.c.
19963
19964 * kern/ieee1275.c: Moved to ...
19965 * kern/ieee1275/of.c: ... here.
19966
8ceafda2 199672005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
19968
19969 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 19970 readability.
8ceafda2 19971
19972 * config.guess: Updated to the latest version from gnulib.
19973 * config.sub: Likewise.
19974 * install.sh: Likewise.
19975 * mkinstalldirs: Likewise.
19976
19977 * include/grub/console.h: Removed. This file is arch-specific. Do
19978 not put this in include/grub.
19979
19980 * include/grub/i386/pc/console.h: Resurrected.
19981
19982 * util/console.c: Include grub/machine/console.h instead of
19983 grub/console.h.
19984 * util/grub-emu.c: Likewise.
19985
267f6cd9 199862005-08-04 Marco Gerards <metgerards@student.han.nl>
19987
19988 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
19989 hardcoded value.
f19dbdb7 19990
267f6cd9 19991 From Vincent Pelletier <subdino2004@yahoo.fr>
19992 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
19993 Redefined to use grub_getwh.
19994 (grub_term): New member named getwh.
19995 (grub_getwh): New prototype.
19996 * kern/term.c (grub_getwh): New function.
19997 * term/i386/pc/console.c (grub_console_getwh): New function.
19998 (grub_console_term): New member `getwh'.
19999 * term/i386/pc/vga.c (grub_vga_getwh): New function.
20000 (grub_vga_term): New member `getwh'.
0b5abe02 20001 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 20002 grub_ssize_t.
20003 (grub_ofconsole_getw): New function.
20004 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
20005 (grub_ofconsole_term): New field named getwh and new initial
20006 value.
20007
3be7266d 200082005-08-03 Hollis Blanchard <hollis@penguinppc.org>
20009
20010 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
20011 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
20012 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
20013 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
20014 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
20015 of <grub/machine/ieee1275.h>.
20016 * commands/ieee1275/reboot.c: Likewise.
20017 * boot/powerpc/ieee1275/ieee1275.c: Move ...
20018 * kern/ieee1275.c: ... to here. All users updated. Change all
20019 parameter structs to use new type `grub_ieee1275_cell_t'.
20020 * term/powerpc/ieee1275/ofconsole.c: Move ...
20021 * term/ieee1275/ofconsole.c: ... to here. All users updated.
20022 * disk/powerpc/ieee1275/ofdisk.c: Move ...
20023 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
20024 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
20025 to return int.
20026 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
20027 Remove unused prototypes. All users updated.
20028 * include/grub/powerpc/ieee1275/console.h: Removed.
20029 * include/grub/powerpc/ieee1275/ieee1275.h: Define
20030 `grub_ieee1275_cell_t'.
20031 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
20032 Cast comparisons with -1 to the correct type.
20033 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
20034 type to match `grub_ieee1275_entry_fn'.
20035
8b5f3938 200362005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
20037
20038 * DISTLIST: Added util/i386/pc/grub-probefs.c.
20039
20040 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
20041 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
20042 partmap/sun.c.
20043 (grub_probefs_SOURCES): New variable.
20044
20045 * util/i386/pc/grub-probefs.c: New file.
20046
20047 * util/i386/pc/grub-setup.c (main): Call
20048 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
20049 grub_hfs_init and grub_jfs_init to initialize the system. Call
20050 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
20051 grub_pc_partition_map_fini to finish the system.
20052
ea409713 200532005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
20054
20055 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
20056 function.
20057 (grub_multiboot_load_elf32): Likewise.
20058 (grub_multiboot_is_elf64): Likewise.
20059 (grub_multiboot_load_elf64): Likewise.
20060 (grub_multiboot_load_elf): Likewise.
20061 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
20062 an ELF32 or ELF64 file.
20063 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
20064
20065 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
20066 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
20067 NULL before calling FS->LABEL.
20068 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
20069 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
20070 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
20071 before calling FS->LABEL.
20072
141a288b 200732005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
20074
20075 * util/i386/pc/grub-install.in (datadir): New variable.
20076 (libdir): Removed.
20077 (pkgdatadir): New variable.
20078 (pkglibdir): Removed.
20079
0d5f8a54 200802005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
20081
20082 * DISTLIST: Added util/i386/pc/grub-install.in.
20083
20084 * util/i386/pc/grub-install.in: New file.
20085
20086 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
20087 (grub_install_SOURCES): Likewise.
20088
20089 * genmk.rb: Added support for scripts.
20090 (Script): New class.
20091 (scripts): New variable.
20092
20093 * Makefile.in (install-local): Install sbin_SCRIPTS by
20094 INSTALL_SCRIPT.
20095 (uninstall): Remove sbin_SCRIPTS.
20096
20097 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
20098 device, try to get a GRUB device by
20099 grub_util_biosdisk_get_grub_dev.
20100 Free DEST_DEV.
20101
20102 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
20103 description for --device-map.
20104
5f968e1e 201052005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20106
20107 Change the semantics of variable hooks. They now return strings
20108 instead of error values.
f19dbdb7 20109
5f968e1e 20110 * util/i386/pc/grub-setup.c: Include grub/env.h.
20111 (setup): Use grub_device_set_root instead of grub_env_set.
20112
20113 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
20114 grub_env_get instead of grub_device_set_root and
20115 grub_device_get_root, respectively.
20116
20117 * kern/main.c (grub_env_write_root): New function.
20118 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
20119 grub_env_set instead of grub_device_set_root.
20120
20121 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
20122 many variables.
20123 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
20124 rather than calling ENV->WRITE_HOOK afterwards.
20125 (grub_env_get): Return the result of ENV->READ_HOOK rather than
20126 passing a pointer of a pointer.
20127 (grub_register_variable_hook): Change the types of "read_hook" and
20128 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
20129 respectively.
20130 Allocate the default empty string on the heap, because this string
20131 may be freed later.
20132
20133 * kern/device.c: Include grub/env.h.
20134 (grub_device_set_root): Removed.
20135 (grub_device_get_root): Likewise.
20136 (grub_device_open): Use grub_env_get instead of
20137 grub_device_get_root.
20138
20139 * include/grub/env.h (grub_env_read_hook_t): New type.
20140 (grub_env_write_hook_t): Likewise.
20141 (grub_env_var): Change the types of "read_hook" and "write_hook"
20142 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
20143 (grub_register_variable_hook): Likewise.
20144
20145 * include/grub/device.h (grub_device_set_root): Removed.
20146 (grub_device_set_root): Likewise.
20147
20148 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
20149 make sure that DIRNAME terminates with '/', so that
20150 grub_fat_find_dir will fail if PATH is not a directory.
20151
20152 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
20153 from DIRNAME.
20154 Use the qualifier auto for print_files and print_files_long.
20155 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
20156 as a regular file.
20157 Put a newline only if there is no error.
20158 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
20159 used.
20160
896f0afd 201612005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20162
20163 * kern/partition.c (grub_partition_probe): Initialize PART to
20164 NULL. Otherwise, when no partition map is registered, this returns
20165 a garbage.
20166
b28b81b2 201672005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
20168
20169 * partmap/apple.c (apple_partition_map_iterate): Check if POS
20170 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
20171 valid.
20172
5f3607e0 201732005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
20174
20175 * commands/ls.c (grub_ls_list_disks): Print the filesystem
20176 information on each device, if it does not have partitions. Print
20177 "Device" instead of "Disk", because this function is not specific
20178 to disk devices.
20179
20180 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
20181 static to ensure that it is put on the memory rather than a
20182 register.
20183
502c87e8 201842005-07-17 Yoshinori Okuji <okuji@enbug.org>
20185
20186 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
20187 (grub_cat_init): Likewise.
20188 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
20189 (options): Likewise.
20190 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20191 (grub_configfile_init): Likewise.
20192 * font/manager.c (GRUB_MOD_INIT): Likewise.
20193 * commands/help.c (GRUB_MOD_INIT): Likewise.
20194 (grub_help_init): Likewise.
20195 * normal/command.c (grub_command_init): Likewise.
20196 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
20197 * disk/loopback.c (grub_loop_init): Likewise.
20198 (GRUB_MOD_INIT): Likewise.
20199 * commands/ls.c (grub_ls_init): Likewise.
20200 (GRUB_MOD_INIT): Likewise.
20201 (options): Likewise.
20202 * commands/boot.c (grub_boot_init): Likewise.
20203 (GRUB_MOD_INIT): Likewise.
20204 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
20205 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
20206 (GRUB_MOD_INIT): Likewise.
20207 * commands/cmp.c (grub_cmp_init): Likewise.
20208 (GRUB_MOD_INIT): Likewise.
20209
20210 * normal/arg.c: Use <> instead of "" to include header files.
20211 (SHORT_ARG_HELP): New macro.
20212 (SHORT_ARG_USAGE): Likewise.
20213 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
20214 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
20215 descriptions.
20216 (find_short): Check if C is 'h' or 'u' explicitly.
20217 (grub_arg_show_help): Use space characters instead of tabs. Treat
20218 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
20219 are shown with --help and --usage only if they are not used for
20220 the command itself.
20221 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
20222 'h' and 'u'.
20223
20224 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
20225 const into "longarg". Change the type of "shortarg" to int.
20226
f806d18e 202272005-07-17 Yoshinori Okuji <okuji@enbug.org>
20228
20229 * boot/i386/pc/boot.S (boot_drive_check): New label.
20230
20231 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
20232 macro.
20233
20234 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
20235 which do not pass a boot drive correctly. Copied from GRUB Legacy.
20236
e293232b 202372005-07-17 Yoshinori Okuji <okuji@enbug.org>
20238
20239 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
20240 When turning off Gate A20, skip the check and return immediately,
20241 because this is not fatal usually.
20242
ebedfd00 202432005-07-17 Yoshinori Okuji <okuji@enbug.org>
20244
20245 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
20246 be 0x7C00 instead of 0x8000.
20247
20248 * boot/i386/pc/pxeboot.S: Rewritten.
20249
20250 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
20251 EXT_C.
20252 (gate_a20_check_state): Read a byte from 0x108000. Invert the
20253 result.
20254
654fc59f 202552005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
20256
20257 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
20258 robustness. This routine now supports a BIOS call and System
20259 Control Port A to modify the gate A20.
20260
20261 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20262 Increased to 0x440.
20263
09f9923f 202642005-07-12 Hollis Blanchard <hollis@penguinppc.org>
20265
20266 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
20267 device path and resulting ihandle.
20268 (grub_ofdisk_close): dprintf the ihandle being closed.
20269 (grub_ofdisk_read): dprintf function parameters.
20270 * kern/mm.c (grub_mm_init_region): Likewise.
20271 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
20272 (grub_linux_boot): dprintf the Linux entry point, initrd address and
20273 size, and boot arguments.
20274 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
20275 before loading into memory.
20276 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
20277 before loading into memory.
20278
7ef504d8 202792005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
20280
20281 * kern/mm.c: Added much documentation.
20282 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
20283 8, set to 5 instead of 8.
20284
e0f050c2 202852005-07-10 Yoshinori Okuji <okuji@enbug.org>
20286
20287 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
20288
20289 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
20290 (grub_mkdevicemap_SOURCES): New variable.
20291
20292 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
20293 lib/device.c of GRUB Legacy.
20294
7224189a 202952005-07-10 Yoshinori Okuji <okuji@enbug.org>
20296
20297 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
20298 instead of PATH is NULL.
20299
68c864eb 203002005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
20301
20302 * commands/cmp.c (BUFFER_SIZE): New macro.
20303 (grub_cmd_cmp): Close the right file at the right time. Compare
20304 only data just read. Don't report files of different size as
20305 identical. Dynamically allocate buffers. Move variable
20306 declarations at the beginning of function.
20307
e6f3e614 203082005-07-09 Yoshinori Okuji <okuji@enbug.org>
20309
20310 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
20311 reverse.
20312
f8f1559a 203132004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
20314
20315 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
20316 when backspace is pressed at beginning of line.
20317
39c9d41d 203182005-07-03 Yoshinori Okuji <okuji@enbug.org>
20319
20320 * DISTLIST: Added genfslist.sh.
20321
20322 * normal/main.c (fs_module_list): New variable.
20323 (autoload_fs_module): New function.
20324 (read_fs_list): Likewise.
20325 (grub_normal_execute): Call read_fs_list.
20326
20327 * kern/fs.c (grub_fs_autoload_hook): New variable.
20328 (grub_fs_probe): Added support for auto-loading.
20329
20330 * include/grub/normal.h (struct grub_fs_module_list): New struct.
20331 (grub_fs_module_list_t): New type.
20332
20333 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
20334 (grub_fs_autoload_hook): New prototype.
20335
20336 * genfslist.sh: New file.
f19dbdb7 20337
39c9d41d 20338 * genmk.rb: Added a rule to generate a filesystem list.
20339
121c1d83 203402005-06-30 Marco Gerards <metgerards@student.han.nl>
20341
20342 * configure.ac: Fix the test for cross-compiling.
20343
20344 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
20345 define GRUB_UTIL anymore.
20346
20347 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
20348 so this function works on other systems than just big endian.
20349 (load_modules): Likewise.
20350 (add_segments): Likewise.
20351
e75d76e1 203522005-06-23 Hollis Blanchard <hollis@penguinppc.org>
20353
20354 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
20355 contains `l' modifier, get a long from va_arg().
20356
50b5a0a7 203572005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
20358
20359 * kern/mm.c (grub_free): If the next free block which is being
20360 merged is the first free block, set the first block to the block
20361 being freed.
20362 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
20363
89371b20 203642005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20365
20366 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20367 `grub_ieee1275_chosen'.
20368
168d6e58 203692005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20370
20371 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20372 (grub_ieee1275_chosen): New variable.
20373 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20374 `chosen'.
20375 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20376 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20377 Rename first argument to `phandle' for consistency.
20378 (grub_ieee1275_get_property_length): Likewise.
20379 (grub_ieee1275_next_property): Likewise. Change type of first argument
20380 to grub_ieee1275_phandle_t.
20381 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20382 Move export next to declaration.
20383 (grub_ieee1275_chosen): New variable.
20384 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20385 Correct cosmetic typo.
20386 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20387 `grub_ieee1275_chosen'.
20388 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20389 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20390 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20391 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20392 `grub_ieee1275_chosen'.
20393
ca5baa3f 203942005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20395
20396 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20397 /chosen/bootargs.
20398 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20399 /chosen/bootargs as "variable=value" pairs.
20400
708b345f 204012005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20402
20403 * include/grub/misc.h (grub_dprintf): New macro.
20404 (grub_real_dprintf): New prototype.
20405 (grub_strword): Likewise.
20406 (grub_iswordseparator): Likewise.
20407 * kern/misc.c (grub_real_dprintf): New function.
20408 (grub_strword): Likewise.
20409 (grub_iswordseparator): Likewise.
20410
f4c5e67c 204112005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20412
20413 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20414 (roundup): Remove macro.
20415 (grub_ieee1275_flags): Make static.
20416 (grub_ieee1275_realmode): Remove.
20417 (grub_ieee1275_test_flag): New function.
20418 (grub_ieee1275_set_flag): Likewise.
20419 (find_options): Rename to `grub_ieee1275_find_options'; update
20420 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20421 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20422 (cmain): New prototype.
20423 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20424 `grub_ieee1275_flags' directly.
20425 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
20426 machine/biosdisk.h.
20427 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
20428 Don't include grub/machine/init.h.
20429 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
20430 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20431 Remove prototype.
20432 (grub_ieee1275_realmode): Likewise.
20433 (grub_ieee1275_flag): New enum.
20434 (grub_ieee1275_test_flag): New prototype.
20435 (grub_ieee1275_set_flag): New prototype.
20436 * include/grub/powerpc/ieee1275/init.h: Remove file.
20437 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
20438 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
20439 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
20440 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
20441 comment.
20442 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
20443 `grub_ieee1275_test_flag'.
20444 (grub_ieee1275_encode_devname): Likewise.
20445
ed16607e 204462005-04-21 Hollis Blanchard <hollis@penguinppc.org>
20447
20448 * include/grub/powerpc/ieee1275/ieee1275.h
20449 (grub_ieee1275_encode_devname): New prototype.
20450 (grub_ieee1275_get_filename): Likewise.
20451 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
20452 function.
20453 (grub_set_prefix): Likewise.
20454 (grub_machine_init): Call grub_set_prefix.
20455 * kern/powerpc/ieee1275/openfw.c: Fix typos.
20456 (grub_parse_type): New enum.
20457 (grub_ieee1275_get_devargs): New function.
20458 (grub_ieee1275_get_devname): Likewise.
20459 (grub_ieee1275_parse_args): Likewise.
20460 (grub_ieee1275_get_filename): Likewise.
20461 (grub_ieee1275_encode_devname): Likewise.
20462
be369920 204632005-03-30 Marco Gerards <metgerards@student.han.nl>
20464
20465 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
20466 `grub_loader_unset'.
20467
a5ce3a4a 204682005-03-26 Hollis Blanchard <hollis@penguinppc.org>
20469
20470 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
20471 instead of grub_ieee1275_interpret.
20472 (grub_halt_init): New function.
20473 (grub_halt_fini): Likewise.
20474 (GRUB_MOD_INIT): Correct message grammar.
20475 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
20476 instead of grub_ieee1275_interpret.
20477 (grub_reboot_init): New function.
20478 (grub_reboot_fini): Likewise.
20479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
20480 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
20481 util/i386/pc/misc.c with commands/ieee1275/halt.c,
20482 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
20483 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
20484 function.
20485 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
20486 Add prototype.
20487 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
20488 prototype.
20489 (grub_halt): Likewise.
20490 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
20491 (cmain): Remove __attribute__((unused)).
20492 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
20493 (grub_heap_len): Likewise.
20494 (grub_machine_fini): New function.
20495 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
20496 (grub_halt): Likewise.
20497 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
20498 function.
20499 * util/powerpc/ieee1275/misc.c: New file.
20500
0058f771 205012005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20502
20503 * DISTLIST: New file.
20504 * gendistlist.sh: Likewise.
f19dbdb7 20505
0058f771 20506 * Makefile.in (COMMON_DISTFILES): Removed.
20507 (BOOT_DISTFILES): Likewise.
20508 (CONF_DISTFILES): Likewise.
20509 (DISK_DISTFILES): Likewise.
20510 (FS_DISTFILES): Likewise.
20511 (INCLUDE_DISTFILES): Likewise.
20512 (KERN_DISTFILES): Likewise.
20513 (LOADER_DISTFILES): Likewise.
20514 (TERM_DISTFILES): Likewise.
20515 (UTIL_DISTFILES): Likewise.
20516 (DISTFILES): Likewise.
20517 (uninstall): Uninstall files in $(pkgdata_DATA).
20518 (DISTLIST): New target.
20519 (distdir): Use the contents of the file DISTLIST to get a list of
20520 distributed files.
20521
46b3b8a5 205222005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20523
20524 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
20525 descriptor. This is ported from GRUB Legacy.
20526
20527 * gencmdlist.sh: Added an extra semicolon to make it work with
20528 old sed versions. Reported by Robert Bihlmeyer
20529 <robbe@orcus.priv.at>.
20530
5822ff87 205312005-03-08 Yoshinori Okuji <okuji@enbug.org>
20532
20533 Automatic loading of commands is supported.
f19dbdb7 20534
5822ff87 20535 * normal/main.c (read_command_list): New function.
20536 (grub_normal_execute): Call read_command_list.
20537
20538 * normal/command.c (grub_register_command): Return zero or CMD.
20539 Allocate CMD->NAME from the heap.
20540 Initialize CMD->MODULE_NAME to zero.
20541 Find the same name as well. If the same command is found and it is
20542 a dummy command, overwrite members. If it is not a dummy command,
20543 return zero.
20544 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
20545 (grub_command_find): If a dummy command is found, load a module
20546 and retry to find a command only once.
20547
20548 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
20549 make sure that each command is loaded.
20550
20551 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
20552 macro.
20553 (struct grub_command): Remove const from the member `name'.
20554 Add a new member `module_name'.
20555 (grub_register_command): Return grub_command_t.
20556
20557 * commands/help.c (grub_cmd_help): Call grub_command_find to make
20558 sure that each command is loaded.
20559
20560 * genmk.rb (PModule::rule): Specify a module name without the
20561 suffix ".mod" to gencmdlist.sh.
20562
7b1f4b57 205632005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20564
20565 * gencmdlist.sh: New file.
f19dbdb7 20566
7b1f4b57 20567 * genmk.rb (PModule::rule): Generate a rule for a command list.
20568 Clean command.lst.
20569 Generate command.lst from $(COMMANDFILES).
20570
20571 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
20572 (DATA): Added $(pkgdata_DATA).
20573 (install-local): Install files in $(pkgdata_DATA).
20574
062aaf39 205752005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20576
20577 * term/i386/pc/vga.c (debug_command): Removed.
20578 (GRUB_MOD_INIT): Do not register the command "debug".
20579
20580 From Hollis Blanchard:
20581 * commands/configfile.c: New file.
20582 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20583 commands/configfile.c.
20584 (pkgdata_MODULES): Added configfile.mod.
20585 (configfile_mod_SOURCES): New variable.
20586 (configfile_mod_CFLAGS): Likewise.
20587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20588 commands/configfile.c.
20589 (pkgdata_MODULES): Added configfile.mod.
20590 (configfile_mod_SOURCES): New variable.
20591 (configfile_mod_CFLAGS): Likewise.
20592 * util/grub-emu.c (main): Call grub_configfile_init and
20593 grub_configfile_fini.
20594 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
20595 prototype.
20596 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 20597
cee01aa6 205982005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20599
20600 * normal/arg.c (grub_arg_show_help): Do not show the bug report
20601 address.
20602
20603 * commands/help.c (grub_cmd_help): Do not print newlines after
20604 the last command in print_command_help.
20605
93f3a1d8 206062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20607
20608 * commands/default.h: New file.
20609 * commands/timeout.h: Likewise.
20610 * normal/context.c: Likewise.
f19dbdb7 20611
93f3a1d8 20612 * util/misc.c: Do not include sys/times.h.
20613 Include sys/time.h and grub/machine/time.h.
20614 (grub_get_rtc): Rewritten with gettimeofday.
20615
20616 * util/grub-emu.c (main): Call grub_default_init and
20617 grub_timeout_init before grub_normal_init, and call
20618 grub_timeout_fini and grub_default_fini after grub_main.
20619
20620 * util/console.c (grub_ncurses_checkkey): Return the read
20621 character or -1.
20622
20623 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
20624 timeouts.
20625
20626 * normal/main.c (read_config_file): Push MENU. If this fails,
20627 print an error and wait for a user input.
20628 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
20629 If a menu is empty or an error occurs, pop MENU.
20630 (grub_normal_execute): Pop and free MENU after grub_menu_run
20631 returns.
20632
20633 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
20634
20635 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
20636 include time.h.
20637 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20638 without GRUB_UTIL.
20639 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
20640 time.h.
20641 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20642 without GRUB_UTIL.
20643
20644 * include/grub/normal.h (struct grub_menu_list): New struct.
20645 (grub_menu_list_t): New type.
20646 (struct grub_context): New struct.
20647 (grub_context_t): New type.
20648 (grub_register_command): Got rid of EXPORT_FUNC.
20649 (grub_unregister_command): Likewise.
20650 (grub_context_get): New prototype.
20651 (grub_context_get_current_menu): Likewise.
20652 (grub_context_push_menu): Likewise.
20653 (grub_context_pop_menu): Likewise.
20654 [GRUB_UTIL] (grub_default_init): Likewise.
20655 [GRUB_UTIL] (grub_default_fini): Likewise.
20656 [GRUB_UTIL] (grub_timeout_init): Likewise.
20657 [GRUB_UTIL] (grub_timeout_fini): Likewise.
20658
20659 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
20660 commands/timeout.c and normal/context.c.
20661 (pkgdata_MODULES): Added default.mod and timeout.mod.
20662 (normal_mod_SOURCES): Added normal/context.c.
20663 (default_mod_SOURCES): New variable.
20664 (default_mod_CFLAGS): Likewise.
20665 (timeout_mod_SOURCES): Likewise.
20666 (timeout_mod_CFLAGS): Likewise.
20667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
20668 conf/i386-pc.rmk.
20669 (pkgdata_MODULES): Added default.mod and timeout.mod.
20670 (normal_mod_SOURCES): Added normal/context.c.
20671 (default_mod_SOURCES): New variable.
20672 (default_mod_CFLAGS): Likewise.
20673 (timeout_mod_SOURCES): Likewise.
20674 (timeout_mod_CFLAGS): Likewise.
20675
20676 * Makefile.in (all-local): Added $(MKFILES).
20677
4ed2e1dd 206782005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
20679
20680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
20681 (grub_emu_SOURCES): Likewise.
20682 (pkgdata_MODULES): Add `sun.mod'.
20683 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20685 `partmap/sun.c'.
20686 (pkgdata_MODULES): Add `sun.mod'.
20687 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20688 * include/grub/partition.h (grub_sun_partition_map_init): New
20689 prototype.
20690 (grub_sun_partition_map_fini): Likewise.
20691 * partmap/sun.c: New file.
20692 * util/grub-emu.c (main): Initialize and de-initialize the sun
20693 partitionmap support.
20694
4d4e372e 206952005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
20696
20697 This implements an Emacs-like menu entry editor.
f19dbdb7 20698
4d4e372e 20699 * normal/menu_entry.c: New file.
f19dbdb7 20700
4d4e372e 20701 * util/console.c (grub_ncurses_putchar): Translate some Unicode
20702 characters to ASCII.
20703 (saved_char): New variable.
20704 (grub_ncurses_checkkey): Rewritten completely.
20705 (grub_ncurses_getkey): Likewise.
20706 (grub_ncurses_init): Call raw instead of cbreak.
20707
20708 * normal/menu.c (print_entry): Do not put a space.
20709 (init_page): Renamed to ...
20710 (grub_menu_init_page): ... this. All callers changed.
20711 (edit_menu_entry): Removed.
20712 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
20713
20714 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
20715
20716 * kern/misc.c (grub_vprintf): Call grub_refresh.
20717
20718 * normal/menu.c (DISP_LEFT): Renamed to ...
20719 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
20720 * normal/menu.c (DISP_UP): Renamed to ...
20721 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
20722 * normal/menu.c (DISP_RIGHT): Renamed to ...
20723 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
20724 * normal/menu.c (DISP_DOWN): Renamed to ...
20725 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
20726 * normal/menu.c (DISP_HLINE): Renamed to ...
20727 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
20728 * normal/menu.c (DISP_VLINE): Renamed to ...
20729 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
20730 * normal/menu.c (DISP_UL): Renamed to ...
20731 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
20732 * normal/menu.c (DISP_UR): Renamed to ...
20733 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
20734 * normal/menu.c (DISP_LL): Renamed to ...
20735 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
20736 * normal/menu.c (DISP_LR): Renamed to ...
20737 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
20738 * normal/menu.c (TERM_WIDTH): Renamed to ...
20739 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
20740 * normal/menu.c (TERM_HEIGHT): Renamed to ...
20741 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
20742 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
20743 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
20744 * normal/menu.c (TERM_MARGIN): Renamed to ...
20745 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
20746 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
20747 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
20748 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
20749 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
20750 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
20751 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
20752 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
20753 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
20754 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
20755 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
20756 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
20757 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
20758 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
20759 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
20760 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
20761 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
20762 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
20763 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
20764 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
20765 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
20766 All callers changed.
20767
20768 * include/grub/normal.h: New prototype.
20769
20770 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20771 normal/menu_entry.c.
20772 (normal_mod_SOURCES): Likewise.
20773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20774 (normal_mod_SOURCES): Likewise.
20775
e6b92c8a 207762005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
20777
20778 * include/grub/normal.h (grub_halt_init): New prototype.
20779 (grub_halt_fini): Likewise.
20780 (grub_reboot_init): Likewise.
20781 (grub_reboot_fini): Likewise.
20782
20783 * util/grub-emu.c: Include signal.h.
20784 (main_env): New global variable.
20785 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
20786 catch C-c.
20787 (grub_machine_fini): New function.
20788 (main): Call grub_halt_init and grub_reboot_init before
20789 grub_main, and grub_reboot_fini and grub_halt_fini after it.
20790 Call setjmp with MAIN_ENV to go back afterwards.
20791 Call grub_machine_fini right before return.
20792
20793 * include/grub/util/misc.h: Include setjmp.h.
20794 (main_env): New prototype.
20795
20796 * include/grub/kernel.h (grub_machine_fini): New prototype.
20797 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
20798 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
20799
20800 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
20801 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
20802 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 20803
e6b92c8a 20804 * util/i386/pc/misc.c: New file.
f19dbdb7 20805
e6b92c8a 20806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20807 util/i386/pc/misc.c, commands/i386/pc/halt.c and
20808 commands/i386/pc/reboot.c.
20809
c642636f 208102005-02-14 Guillem Jover <guillem@hadrons.org>
20811
20812 * include/grub/dl.h (grub_dl_check_header): New prototype.
20813 (grub_arch_dl_check_header): Change return type to grub_err_t,
20814 remove size parameter and export function. Update all callers.
20815 * kern/dl.c (grub_dl_check_header): New function.
20816 (grub_dl_load_core): Use `grub_dl_check_header' instead of
20817 `grub_arch_dl_check_header'. Check ELF type. Check if sections
20818 are inside the core.
20819 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
20820 independent ELF header checks.
20821 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
20822 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
20823 `grub_dl_check_header' instead of explicit checks. Check for the
20824 ELF type.
20825 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
20826 `grub_dl_check_header' instead of explicit checks. Remove arch
20827 specific ELF header checks.
20828
e6b92c8a 20829 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
20830 argument SIZE.
20831
5eabe94b 208322005-02-13 Hollis Blanchard <hollis@penguinppc.org>
20833
20834 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
20835 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
20836
1b14a681 208372005-02-12 Hollis Blanchard <hollis@penguinppc.org>
20838
20839 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 20840 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 20841 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 20842 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 20843 * partmap/amiga.c (amiga_partition_map_iterate): Return
20844 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
20845 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20846
aca108aa 208472005-02-01 Guillem Jover <guillem@hadrons.org>
20848
20849 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
20850 help info.
20851
c9f9c556 208522005-01-31 Marco Gerards <metgerards@student.han.nl>
20853
20854 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
20855 Removed prototype.
20856 (grub_rescue_cmd_linux): New prototype.
20857 (grub_rescue_cmd_initrd): Likewise.
20858 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
20859 `bi_rec'.
20860 (grub_linux_release_mem): Release the memory for the initrd.
20861 (grub_load_linux): Renamed from this...
20862 (grub_rescue_cmd_linux): ...To this. Changed all callers.
20863 Changed `entry' not to be static. Loop over memory regions to
20864 find another one when the default fails.
20865 (grub_rescue_cmd_initrd): New function.
20866 (grub_linux_init): Remove function.
20867 (grub_linux_fini): Likewise.
20868 (GRUB_MOD_INIT): Register `initrd'.
20869 (GRUB_MOD_FINI): Unregister `initrd'.
20870 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
20871 Function removed.
20872 (grub_linux_normal_fini): Likewise.
20873 (GRUB_MOD_INIT): Register `initrd'.
20874 (GRUB_MOD_FINI): Unregister `initrd'.
20875
990cf3aa 208762005-01-31 Marco Gerards <metgerards@student.han.nl>
20877
20878 * commands/help.c: New file.
20879 * normal/arg.c (show_help): Renamed to...
20880 (grub_arg_show_help): ... this.
20881 * commands/i386/pc/halt.c: New file.
20882 * commands/i386/pc/reboot.c: Likewise.
20883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
20884 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
20885 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
20886 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
20887 variables.
20888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20889 `commands/help.c'.
20890 (pkgdata_MODULES): Add `help.mod'.
20891 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
20892 * grub/i386/pc/init.h (grub_reboot): New prototype.
20893 (grub_halt): Likewise.
20894 * include/grub/normal.h (grub_arg_show_help): New prototype.
20895 (grub_help_init): Likewise.
20896 (grub_help_fini): Likewise.
20897 * util/grub-emu.c (main): Initialize and deinitialize the help
20898 command.
20899
20900 * normal/cmdline.c (grub_cmdline_get): Doc fix.
20901
20902 * normal/command.c (grub_command_init): Fixed the description of
20903 the `set' and `unset' commands.
20904
209052005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 20906
20907 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
20908 function.
20909 * commands/ieee1275/halt.c: New file.
20910 * commands/ieee1275/reboot.c: Likewise.
20911 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
20912 `__attribute__ ((unused))'. Some GCS related fixed.
20913 (grub_suspend_init) [GRUB_UTIL]: Function removed.
20914 (grub_suspend_fini): Likewise.
20915 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
20916 and `halt.mod'.
20917 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
20918 (halt_mod_CFLAGS): New variables.
20919 * include/grub/powerpc/ieee1275/ieee1275.h
20920 (grub_ieee1275_interpret): New prototype.
20921
1ab09cc7 209222005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
20923
20924 * include/grub/misc.h (memmove): New prototype.
20925 (memcpy): Likewise.
20926
8b8cbdb2 209272005-01-22 Hollis Blanchard <hollis@penguinppc.org>
20928
20929 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
20930 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
20931
e3741a27 209322005-01-22 Marco Gerards <metgerards@student.han.nl>
20933
20934 * kern/misc.c (grub_strndup): Function rewritten.
20935
776bd780 209362005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
20937
20938 * normal/menu.c (TERM_WIDTH): Macro redefined.
20939 (TERM_TOP_BORDER_Y): Likewise.
20940 (draw_border): Replaced while-loop by a for-loop. Make the number
20941 of lines consistent with the number of lines displayed in
20942 print_entries. Added a margin below the rectangle.
20943 (print_entry): Make the entry fit in the rectangle.
20944 (print_entries): Display the scroll arrows next to the right
20945 border.
20946
78026bce 209472005-01-21 Marco Gerards <metgerards@student.han.nl>
20948
20949 * fs/minix.c (grub_minix_find_file): Reserve more space for
20950 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
20951 `grub_strncpy' to copy `path' into it.
20952
67bbaf0f 209532005-01-21 Marco Gerards <metgerards@student.han.nl>
20954
20955 Add the loopback device, a device via which files can be accessed
20956 as devices.
f19dbdb7 20957
67bbaf0f 20958 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
20959 (pkgdata_MODULES): Add loopback.mod.
20960 (loopback_mod_SOURCES): New variable.
20961 (loopback_mod_CFLAGS): Likewise.
20962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20963 `disk/loopback.c'.
20964 (pkgdata_MODULES): Add loopback.mod.
20965 (loopback_mod_SOURCES): New variable.
20966 (loopback_mod_CFLAGS): Likewise.
20967 * disk/loopback.c: new file.
20968 * include/grub/normal.h (grub_loop_init): New prototype.
20969 (grub_loop_fini): New prototype.
20970 * util/grub-emu.c (main): Initialize and de-initialize loopback
20971 support.
20972 * include/grub/disk.h (grub_disk_dev_id): Add
20973 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
20974
6f1c18bd 209752005-01-20 Hollis Blanchard <hollis@penguinppc.org>
20976
20977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
20978 function.
20979 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
20980 (suspend_mod_SOURCES): New variable.
20981 (suspend_mod_CFLAGS): Likewise.
20982 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
20983 New prototype.
20984 * commands/ieee1275/suspend.c: New file.
20985
b38551da 209862005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20987
20988 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 20989 ((unused))' to `__attribute__ ((used))'.
b38551da 20990 (GRUB_MOD_FINI): Likewise.
20991 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
20992 * genmk.rb (PModule): Assign space to common symbols when linking
20993 modules.
20994
777aff39 209952005-01-20 Marco Gerards <metgerards@student.han.nl>
20996
20997 * include/grub/mm.h (grub_mm_init_region): Change the type of the
20998 `unsigned' arguments to `grub_size_t'.
20999 (grub_malloc): Likewise.
21000 (grub_realloc): Likewise.
21001 (grub_memalign): Likewise.
21002 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
21003 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
21004 * util/misc.c (grub_malloc): Likewise.
21005 (grub_realloc): Likewise.
21006 * kern/mm.c (get_header_from_pointer): Change the casts to
21007 `unsigned' into a cast to `grub_size_t'.
21008
21009 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
21010 point to `currnode' when `currnode' is changed.
21011
21012 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
21013 Schottelius <nico-linux@schottelius.org>.
21014
d0ff18e1 210152005-01-09 Hollis Blanchard <hollis@penguinppc.org>
21016
21017 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
21018 (note_path): Remove variable.
21019 (GRUB_IEEE1275_NOTE_NAME): New macro.
21020 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
21021 (grub_ieee1275_note_hdr): New structure.
21022 (grub_ieee1275_note_desc): Likewise.
21023 (grub_ieee1275_note): Likewise.
21024 (load_note): Remove `dir' argument. All callers updated. Remove
21025 `note_img' and `path'. Do not load a file from `note_path'.
21026 Initialize a struct grub_ieee1275_note and write that to `out'.
21027 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
21028
4ca7004c 210292005-01-05 Marco Gerards <metgerards@student.han.nl>
21030
21031 * util/misc.c (grub_util_read_image): Revert last change. It
21032 called `grub_util_read_at', which seeks from the beginning of the
21033 file.
21034
0b412211 210352005-01-04 Hollis Blanchard <hollis@penguinppc.org>
21036
21037 * TODO: Add note about endianness in grub-mkimage.
21038 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
21039 section.
21040 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
21041 (grub_mkimage_SOURCES): New target.
21042 * include/grub/kernel.h (grub_start_addr): Remove variable.
21043 (grub_end_addr): Likewise.
21044 (grub_total_module_size): Likewise.
21045 (grub_kernel_image_size): Likewise.
21046 (GRUB_MODULE_MAGIC): New constant.
21047 (grub_module_info): New structure.
21048 (grub_arch_modules_addr): New prototype.
21049 (grub_get_end_addr): Remove prototype.
21050 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
21051 * include/grub/powerpc/ieee1275/kernel.h: New file.
21052 * include/grub/util/misc.h (grub_util_get_fp_size): New
21053 prototype.
21054 (grub_util_read_at): Likewise.
21055 (grub_util_write_image_at): Likewise.
21056 * kern/main.c (grub_get_end_addr): Remove function.
21057 (grub_load_modules): Call grub_arch_modules_addr instead of using
21058 grub_end_addr. Look for a grub_module_info struct in memory. Use
21059 the grub_module_info fields instead of calling grub_get_end_addr
21060 as loop conditions. Move grub_add_unused_region code here.
21061 (grub_add_unused_region): Remove function.
21062 * kern/i386/pc/init.c: Include grub/cache.h.
21063 (grub_machine_init): Remove call to grub_get_end_addr. Remove
21064 one call to add_mem_region.
21065 (grub_arch_modules_addr): New function.
21066 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
21067 (grub_total_module_size): Likewise.
21068 Include grub/machine/kernel.h.
21069 (grub_arch_modules_addr): New function.
21070 * util/grub-emu.c (grub_end_addr): Remove variable.
21071 (grub_total_module_size): Likewise.
21072 (grub_arch_modules_addr): New function.
21073 * util/misc.c: Include unistd.h.
21074 (grub_util_get_fp_size): New function.
21075 (grub_util_read_at): Likewise.
21076 (grub_util_write_image_at): Likewise.
21077 (grub_util_read_image): Call grub_util_read_at.
21078 (grub_util_write_image): Call grub_util_write_image_at.
21079 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
21080 additional memory in kernel_img for a struct grub_module_info.
21081 Fill in that grub_module_info.
21082 * util/powerpc/ieee1275/grub-mkimage.c: New file.
21083
458786f8 210842005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21085
21086 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
21087 New function.
21088 * include/grub/powerpc/ieee1275/ieee1275.h
21089 (grub_ieee1275_milliseconds): New prototype.
21090 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
21091 Change to 1000.
21092 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
21093 grub_ieee1275_milliseconds.
21094
ac507d1b 210952005-01-03 Hollis Blanchard <hollis@penguinppc.org>
21096
21097 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
21098 variable.
21099 (find_options): New function.
21100 (cmain): Call find_options.
21101 * include/grub/powerpc/ieee1275/ieee1275.h
21102 (grub_ieee1275_realmode): New extern variable.
21103 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
21104 grub_map if grub_ieee1275_realmode is false.
21105
6b8fd1c4 211062004-12-29 Marco Gerards <metgerards@student.han.nl>
21107
21108 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
21109 lines are inserted and make it work like readline. Reported by
21110 Vincent Pelletier <subdino2004@yahoo.fr>.
21111
8514a1e0 211122004-12-28 Marco Gerards <metgerards@student.han.nl>
21113
21114 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
21115
21116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
21117 `kern/powerpc/cache.S'.
21118
924b6140 211192004-12-27 Marco Gerards <metgerards@student.han.nl>
21120
21121 * genmk.rb: Handle the `Program' class in the main loop. Written
21122 by Johan Rydberg <jrydberg@gnu.org>.
21123 (Program): New class.
21124 (programs): New variable.
21125 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
21126 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
21127 instead of "grub/kernel.h". Include <grub/machine/init.h>.
21128 (help_arch): Function removed.
21129 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
21130 `powerpc/libgcc.h' and `loader.h'.
21131 (pkgdata_PROGRAMS): New variable.
21132 (sbin_UTILITIES): Variable removed.
21133 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
21134 (grubof_SOURCES): Variable re-defined so it only includes the
21135 core functionality.
21136 (grubof_CFLAGS): Remove `-DGRUBOF'.
21137 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
21138 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
21139 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
21140 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
21141 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
21142 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
21143 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
21144 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
21145 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
21146 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
21147 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21148 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
21149 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
21150 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
21151 (pc_mod_CFLAGS): New variables.
21152 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
21153 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
21154 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
21155 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
21156 Moved from here...
21157 * include/grub/i386/pc/init.h (grub_os_area_addr)
21158 (rub_os_area_size): ... to here.
21159 * include/grub/powerpc/ieee1275/ieee1275.h
21160 (grub_ieee1275_entry_fn): Export symbol.
21161 * include/grub/powerpc/ieee1275/init.h: New file.
21162 * include/grub/powerpc/libgcc.h: Likewise.
21163 * include/grub/cache.h: Likewise.
21164 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
21165 <hollis@penguinppc.org>.
21166 * kern/dl.c: Include <grub/cache.h>.
21167 (grub_dl_flush_cache): New function.
21168 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
21169 for this module.
21170 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
21171 (grub_console_init): Removed prototypes.
21172 (grub_machine_init): Don't initialize the modules anymore.
21173 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
21174 static.
21175 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
21176 Macro undef removed.
21177 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
21178 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
21179 relocation `R_PPC_REL32'. Return an error when the relocation is
21180 unknown.
21181 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
21182 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
21183 * util/misc.c (grub_arch_sync_caches): Likewise.
21184
e4b47e0c 211852004-12-19 Marco Gerards <metgerards@student.han.nl>
21186
21187 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
21188 `symlist.c', add `grubof_symlist.c'.
21189 (symlist.c): Variable removed.
21190 (grubof_HEADERS): Variable added.
21191 (grubof_symlist.c): New target.
21192 (kernel_syms.lst): Use `grubof_HEADERS' instead of
21193 `kernel_img_HEADERS'.
21194 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
21195 * kern/powerpc/dl.c: New file.
21196 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
21197 Function removed.
21198 (grub_arch_dl_relocate_symbols): Likewise.
21199 (grub_register_exported_symbols): Likewise.
21200
4ceb3636 212012004-12-13 Marco Gerards <metgerards@student.han.nl>
21202
21203 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
21204 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
21205 to fail instead. Reported by Vincent Pelletier
21206 <subdino2004@yahoo.fr>.
21207
21208 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
21209 it is not allocated. Reported by Vincent Pelletier
21210 <subdino2004@yahoo.fr>.
21211
21212 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
21213 output so the output looks better.
f19dbdb7 21214
3f1578fe 212152004-12-04 Marco Gerards <metgerards@student.han.nl>
21216
21217 Modulize the partition map support and add support for the amiga
21218 partition map.
f19dbdb7 21219
3f1578fe 21220 * commands/ls.c: Include <grub/partition.h> instead of
21221 <grub/machine/partition.h>.
21222 * kern/disk.c: Likewise.
21223 * kern/rescue.c: Likewise.
21224 * loader/i386/pc/chainloader.c: Likewise.
21225 * normal/cmdline.c: Likewise.
21226 * kern/powerpc/ieee1275/init.c: Likewise.
21227 (grub_machine_init): Call `grub_pc_partition_map_init',
21228 `grub_amiga_partition_map_init' and
21229 `grub_apple_partition_map_init'.
21230 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
21231 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
21232 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
21233 `partition.h' and `pc_partition.h'.
21234 (grub_setup_SOURCES): Remove
21235 `disk/i386/pc/partition.c'. Add `kern/partition.c',
21236 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21237 (grub_emu_SOURCES): Likewise.
21238 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
21239 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
21240 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
21241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21242 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
21243 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21244 (grubof_SOURCES): Likewise.
21245 * disk/i386/pc/partition.c: File removed.
21246 * disk/powerpc/ieee1275/partition.c: Likewise.
21247 * include/grub/powerpc/ieee1275/partition.h: Likewise.
21248 * include/grub/i386/pc/partition.h: Likewise.
21249 * kern/partition.c: New file.
21250 * partmap/amiga.c: Likewise.
21251 * partmap/apple.c: Likewise.
21252 * partmap/pc.c: Likewise.
21253 * include/grub/partition.h: Likewise..
21254 * include/grub/pc_partition.h: Likewise.
21255 * util/grub-emu.c: Include <grub/partition.h> instead of
21256 <grub/machine/partition.h>.
21257 (main): Call `grub_pc_partition_map_init',
21258 `grub_amiga_partition_map_init' and
21259 `grub_apple_partition_map_init' and deinitialize afterwards.
21260 * util/i386/pc/biosdisk.c: Include `#include
21261 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21262 `<grub/machine/partition.h>'.
21263 * util/i386/pc/grub-setup.c: Likewise.
21264 * util/i386/pc/biosdisk.c: Likewise.
21265 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
21266 partition information in case of a PC partition.
21267 * util/i386/pc/grub-setup.c: Include `#include
21268 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21269 `<grub/machine/partition.h>'.
21270 (setup): Only access the PC specific partition information in case
21271 of a PC partition.
21272
0ef4ced9 212732004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21274
0ef4ced9 21275 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
21276 (grub_longjmp): Likewise.
21277 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
21278 20.
21279 * normal/powerpc/setjmp.S: New file.
21280 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21281 `normal/powerpc/setjmp.S'.
21282 (grubof_CFLAGS): Add `-DGRUBOF'.
21283 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
21284 [GRUB_UTIL && !GRUBOF].
f19dbdb7 21285
19950e29 212862004-11-16 Marco Gerards <metgerards@student.han.nl>
21287
21288 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
21289 property named `name'. Correctly handle the error returned by
21290 `grub_ieee1275_finddevice' if a device can not be opened.
21291
a2fea427 212922004-11-02 Hollis Blanchard <hollis@penguinppc.org>
21293
21294 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
21295 `actual' for negativity.
21296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21297 kern/fshelp.c.
21298
41ea0ea3 212992004-11-01 Marco Gerards <metgerards@student.han.nl>
21300
21301 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
21302 (PAGE_OFFSET): New macro.
21303 (CRTC_ADDR_PORT): Likewise.
21304 (CRTC_DATA_PORT): Likewise.
21305 (START_ADDR_HIGH_REGISTER): Likewise.
21306 (START_ADDR_LOW_REGISTER): Likewise.
21307 (GRAPHICS_ADDR_PORT): Likewise.
21308 (GRAPHICS_DATA_PORT): Likewise.
21309 (READ_MAP_REGISTER): Likewise.
21310 (INPUT_STATUS1_REGISTER): Likewise.
21311 (INPUT_STATUS1_VERTR_BIT): Likewise.
21312 (page): New variable.
21313 (wait_vretrace): New function.
21314 (set_read_map): Likewise.
21315 (set_start_address): Likewise.
21316 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
21317 the right page.
21318 (check_vga_mem): Take the page into account.
21319 (write_char): Likewise.
21320 (write_cursor): Likewise.
21321 (scroll_up): Likewise. Copy the page to the page that is not
21322 shown and switch between both pages.
21323 (grub_vga_putchar): Fix off by one error.
21324 (grub_vga_cls): Wait for the vertical retrace. Take the page into
21325 account.
21326
ad0bd20b 213272004-11-01 Marco Gerards <metgerards@student.han.nl>
21328
21329 Add support for iso9660 (including rockridge).
f19dbdb7 21330
ad0bd20b 21331 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21332 (iso9660_mod_SOURCES): New variable.
21333 (iso9660_mod_CFLAGS): Likewise.
21334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21335 * include/grub/fs.h (grub_iso9660_init): New prototype.
21336 * util/grub-emu.c (main): Call `grub_iso9660_init'.
21337 * fs/iso9660.c: New file.
21338
21339 * include/grub/misc.h (grub_strncat): New prototype.
21340 * kern/misc.c (grub_strncat): New function.
f19dbdb7 21341
ad0bd20b 21342 * fs/hfs.c (grub_hfs_mount): Translate the error
21343 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
21344 * fs/jfs.c (grub_jfs_mount): Likewise.
21345 * fs/ufs.c (grub_ufs_mount): Likewise.
21346
a5477a59 213472004-10-28 Hollis Blanchard <hollis@penguinppc.org>
21348
21349 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
21350 which initialized BAT registers.
21351 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
21352 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21353 Move from here...
21354 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
21355 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21356 ... to here.
21357 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
21358 (grub_mapclaim): Likewise.
21359 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
21360 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
21361 hand.
21362
9304c1f8 213632004-10-19 Hollis Blanchard <hollis@penguinppc.org>
21364
21365 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21366 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21367 -ffreestanding and -msoft-float.
21368
86f4ae25 213692004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21370
21371 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21372 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21373 set in grub_ieee1275_flags.
21374
38912228 213752004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21376
21377 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21378 prototype.
21379 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21380 grub_console_init first.
21381 Change the memory range used for grub_ieee1275_claim and
21382 grub_mm_init_region.
21383 Print an error message if the claim fails.
21384 Include <grub/misc.h>.
21385
d1923dc8 213862004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21387
21388 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21389 Call grub_children_iterate for device nodes of type `scsi',
21390 `ide', or `ata'.
21391 (grub_ofdisk_open): Remove manual device alias resolution.
21392 Fix memory leak when device cannot be opened.
f19dbdb7 21393 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21394 (grub_children_iterate): New prototype.
21395 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21396 New function.
21397 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21398 Return -1 if args.size was -1.
21399
4512e4f3 214002004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21401
21402 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21403 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21404 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21405 Open Firmware's memory for it; claim memory from _start to _end.
21406 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21407 (_end): New extern.
21408 (_start): Zero BSS from __bss_start to _end.
21409 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21410 New extern.
21411 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21412
4d61feb0 214132004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21414
ad0bd20b 21415 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21416 -1 if args.base was -1.
4d61feb0 21417
026fa2f9 214182004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21419
21420 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21421 escape sequence instead of a literal ^L. Also call
21422 grub_ofconsole_gotoxy.
21423
9f2220ef 214242004-10-03 Hollis Blanchard <hollis@penguinppc.org>
21425
21426 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
21427 void * arguments to grub_addr_t. All callers updated. Also make
21428 the `result' argument optional.
21429 (grub_ieee1275_release): change void * arguments to grub_addr_t.
21430 All callers updated.
21431
8a572cd7 214322004-09-22 Hollis Blanchard <hollis@penguinppc.org>
21433
21434 * commands/ls.c (grub_ls_list_files): Use the string following the
21435 initial ')', if present, as the filesystem path.
21436 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
21437
21438 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
21439
18aa81f2 214402004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
21441
21442 Make the source code of the menu interface more readable.
f19dbdb7 21443
18aa81f2 21444 * normal/menu.c: Include grub/mm.h.
21445 (TERM_WIDTH): New macro.
21446 (TERM_HEIGHT): Likewise.
21447 (TERM_INFO_HEIGHT): Likewise.
21448 (TERM_MARGIN): Likewise.
21449 (TERM_SCROLL_WIDTH): Likewise.
21450 (TERM_TOP_BORDER_Y): Likewise.
21451 (TERM_LEFT_BORDER_X): Likewise.
21452 (TERM_BORDER_WIDTH): Likewise.
21453 (TERM_MESSAGE_HEIGHT): Likewise.
21454 (TERM_BORDER_HEIGHT): Likewise.
21455 (TERM_NUM_ENTRIES): Likewise.
21456 (TERM_FIRST_ENTRY_Y): Likewise.
21457 (TERM_ENTRY_WIDTH): Likewise.
21458 (TERM_CURSOR_X): Likewise.
21459 (draw_border): Use macros instead of magic numbers.
21460 (print_entry): Likewise.
21461 (print_entries): Likewise.
21462 (run_menu): Likewise. Also, handle the key 'e'.
21463 (run_menu_entry): Ignore empty command lines.
21464 (print_message): Added a new argument EDIT. If EDIT is true,
21465 print a different message.
21466 (init_page): Likewise.
21467 (edit_menu_entry): New function. Not implemented yet.
21468
b47efe30 214692004-09-17 Marco Gerards <metgerards@student.han.nl>
21470
21471 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
21472 can be loaded from normal mode.
f19dbdb7 21473
b47efe30 21474 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
21475 `multiboot.mod'.
21476 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
21477 (multiboot_mod_CFLAGS): New variables.
21478 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 21479 * loader/i386/pc/multiboot_normal.c: Likewise.
21480
b47efe30 21481 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
21482 attribute `unused'.
f19dbdb7 21483
b47efe30 21484 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
21485 `fdiro' to read the mode information from instead of `diro'.
21486
21487 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
21488 looking up a symlink.
21489
21490 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
21491 macro.
21492 * normal/command.c (grub_command_execute): Don't parse the
21493 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
21494 flags of the command.
21495
21496 * normal/menu.c (grub_menu_run): Fix typo.
21497
da75ac71 214982004-09-14 Hollis Blanchard <hollis@penguinppc.org>
21499
21500 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
21501
21502 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
21503 `y + 1' instead of `y - 1'.
21504
21505 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 21506
062b24c2 215072004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
21508
21509 From Hollis Blanchard <hollis@penguinppc.org>:
21510 * kern/misc.c (memmove): New alias for grub_memmove.
21511 (memcmp): New alias for grub_memcmp.
21512 (memset): New alias for grub_memset.
f19dbdb7 21513 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 21514 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 21515 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 21516 (grub_ieee1275_get_property): Likewise.
f19dbdb7 21517
8ddad845 215182004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
21519
21520 Added normal mode command `chainloader' as module chain.mod, which
21521 depends on normal.mod and _chain.mod.
f19dbdb7 21522
8ddad845 21523 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
21524 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
21525 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
21526 Deleted prototype.
21527 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
21528 but arguments parsing moved to ...
21529 (grub_chainloader_cmd): ... here. New function.
21530 * include/grub/i386/pc/chainloader.h: New file.
21531 * loader/i386/pc/chainloader_normal.c: Likewise.
21532
2c1f4ce3 215332004-09-11 Marco Gerards <metgerards@student.han.nl>
21534
21535 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
21536 (grub_mkimage_LDFLAGS): Likewise.
21537 (grub_emu_SOURCES): Likewise.
21538 (kernel_img_HEADERS): Added fshelp.h.
21539 * fs/ext2.c: Include <grub/fshelp.h>.
21540 (FILETYPE_REG): New macro.
21541 (FILETYPE_INO_REG): Likewise.
21542 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
21543 Changed all users.
21544 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
21545 all users.
21546 (grub_fshelp_node): New struct.
21547 (grub_ext2_data): Added member `diropen'. Changed member `inode'
21548 to a pointer.
21549 (grub_ext2_get_file_block): Removed function.
21550 (grub_ext2_read_block): New function.
21551 (grub_ext2_read_file): Replaced parameter `data' by `node'.
21552 This function was written.
21553 (grub_ext2_mount): Read the root inode. Create a diropen struct.
21554 (grub_ext2_find_file): Removed function.
21555 (grub_ext2_read_symlink): New function.
21556 (grub_ext2_iterate_dir): Likewise.
21557 (grub_ext2_open): Rewritten.
21558 (grub_ext2_dir): Rewritten.
21559 * include/grub/fshelp.h: New file.
21560 * fs/fshelp.c: Likewise.
21561
3c52136a 215622004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
21563
21564 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
21565 (print_message): Add a missing newline.
21566 (run_menu): Added timeout support.
21567 (run_menu_entry): New local function.
21568 (grub_menu_run): Added support for booting.
21569
21570 * kern/loader.c (grub_loader_is_loaded): New function.
21571
21572 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
21573 (grub_get_rtc): Exported.
21574
21575 * include/grub/i386/pc/time.h: Include grub/symbol.h.
21576 (grub_get_rtc): Exported.
21577
21578 * include/grub/normal.h (struct grub_command_list): Remove
21579 constant from the member `command'.
21580
21581 * include/grub/loader.h (grub_loader_is_loaded): Declared.
21582
21583 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
21584
21585 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
21586
aa033560 215872004-08-28 Marco Gerards <metgerards@student.han.nl>
21588
21589 Add support for the JFS filesystem.
21590
21591 * fs/jfs.c: New file.
21592 * include/grub/fs.h (grub_jfs_init): New prototype.
21593 (grub_jfs_fini): New prototype.
21594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
21595 (grub_emu_SOURCES): Likewise.
21596 (pkgdata_MODULES): Add jfs.mod.
21597 (jfs_mod_SOURCES): New variable.
21598 (jfs_mod_CFLAGS): Likewise.
21599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
21600 (grubof_SOURCES): Likewise.
21601 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
21602
21603 * fs/fat.c (grub_fat_find_dir): Convert the filename little
21604 endian to the host endian.
21605 (grub_fat_utf16_to_utf8): Move function from there...
21606 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 21607 the endianness of the source string anymore.
aa033560 21608 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
21609
94bc45af 216102004-08-24 Marco Gerards <metgerards@student.han.nl>
21611
21612 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
21613 (grub_boot_fini) [GRUB_UTIL]: Likewise.
21614 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
21615 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 21616
94bc45af 21617 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
21618 (grub_hfs_iterate_dir): Make the function static. Add prototypes
21619 for `node_found' and `it_dir'.
21620 (grub_hfs_dir): Add prototype for `dir_hook'.
21621
21622 * fs/minix.c (grub_minix_get_file_block): Add prototype for
21623 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
21624 and `indir32' to silence a gcc warning.
21625
21626 * include/grub/fs.h (grub_hfs_init): New prototype.
21627 (grub_hfs_fini): Likewise.
f19dbdb7 21628
21629
97543f08 216302004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21631
21632 Each disk device has its own id now. This is useful to make use
21633 of multiple disk devices.
f19dbdb7 21634
97543f08 21635 * include/grub/disk.h (grub_disk_dev_id): New enum.
21636 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
21637 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
21638
21639 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
21640 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21641
21642 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
21643 GRUB_DISK_DEVICE_OFDISK_ID as an id.
21644
21645 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
21646 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21647
21648 * include/grub/disk.h (struct grub_disk_dev): Added a new member
21649 "id" which is used by the cache manager.
21650
21651 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
21652 of just "GRUB".
21653
64372eb4 216542004-08-18 Marco Gerards <metgerards@student.han.nl>
21655
21656 * fs/hfs.c: New file.
21657 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
21658 (grub_emu_SOURCES): Likewise.
21659 (pkgdata_MODULES): Add hfs.mod.
21660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
21661 (grubof_SOURCES): Likewise.
21662 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
21663
21664 * include/grub/misc.h (grub_strncasecmp): Add prototype.
21665 * kern/misc.c (grub_strncasecmp): Add function.
21666
cc61b58f 216672004-08-14 Marco Gerards <metgerards@student.han.nl>
21668
21669 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
21670 with parentheses.
21671
21672 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
21673 (grub_ext2_dir): In case the directory entry type is unknown, read
21674 it from the inode.
21675
0ef123f6 216762004-08-02 Peter Bruin <pjbruin@dds.nl>
21677
21678 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
21679 grub_load_linux instead of grub_rescue_cmd_linux as second
21680 argument of grub_rescue_register_command.
21681
21682 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
21683
a447c5df 216842004-07-27 Marco Gerards <metgerards@student.han.nl>
21685
21686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
21687 function.
21688 * commands/boot.c: Remove the check for `GRUB_UTIL'.
21689 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21690 `loader/powerpc/ieee1275/linux.c',
21691 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
21692 * include/grub/powerpc/ieee1275/ieee1275.h
21693 (grub_ieee1275_release): New prototype.
21694 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
21695 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
21696 normal, boot, linux and linux_normal.
21697 * loader/powerpc/ieee1275/linux.c: New file.
21698 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21699
5a9e3546 217002004-07-12 Marco Gerards <metgerards@student.han.nl>
21701
21702 * normal/arg.c (grub_arg_parse): Correct error handling after
21703 reallocating the argumentlist (check if `argl' is not null instead
21704 of checking if `args' is not null).
21705 * kern/mm.c (grub_realloc): Return the same pointer when using the
21706 same region, instead of returning the header address.
21707
e15199cb 217082004-07-11 Marco Gerards <metgerards@student.han.nl>
21709
21710 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
21711 one block instead of two when looking for the initial partition.
21712 (grub_partition_probe): Initialize the local variable `p' with 0.
21713 Use base 10 for the grub_strtoul call.
21714 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
21715 need for one local variable.
21716 (grub_strtoul): Don't add the new value to `num', instead of that
21717 just assign it.
21718
020616c2 217192004-07-11 Marco Gerards <metgerards@student.han.nl>
21720
21721 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
21722 (pxeboot_img_SOURCES): New variable.
21723 (pxeboot_img_ASFLAGS): Likewise.
21724 (pxeboot_img_LDFLAGS): Likewise.
21725 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
21726 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
21727 <lode_leroy@hotmail.com>.
21728
6c51eb64 217292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21730
21731 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
21732 there was no input.
21733
cfb12aff 217342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21735
21736 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
21737 the history buffer logic.
21738
6eabba74 217392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21740
21741 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
21742 (FILETYPE_INO_SYMLINK): New macros.
21743 (grub_ext2_find_file): Check if the node is a directory using the
21744 inode stat information instead of using the filetype in the
21745 dirent. Exclude the first character of an absolute symlink.
21746 (grub_ext2_dir): Mask out the filetype part of the mode member of
21747 the inode.
21748
66e19ef8 217492004-05-24 Marco Gerards <metgerards@student.han.nl>
21750
21751 Add support for UFS version 1 and 2. Add support for the minix
21752 filesystem version 1 and 2, both the variants with 14 and 30 long
21753 filenames.
f19dbdb7 21754
66e19ef8 21755 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
21756 fs/minix.c.
21757 (grub_emu_SOURCES): Likewise.
21758 (pkgdata_MODULES): Add ufs.mod and minix.mod.
21759 (ufs_mod_SOURCES): New variable.
21760 (ufs_mod_CFLAGS): Likewise.
21761 (minix_mod_SOURCES): Likewise.
21762 (minix_mod_CFLAGS): Likewise.
21763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
21764 fs/minix.c.
21765 (grubof_SOURCES): Likewise.
21766 * fs/ufs.c: New file.
21767 * fs/minix.c: New file.
21768 * include/grub/fs.h (grub_ufs_init): New prototype.
21769 (grub_ufs_fini): Likewise.
21770 (grub_minix_init): Likewise.
21771 (grub_minix_fini): Likewise.
21772 * util/grub-emu.c (main): Initialize and deinitialize UFS and
21773 minix fs.
21774
cc2e748a 217752004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
21776
21777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
21778 commands/ls.c, commands/terminal.c, commands/boot.c,
21779 commands/cmp.c and commands/cat.c.
21780 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
21781
21782 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
21783 "env.h"
21784
4b13b216 217852004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21786
21787 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
21788 and grub_, respectively. Because the conversion is trivial and
21789 mechanical, I omit the details here. Please refer to the CVS
21790 if you need more information.
21791
6a142551 217922004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21793
21794 * include/pupa: Renamed to ...
21795 * include/grub: ... this.
21796 * util/i386/pc/pupa-mkimage.c: Renamed to ...
21797 * util/i386/pc/grub-mkimage.c: ... this.
21798 * util/i386/pc/pupa-setup.c: Renamed to ...
21799 * util/i386/pc/grub-setup.c: ... this.
21800 * util/pupa-emu.c: Renamed to ...
21801 * util/grub-emu.c: ... this.
21802
e56cdf21 218032004-03-29 Marco Gerards <metgerards@student.han.nl>
21804
21805 Add support for the newworld apple macintosh (PPC). This has been
21806 tested on the powerbook 2000 only. It only adds support for
21807 generic ieee1275 functions, console and disk support. This should
21808 be easy to port to other architectures with support for Open
21809 Firmware.
f19dbdb7 21810
e56cdf21 21811 * configure.ac: Accept the powerpc as host_cpu. In the case of
21812 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
21813 specific tests are only executed while building for the i386.
21814 Inverse test for crosscompile.
21815 * genmk.rb (Utility): Allow assembler files.
21816 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
21817 * conf/powerpc-ieee1275.rmk: New file.
21818 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
21819 * disk/powerpc/ieee1275/partition.c: Likewise.
21820 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
21821 * include/pupa/powerpc/ieee1275/console.h: Likewise.
21822 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
21823 * include/pupa/powerpc/ieee1275/time.h: Likewise.
21824 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
21825 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
21826 * include/pupa/powerpc/ieee1275/loader.h
21827 * include/pupa/powerpc/setjmp.h: Likewise.
21828 * include/pupa/powerpc/types.h: Likewise.
21829 * kern/powerpc/ieee1275/init.c: Likewise.
21830 * kern/powerpc/ieee1275/openfw.c: Likewise.
21831 * term/powerpc/ieee1275/ofconsole.c: Likewise.
21832
21833 These files were written by Johan Rydberg
21834 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 21835
e56cdf21 21836 * boot/powerpc/ieee1275/cmain.c: New file.
21837 * boot/powerpc/ieee1275/crt0.S: Likewise.
21838 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
21839 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
21840
8c8cc205 218412004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
21842
21843 * Makefile.in: Update copyright.
21844 * genmodsrc.sh: Likewise.
21845 * gensymlist.sh: Likewise.
21846 * term/i386/pc/vga.c: Indent correctly.
21847
21848 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
21849 bugreporting address.
21850 * util/i386/pc/pupa-setup.c (usage): Likewise,
21851 (main): Call pupa_ext2_init and pupa_ext2_fini.
21852
f19dbdb7 21853 * fs/fat.c (log2): Renamed to ...
8c8cc205 21854 (fat_log2): ... this.
21855 All callers changed.
21856 * kern/misc.c (memcpy): Alias to pupa_memmove.
21857 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
21858 lvalue cast.
21859 * util/console.c (pupa_ncurses_fini): Return 0.
21860
21861 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
21862 Move fail label here.
21863 [__GNU__]: Don't warn when using stat.
21864 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
21865 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
21866 long int. Use strtol instead of strtoul.
f19dbdb7 21867
db1771cf 218682004-03-14 Marco Gerards <metgerards@student.han.nl>
21869
21870 * commands/boot.c: New file.
21871 * commands/cat.c: Likewise.
21872 * commands/cmp.c: Likewise.
21873 * commands/ls.c: Likewise.
21874 * commands/terminal.c: Likewise.
21875 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
21876 (pupa_register_command): Changed interface to match the new
21877 argument parser.
21878 (pupa_command_execute): Changed (almost rewritten) so it uses
21879 pupa_split_command. Added support for setting variables using the
21880 syntax `foo=bar'.
21881 (rescue_command): Changed to work with the new argument parser.
21882 (terminal_command): Moved from here to commands/terminal.c.
21883 (set_command): New function.
21884 (unset_command): New function.
21885 (insmod_command): New function.
21886 (rmmod_command): New function.
21887 (lsmod_command): New function.
21888 (pupa_command_init): Don't initialize the command terminal
21889 anymore. Initialize the commands set, unset, insmod, rmmod and
21890 lsmod.
21891 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
21892 (kernel_img_HEADERS): Add arg.h and env.h.
21893 (pupa_mkimage_LDFLAGS): Add kern/env.c.
21894 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
21895 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
21896 normal/arg.c.
21897 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
21898 terminal.mod.
21899 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
21900 (boot_mod_SOURCES): New variable.
21901 (terminal_mod_SOURCES): Likewise.
21902 (ls_mod_SOURCES): Likewise.
21903 (cmp_mod_SOURCES): Likewise.
21904 (cat_mod_SOURCES): Likewise.
21905
21906 * normal/arg.c: New file.
21907 * kern/env.c: Likewise.
21908 * include/pupa/arg.h: Likewise.
21909 * include/pupa/env.h: Likewise.
21910 * font/manager.c (font_command): Changed to match argument parsing
21911 interface changes.
21912 (PUPA_MOD_INIT): Likewise.
21913 * hello/hello.c (pupa_cmd_hello): Likewise.
21914 (PUPA_MOD_INIT): Likewise.
21915 * include/pupa/disk.h: Include <pupa/device.h>.
21916 (pupa_print_partinfo): New prototype.
21917 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
21918 (pupa_dl_get_prefix): Likewise.
21919 * include/pupa/misc.h: Include <pupa/err.h>.
21920 (pupa_isgraph): New prototype.
21921 (pupa_isdigit): Likewise.
21922 (pupa_split_cmdline): Likewise.
21923 * include/pupa/normal.h: Include <pupa/arg.h>.
21924 (pupa_command): Changed the prototype of the member `func' to
21925 match the argument parsing interface. Added member `options'.
21926 (pupa_register_command): Updated to match function.
21927 (pupa_arg_parse): New prototype.
21928 (pupa_hello_init) [PUPA_UTIL]: New prototype.
21929 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
21930 (pupa_ls_init) [PUPA_UTIL]: Likewise.
21931 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
21932 (pupa_cat_init) [PUPA_UTIL]: Likewise.
21933 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
21934 (pupa_boot_init) [PUPA_UTIL]: Likewise.
21935 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
21936 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
21937 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
21938 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
21939 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
21940 * kern/disk.c: Include <pupa/file.h>.
21941 (pupa_print_partinfo): New function.
21942 * kern/dl.c: Include <pupa/env.h>.
21943 (pupa_dl_dir): Variable removed.
21944 (pupa_dl_load): Use the environment variable `prefix' instead of
21945 the variable pupa_dl_dir.
21946 (pupa_dl_set_prefix): Function removed.
21947 (pupa_dl_get_prefix): Likewise.
21948 * kern/i386/pc/init.c: Include <pupa/env.h>.
21949 (pupa_machine_init): Use the environment variable `prefix' instead of
21950 using pupa_dl_set_prefix to set the prefix.
21951 * kern/main.c: Include <pupa/env.h>.
21952 (pupa_set_root_dev): Use the environment variable `prefix' instead of
21953 using pupa_dl_get_prefix to get the prefix.
21954 * kern/misc.c: Include <pupa/env.h>.
21955 (pupa_isdigit): New function.
21956 (pupa_isgraph): Likewise.
21957 (pupa_ftoa): Likewise.
21958 (pupa_vsprintf): Added support for printing values of the type
21959 `double'. Make it possible to format variable output when using
21960 formatting like `%1.2%f'.
21961 (pupa_split_cmdline): New function.
21962 * kern/rescue.c: Include <pupa/env.h>.
21963 (next_word): Removed function.
21964 (pupa_rescue_cmd_prefix): Likewise.
21965 (pupa_rescue_cmd_set): New function.
21966 (pupa_rescue_cmd_unset): New function.
21967 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
21968 split the command line instead of splitting it here. Added
21969 support for setting variables using the syntax `foo=bar'. Don't
21970 initialize the prefix command anymore. Initialized the set and
21971 unset commands.
21972 * normal/cmdline.c: Include <pupa/env.h>.
21973 (pupa_tab_complete): Added prototypes for print_simple_completion,
21974 print_partition_completion, add_completion, iterate_commands,
21975 iterate_dev, iterate_part and iterate_dir. Moved code to print
21976 partition information from here to kern/disk.c.
fe6b695a 21977 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 21978 * normal/main.c: Include <pupa/env.h>.
21979 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
21980 instead of using pupa_dl_get_prefix to get the prefix.
21981 * term/i386/pc/vga.c: Include <pupa/arg.h>.
21982 (check_vga_mem): Cast pointers to `void *' to silence a gcc
21983 warning.
21984 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
21985 (pupa_vga_setcolor): Declare unused variables with `__attribute__
21986 ((unused))' to silence a gcc warning.
21987 (pupa_vga_setcolor): Likewise.
21988 (debug_command): Changed to match argument parsing
21989 interface changes.
21990 * util/pupa-emu.c: Include <pupa/env.h>.
21991 (options): Added 0's for unused fields to silence a gcc warning.
21992 (argp): Likewise.
21993 (main): Use the environment variable `prefix' instead of using
21994 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
21995 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
21996 and terminal.
21997
21998 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
21999 * util/misc.c: Include <malloc.h>.
22000 (pupa_malloc): Rewritten so errors are correctly reported.
22001 (pupa_realloc): Likewise.
22002 (pupa_memalign): Likewise.
22003 (pupa_mm_init_region): Declare unused variables with
22004 `__attribute__ ((unused))' to silence a gcc warning.
22005 * normal/i386/setjmp.S: Remove tab at the end of the file to
22006 silence a gcc warning.
22007 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
22008 variables with `__attribute__ ((unused))' to silence a gcc
22009 warning.
22010 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
22011 local variable i unsigned to silence a gcc warning.
22012
22013 * kern/term.c: Include <pupa/misc.h>.
22014 (pupa_more_lines): New variable.
22015 (pupa_more): Likewise.
22016 (pupa_putcode): When the pager is active pause at the end of every
22017 screen.
22018 (pupa_set_more): New function.
22019 * include/pupa/term.h (pupa_set_more): New prototype.
22020
22021
3b1139cb 220222004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
22023
22024 Now this project is GRUB 2 rather than PUPA. The location of
22025 the CVS repository was moved to GRUB's.
f19dbdb7 22026
3b1139cb 22027 * configure.ac: Use bug-grub as the reporting address.
22028 Use GRUB instead of PUPA.
22029 Change the version number to 1.90.
22030
8367695c 220312004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
22032
22033 * genkernsyms.sh: Updated copyright information.
22034 * genmk.rb: Likewise.
22035 * genmodsrc.sh: Likewise.
22036 * gensymlist.sh: Likewise.
22037 * boot/i386/pc/boot.S: Likewise.
22038 * boot/i386/pc/diskboot.S: Likewise.
22039 * disk/i386/pc/biosdisk.c: Likewise.
22040 * disk/i386/pc/partition.c: Likewise.
22041 * font/manager.c: Likewise.
22042 * fs/ext2.c: Likewise.
22043 * fs/fat.c: Likewise.
22044 * include/pupa/boot.h: Likewise.
22045 * include/pupa/device.h: Likewise.
22046 * include/pupa/disk.h: Likewise.
22047 * include/pupa/dl.h: Likewise.
22048 * include/pupa/elf.h: Likewise.
22049 * include/pupa/err.h: Likewise.
22050 * include/pupa/file.h: Likewise.
22051 * include/pupa/font.h: Likewise.
22052 * include/pupa/fs.h: Likewise.
22053 * include/pupa/kernel.h: Likewise.
22054 * include/pupa/loader.h: Likewise.
22055 * include/pupa/misc.h: Likewise.
22056 * include/pupa/mm.h: Likewise.
22057 * include/pupa/net.h: Likewise.
22058 * include/pupa/normal.h: Likewise.
22059 * include/pupa/rescue.h: Likewise.
22060 * include/pupa/setjmp.h: Likewise.
22061 * include/pupa/symbol.h: Likewise.
22062 * include/pupa/term.h: Likewise.
22063 * include/pupa/types.h: Likewise.
22064 * include/pupa/i386/setjmp.h: Likewise.
22065 * include/pupa/i386/types.h: Likewise.
22066 * include/pupa/i386/pc/biosdisk.h: Likewise.
22067 * include/pupa/i386/pc/boot.h: Likewise.
22068 * include/pupa/i386/pc/console.h: Likewise.
22069 * include/pupa/i386/pc/init.h: Likewise.
22070 * include/pupa/i386/pc/kernel.h: Likewise.
22071 * include/pupa/i386/pc/linux.h: Likewise.
22072 * include/pupa/i386/pc/loader.h: Likewise.
22073 * include/pupa/i386/pc/memory.h: Likewise.
22074 * include/pupa/i386/pc/multiboot.h: Likewise.
22075 * include/pupa/i386/pc/partition.h: Likewise.
22076 * include/pupa/i386/pc/time.h: Likewise.
22077 * include/pupa/i386/pc/vga.h: Likewise.
22078 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
22079 * include/pupa/util/getroot.h: Likewise.
22080 * include/pupa/util/misc.h: Likewise.
22081 * include/pupa/util/resolve.h: Likewise.
22082 * kern/device.c: Likewise.
22083 * kern/disk.c: Likewise.
22084 * kern/dl.c: Likewise.
22085 * kern/err.c: Likewise.
22086 * kern/file.c: Likewise.
22087 * kern/fs.c: Likewise.
22088 * kern/loader.c: Likewise.
22089 * kern/main.c: Likewise.
22090 * kern/misc.c: Likewise.
22091 * kern/mm.c: Likewise.
22092 * kern/rescue.c: Likewise.
22093 * kern/term.c: Likewise.
22094 * kern/i386/dl.c: Likewise.
22095 * kern/i386/pc/init.c: Likewise.
22096 * kern/i386/pc/lzo1x.S: Likewise.
22097 * kern/i386/pc/startup.S: Likewise.
22098 * loader/i386/pc/chainloader.c: Likewise.
22099 * loader/i386/pc/linux.c: Likewise.
22100 * loader/i386/pc/multiboot.c: Likewise.
22101 * normal/cmdline.c: Likewise.
22102 * normal/command.c: Likewise.
22103 * normal/main.c: Likewise.
22104 * normal/menu.c: Likewise.
22105 * normal/i386/setjmp.S: Likewise.
22106 * term/i386/pc/console.c: Likewise.
22107 * term/i386/pc/vga.c: Likewise.
22108 * util/console.c: Likewise.
22109 * util/genmoddep.c: Likewise.
22110 * util/misc.c: Likewise.
22111 * util/pupa-emu.c: Likewise.
22112 * util/resolve.c: Likewise.
22113 * util/unifont2pff.rb: Likewise.
22114 * util/i386/pc/biosdisk.c: Likewise.
22115 * util/i386/pc/getroot.c: Likewise.
22116 * util/i386/pc/pupa-mkimage.c: Likewise.
22117 * util/i386/pc/pupa-setup.c: Likewise.
22118
e6eced71 221192004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
22120
22121 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
22122 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
22123 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
22124 reading and reset it after reading.
22125 (pupa_ext2_close): Return PUPA_ERR_NONE.
22126
22127 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
22128 Correct value.
22129 (struct linux_kernel_header): Add kernel_version and
22130 initrd_addr_max.
22131 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
22132 pupa_file_read succeeds.
22133 (pupa_rescue_cmd_initrd): Implement.
22134
5aded270 221352003-12-03 Marco Gerards <metgerards@student.han.nl>
22136
22137 * fs/ext2.c (pupa_ext2_label): New function.
22138 (pupa_ext2_fs): Added label.
22139 * fs/fat.c (pupa_fat_label): New function.
22140 (pupa_fat_fs): Added label.
22141 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
22142
22143 * kern/misc.c (pupa_strndup): New function.
22144 * include/pupa/misc.h (pupa_strndup): New prototype.
22145
22146 * include/pupa/normal.h: Include <pupa/err.h>.
22147 (pupa_set_history): New prototype.
22148 (pupa_iterate_commands): New prototype.
22149 * normal/cmdline.c: Include <pupa/machine/partition.h>,
22150 <pupa/disk.h>, <pupa/file.h>.
22151 (hist_size): New variable.
22152 (hist_lines): Likewise.
22153 (hist_end): Likewise.
22154 (hist_used): Likewise.
22155 (pupa_set_history): New function.
22156 (pupa_history_get): Likewise.
22157 (pupa_history_add): Likewise.
22158 (pupa_history_replace): Likewise.
22159 (pupa_tab_complete): Likewise.
22160 (pupa_cmdline_run): Added tab completion and history buffer. Tab
22161 completion shows partitionnames while completing partitions, this
22162 feature was suggested by Jeff Bailey.
22163 * normal/command.c (pupa_iterate_commands): New function.
22164 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
22165 (pupa_normal_init): Initialize history buffer.
22166 (PUPA_MOD_INIT): Likewise.
22167 (pupa_normal_fini): Free the history buffer.
22168 (PUPA_MOD_FINI): Likewise.
22169
22170 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
22171 key.
22172
22173 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
22174 * configure.ac [i386]: Check for regparam bug.
22175 (NESTED_FUNC_ATTR) [! i386]: Defined.
22176
1f7315a3 221772003-11-17 Marco Gerards <metgerards@student.han.nl>
22178
22179 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
22180 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
22181 (pupa_emu_SOURCES): New variable.
22182 (pupa_emu_LDFLAGS): Likewise.
22183 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
22184 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
22185 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
22186 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22187 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
22188 (pupa_jmp_buf): New typedef.
22189 (pupa_setjmp) [PUPA_UTIL]: New macro.
22190 (pupa_longjmp) [PUPA_UTIL]: Likewise.
22191 * include/pupa/term.h (struct pupa_term): New member `refresh'.
22192 (pupa_refresh): New prototype.
22193 * include/pupa/util/getroot.h: New file.
22194 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
22195 it.
22196 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
22197 (pupa_rescue_cmd_cat): Likewise.
22198 (pupa_rescue_cmd_ls): Likewise.
22199 (pupa_rescue_cmd_testload): Likewise.
22200 (pupa_rescue_cmd_lsmod): Likewise.
22201 * normal/cmdline.c (pupa_cmdline_get): Likewise.
22202 * normal/menu.c (run_menu): Likewise.
22203 * kern/term.c (pupa_cls): Likewise.
22204 (pupa_refresh): New function.
22205 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
22206 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22207 * util/console.c: New file.
f19dbdb7 22208
1f7315a3 22209 * util/i386/pc/getroot.c: New file.
22210 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
22211 (pupa_putchar): New function.
22212 (pupa_refresh): Likewise.
22213 (xgetcwd): Function moved to ...
22214 (strip_extra_slashes): Likewise.
22215 (get_prefix): Likewise.
f19dbdb7 22216 * util/i386/pc/getroot.c: ... here.
1f7315a3 22217 (find_root_device): Function moved and renamed to...
22218 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
22219 Changed all callers.
22220 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
22221 and renamed to...
22222 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
22223 Changed all callers.
22224 * util/misc.c (pupa_memalign): New function.
22225 (pupa_mm_init_region): Likewise.
22226 (pupa_register_exported_symbols): Likewise.
22227 (pupa_putchar): Function removed.
22228 * util/pupa-emu.c: New file.
22229
9a5c1ade 222302003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
22231
22232 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
22233 (_multiboot_mod_SOURCES): New variable.
22234 (_multiboot_mod_CFLAGS): Likewise.
22235 * loader/i386/pc/multiboot.c: New file.
22236 * include/pupa/i386/pc/multiboot.h: Likewise.
22237 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
22238 (pupa_multiboot_real_boot): New function.
22239 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
22240 (pupa_multiboot_real_boot): New prototype.
22241 (pupa_rescue_cmd_multiboot): Likewise
22242 (pupa_rescue_cmd_module): Likewise.
22243
22244 * kern/loader.c (pupa_loader_set): Continue when
22245 pupa_loader_unload_func() fails.
22246 (pupa_loader_unset): New function.
22247 * include/pupa/loader.h (pupa_loader_unset): New prototype.
22248
22249 * kern/misc.c (pupa_stpcpy): New function.
22250 * include/pupa/misc.h (pupa_stpcpy): New prototype.
22251
8e72a9c0 222522003-11-12 Marco Gerards <metgerards@student.han.nl>
22253
22254 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
22255 for available extensions.
22256
22257 * include/pupa/i386/pc/time.h: New file.
22258 * kern/disk.c: Include <pupa/machine/time.h>.
22259 (PUPA_CACHE_TIMEOUT): New macro.
22260 (pupa_last_time): New variable.
22261 (pupa_disk_open): Flush the cache when there was a timeout.
22262 (pupa_disk_close): Reset the timer.
22263 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
22264 pupa_currticks.
22265 * util/misc.c: Include <sys/times.h>
22266 (pupa_get_rtc): New function.
22267
c4adbd32 222682003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22269
22270 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
22271 as blocks.
22272 (pupa_ext2_get_file_block): Use blocks member.
22273
22274 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
22275 first block. Return -1 instead of pupa_errno on error.
22276
bfd30f06 222772003-10-27 Marco Gerards <metgerards@student.han.nl>
22278
22279 * README: In the pupa-mkimage example use _chain instead of chain
22280 and ext2 instead of fat.
22281 * TODO: Replace ext2fs with jfs as an example. Add an item for
22282 adding journal playback for ext2fs.
22283 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
22284 (pkgdata_MODULES): Added ext2.mod.
22285 (ext2_mod_SOURCES): New variable.
22286 (ext2_mod_CFLAGS): Likewise.
22287 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
22288 * include/pupa/misc.h (pupa_strncpy): New prototype.
22289 (pupa_strcat): Likewise.
22290 (pupa_strncmp): Likewise.
22291 * kern/misc.c (pupa_strcat): Enable function.
22292 (pupa_strncpy): New function.
22293 (pupa_strncmp): Likewise.
22294 * fs/ext2.c: New file.
f19dbdb7 22295
bfd30f06 22296 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
22297 when the read failed before retrying.
22298 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
22299 (_FILE_OFFSET_BITS): Likewise.
22300 * configure.ac: Added AC_SYS_LARGEFILE.
22301
98d15063 223022003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22303
22304 * genmk.rb (PModule#rule): Make sure to get only symbol names
22305 from the output of nm.
22306 Reported by Robert Millan <zeratul2@wanadoo.es>.
22307
18d9c7cd 223082003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22309
22310 I forgot to check in these changes for a long time. This adds
22311 incomplete support for VGA console, and this is still very
22312 buggy. Also, a lot of consideration is required for I18N,
22313 UNICODE, and VGA font issues. Therefore, assume that this is
22314 such that "better than nothing".
f19dbdb7 22315
18d9c7cd 22316 * font/manager.c: New file.
22317 * include/pupa/font.h: Likewise.
22318 * include/pupa/i386/pc/vga.h: Likewise.
22319 * term/i386/pc/vga.c: Likewise.
22320 * util/unifont2pff.rb: Likewise.
22321
22322 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
22323 (pkgdata_MODULES): Added vga.mod and font.mod.
22324 (vga_mod_SOURCES): New variables.
22325 (vga_mod_CFLAGS): Likewise.
22326 (font_mod_SOURCES): Likewise.
22327 (font_mod_CFLAGS): Likewise.
22328
22329 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
22330
22331 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 22332 (struct pupa_term): Added init and fini.
18d9c7cd 22333 Changed the argument of putchar to pupa_uint32_t.
22334
22335 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
22336 (pupa_console_real_putchar): New prototype.
22337 (pupa_console_putchar): Removed.
22338 (pupa_console_checkkey): Exported.
22339 (pupa_console_getkey): Likewise.
22340
22341 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
22342 characters.
22343
22344 * kern/term.c (pupa_term_set_current): Rewritten.
22345 (pupa_putchar): Likewise.
22346 (pupa_putcode): New function.
22347
22348 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
22349 (pupa_console_real_putchar): ... this.
22350 (pupa_vga_set_mode): New function.
22351 (pupa_vga_get_font): Likewise.
22352
22353 * normal/command.c: Include pupa/term.h.
22354 (terminal_command): New function.
22355 (pupa_command_init): Register the command "terminal".
22356
22357 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
22358 (DISP_UP): Likewise.
22359 (DISP_RIGHT): Likewise.
22360 (DISP_DOWN): Likewise.
22361 (DISP_HLINE): Likewise.
22362 (DISP_VLINE): Likewise.
22363 (DISP_UL): Likewise.
22364 (DISP_UR): Likewise.
22365 (DISP_LL): Likewise.
22366 (DISP_LR): Likewise.
22367
22368 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22369
977329f5 223702003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22371
22372 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22373 FIX. Reverse the path_list.
22374
22375 * include/pupa/normal.h: Export pupa_register_command and
22376 pupa_unregister_command.
22377
22378 * hello/hello.c (pupa_cmd_hello): New module.
22379 * conf/i386-pc.rmk: Added hello.mod.
22380
1f5ab428 223812003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22382
22383 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22384
1f5ab428 22385 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22386 (compress_kernel): New variable.
22387 (generate_image): Heavily modified to support compressing a
22388 large part of the core image.
22389
22390 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22391 leak.
22392 (pupa_util_load_image): New function.
22393
22394 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22395 (pupa_compressed_size): New variable.
22396 (codestart): Enable Gate A20 here.
22397 Decompress the compressed part of the core image.
22398 Rearrange the code to put functions and variables which are
22399 required for initialization in the non-compressed part.
22400 Include lzo1x.S.
22401
22402 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22403 here.
22404
22405 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22406
f19dbdb7 22407 * include/pupa/i386/pc/kernel.h
1f5ab428 22408 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22409 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22410 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22411 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22412 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22413
22414 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22415
22416 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22417 (Utility#rule): Likewise.
22418
22419 * configure.ac: Check if LZO is available.
22420
ce5bf700 224212003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22422
22423 * include/pupa/normal.h: New file.
22424 * include/pupa/setjmp.h: Likewise.
22425 * include/pupa/i386/setjmp.h: Likewise.
22426 * normal/cmdline.c: Likewise.
22427 * normal/command.c: Likewise.
22428 * normal/main.c: Likewise.
22429 * normal/menu.c: Likewise.
22430 * normal/i386/setjmp.S: Likewise.
f19dbdb7 22431
ce5bf700 22432 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
22433 (pupa_rescue_cmd_initrd): Likewise.
22434
22435 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
22436 Likewise.
22437
22438 * kern/i386/pc/startup.S (translation_table): New variable.
22439 (translate_keycode): New function.
22440 (pupa_console_getkey): Call translate_keycode.
22441
22442 * kern/rescue.c (attempt_normal_mode): New function.
22443 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
22444 it failed, print a message.
22445
22446 * kern/mm.c (pupa_real_malloc): Print more information when a
22447 free magic is broken.
22448 (pupa_free): If the first free header is not free actually, set
22449 it to P.
22450
22451 * kern/main.c (pupa_load_normal_mode): Just load the module
22452 "normal".
22453 (pupa_main): Don't print the message
22454 "Entering into rescue mode..." here.
22455
22456 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
22457 Declared.
22458 (pupa_rescue_cmd_initrd): Likewise.
22459 (pupa_rescue_cmd_initrd): Likewise.
22460
22461 * include/pupa/symbol.h (FUNCTION): Specify the type.
22462 (VARIABLE): Likewise.
22463
22464 * include/pupa/err.h (pupa_err_t): Added
22465 PUPA_ERR_UNKNOWN_COMMAND.
22466
22467 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
22468 (pupa_dl_get_prefix): Likewise.
22469
22470 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
22471 Added _chain.mod and _linux.mod instead of chain.mod and
22472 linux.mod.
22473 (chain_mod_SOURCES): Renamed to ...
22474 (_chain_mod_SOURCES): ... this.
22475 (chain_mod_CFLAGS): Renamed to ...
22476 (_chain_mod_CFLAGS): ... this.
22477 (linux_mod_SOURCES): Renamed to ...
22478 (_linux_mod_SOURCES): ... this.
22479 (linux_mod_CFLAGS): Renamed to ...
22480 (_linux_mod_CFLAGS): ... this.
22481 (normal_mod_SOURCES): New variable.
22482 (normal_mod_CFLAGS): Likewise.
22483 (normal_mod_ASFLAGS): Likewise.
22484
224852003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
22486
22487 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
22488 possible.
22489
fe6b695a 22490 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 22491 recursively.
22492 (pupa_dl_unref): Unrefer depending modules recursively.
22493 Don't call pupa_dl_unload implicitly, because PUPA can crash if
22494 a module is unloaded before one depending on that module is
22495 unloaded.
22496 (pupa_dl_unload): Unload depending modules explicitly,
22497 if possible.
22498
c04da074 224992003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
22500
22501 * include/pupa/i386/pc/linux.h: New file.
22502 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 22503
c04da074 22504 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
22505 Removed.
22506 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
22507 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
22508 of PUPA_CHAINLOADER_BOOT_SECTOR.
22509
22510 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
22511 (pupa_linux_prot_size): New variable.
22512 (pupa_linux_tmp_addr): Likewise.
22513 (pupa_linux_real_addr): Likewise.
22514 (pupa_linux_boot_zimage): New function.
22515 (pupa_linux_boot_bzimage): Likewise.
22516
22517 * kern/i386/pc/init.c (struct mem_region): New structure.
22518 (MAX_REGIONS): New macro.
22519 (mem_regions): New variable.
22520 (num_regions): Likewise.
22521 (pupa_os_area_addr): Likewise.
22522 (pupa_os_area_size): Likewise.
22523 (pupa_lower_mem): Likewise.
22524 (pupa_upper_mem): Likewise.
22525 (add_mem_region): New function.
22526 (compact_mem_regions): Likewise.
22527 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
22528 the size of the conventional memory and that of so-called upper
22529 memory (before the first memory hole).
22530 Instead of adding each found region to free memory, use
22531 add_mem_region and add them after removing overlaps.
22532 Also, add only 1/4 of the upper memory to free memory. The rest
22533 is used for loading OS images. Maybe this is ad hoc, but this
22534 makes it much easier to relocate OS images when booting.
22535
22536 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
22537 (pupa_enter_rescue_mode): Don't register initrd and module.
22538
22539 * kern/mm.c: Include pupa/dl.h.
22540
22541 * kern/main.c: Include pupa/file.h and pupa/device.h.
22542
22543 * kern/loader.c (pupa_loader_load_module_func): Removed.
22544 (pupa_loader_load_module): Likewise.
22545
22546 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
22547 ``.o''.
22548
22549 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
22550 (pupa_linux_tmp_addr): Likewise.
22551 (pupa_linux_real_addr): Likewise.
22552 (pupa_linux_boot_zimage): Likewise.
22553 (pupa_linux_boot_bzimage): Likewise.
22554
22555 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
22556 (pupa_upper_mem): Likewise.
22557 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
22558 module is too dangerous.
22559
22560 * include/pupa/loader.h (pupa_os_area_addr): Declared.
22561 (pupa_os_area_size): Likewise.
22562 (pupa_loader_set): Remove the first argument. Loader doesn't
22563 manage modules or initrd any longer.
22564 (pupa_loader_load_module): Removed.
22565
22566 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
22567 (linux_mod_SOURCES): New variable.
22568 (linux_mod_CFLAGS): Likewise.
22569
a13f9237 225702003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
22571
22572 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
22573 the length of a blocklist correctly.
22574
22575 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
22576 Use ioctl only if the OS file is a block device.
22577 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
22578 not very useful for normal files.
22579
22580 * kern/main.c (pupa_set_root_dev): New function.
22581 (pupa_load_normal_mode): Likewise.
22582 (pupa_main): Call those above.
22583
22584 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
22585 pupa_uint16_t.
22586
22587 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
22588
a5ffe966 225892003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22590
22591 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
22592 (setup): Configure the installed partition information and the
22593 dl prefix.
22594
22595 * loader/i386/pc/chainloader.c (my_mod): New variable.
22596 (pupa_chainloader_unload): New function.
22597 (pupa_rescue_cmd_chainloader): Refer itself.
22598 (PUPA_MOD_INIT): Save its own module in MY_MOD.
22599
22600 * kern/i386/pc/startup.S (install_partition): Removed.
22601 (version_string): Likewise.
22602 (config_file): Likewise.
22603 (pupa_install_dos_part): New variable.
22604 (pupa_install_bsd_part): Likewise.
22605 (pupa_prefix): Likewise.
22606 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
22607
22608 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
22609 and pupa/misc.h.
22610 (make_install_device): New function.
22611 (pupa_machine_init): Set the dl prefix.
22612
22613 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
22614 (buf): Renamed to ...
22615 (linebuf): ... this.
22616 (pupa_rescue_cmd_prefix): New function.
22617 (pupa_rescue_cmd_insmod): Likewise.
22618 (pupa_rescue_cmd_rmmod): Likewise.
22619 (pupa_rescue_cmd_lsmod): Likewise.
22620 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
22621 rmmod and lsmod.
22622
22623 * kern/mm.c (pupa_memalign): If failed even after invalidating
22624 disk caches, unload unneeded modules and retry.
22625
22626 * kern/misc.c (pupa_memmove): New function.
22627 (pupa_memcpy): Removed.
22628 (pupa_strcpy): New function.
22629 (pupa_itoa): Made static.
22630
22631 * kern/dl.c (pupa_dl_iterate): New function.
22632 (pupa_dl_ref): Likewise.
22633 (pupa_dl_unref): Likewise.
22634 (pupa_dl_unload): Return if succeeded or not.
22635 (pupa_dl_unload_unneeded): New function.
22636 (pupa_dl_unload_all): Likewise.
22637 (pupa_dl_init): Renamed to ...
22638 (pupa_dl_set_prefix): ... this.
22639 (pupa_dl_get_prefix): New function.
22640
22641 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
22642 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
22643 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22644 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22645 (pupa_install_dos_part): Declared.
22646 (pupa_install_bsd_part): Likewise.
22647 (pupa_prefix): Likewise.
22648 (pupa_boot_drive): Likewise.
22649
22650 * include/pupa/types.h: Fix a typo.
22651
22652 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
22653 pupa_memmove.
22654 (pupa_memmove): Declared.
22655 (pupa_strcpy): Likewise.
22656
22657 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
22658 pupa_mod_init takes one argument, its own module.
22659 (pupa_dl_unload_unneeded): Declared.
22660 (pupa_dl_unload_all): Likewise.
22661 (pupa_dl_ref): Likewise.
22662 (pupa_dl_unref): Likewise.
22663 (pupa_dl_iterate): Likewise.
22664 (pupa_dl_init): Renamed to ...
22665 (pupa_dl_set_prefix): ... this.
22666 (pupa_dl_get_prefix): Declared.
22667
22668 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 22669 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 22670 unloaded.
22671 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
22672 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
22673
22674 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
22675 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
22676
012d7999 226772003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22678
22679 * util/i386/pc/pupa-setup.c (setup): Define the internal
22680 function find_first_partition_start at the top level, because GCC
22681 3.0.x cannot compile internal functions in deeper scopes
22682 correctly.
22683 (find_root_device): Use lstat instead of stat.
22684 Don't follow symbolic links.
22685 Fix the path-constructing code.
22686
22687 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
22688 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
22689 by a BLKGETSIZE ioctl first, because block devices don't fill
22690 the member st_mode of the structure stat on Linux.
22691 [__linux__] (linux_find_partition): Use a temporary buffer
22692 REAL_DEV for the working space. Copy it to DEV before returning.
22693 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
22694 buffer cache consistent.
22695 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
22696 strncmp. The previous value was merely wrong.
22697 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
22698
22699 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
22700 FAT size is 12. The previous value was merely wrong.
22701
22702 * kern/main.c (pupa_main): Don't split the starting message from
22703 newlines.
22704
22705 * kern/term.c (pupa_putchar): Put CR after LF instead of before
22706 LF, because BIOS goes crazy about character attributes in this
22707 case.
22708
1cc73a62 227092003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22710
22711 * include/i386/pc/util/biosdisk.h: New file.
22712 * util/i386/pc/biosdisk.c: Likewise.
22713 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 22714
1cc73a62 22715 * Makefile.in (INCLUDE_DISTFILES): Added
22716 include/pupa/i386/pc/util/biosdisk.h.
22717 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
22718 directory util/i386/pc.
22719 (install-local): Added a rule for sbin_UTILITIES.
22720 (uninstall): Likewise.
22721
22722 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
22723
22724 * util/misc.c (xrealloc): New function.
22725 (pupa_malloc): Likewise.
22726 (pupa_free): Likewise.
22727 (pupa_realloc): Likewise.
22728 (pupa_stop): Likewise.
22729 (pupa_putchar): Likewise.
22730
22731 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
22732
22733 * include/pupa/util/misc.h (xrealloc): Declared.
22734
22735 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
22736 macro.
22737 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
22738 (PUPA_BOOT_MACHINE_BPB_END): ... this.
22739
22740 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
22741 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22742
22743 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
22744 way should be implemented.
22745 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22746
22747 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
22748 the size of NAME for safety.
22749 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
22750 0x88.
22751
22752 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
22753 (pupa_setup_SOURCES): Likewise.
22754
22755 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
22756
08b70fe8 227572002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22758
22759 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
22760 bunch of pushl's from pusha, because this destroys the return
22761 value.
22762
62ddcc8f 227632002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22764
22765 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
22766 This means that any missing prototypes could be fatal. Also, you
22767 must take care when writing assembly code. See the comments at
22768 the beginning of startup.S, for more details.
f19dbdb7 22769
62ddcc8f 22770 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
22771 compilation mechanism.
22772 (pupa_chainloader_real_boot): Likewise.
22773 (pupa_biosdisk_rw_int13_extensions): Likewise.
22774 (pupa_biosdisk_rw_standard): Likewise.
22775 (pupa_biosdisk_check_int13_extensions): Likewise.
22776 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
22777 (pupa_biosdisk_get_diskinfo_standard): Likewise.
22778 (pupa_get_memsize): Likewise.
22779 (pupa_get_mmap_entry): Likewise.
22780 (pupa_console_putchar): Likewise.
22781 (pupa_console_setcursor): Likewise.
22782 (pupa_getrtsecs): Use pushl instead of push.
22783
22784 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
22785 memory instead of the stack for a mmap entry, because some
22786 BIOSes may ignore the maximum size and overflow.
22787
22788 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
22789
22790 * genmk.rb (PModule#rule): Compile automatically generated
22791 sources with module-specific CFLAGS as well as other sources.
22792
9962ed99 227932002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22794
22795 * configure.ac: Check ld.
22796 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
22797 respectively, before checking endianness and sizes.
22798
22799 * Makefile.in (LD): New variable.
f19dbdb7 22800
abdfc3c5 228012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22802
22803 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
22804
6a161fa9 228052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22806
22807 * Changelog: New file.
22808